]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
[gcc.git] / gcc / ChangeLog
1 Sat Mar 8 19:22:30 CET 2003 Jan Hubicka <jh@suse.cz>
2
3 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
4 * gt-cgraph.h: New GC file.
5 * cgraph.c (known_fns): New static variable.
6 (cgraph_node): Add the decl into varray.
7
8 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
9
10 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
11
12 2003-03-08 Richard Earnshaw <rearnsha@arm.com>
13
14 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
15 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
16 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
17 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
18 All callers changed.
19 * arm.md, arm.h, arm-protos.h: Updated.
20
21 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
22 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
23 * arm.c (arm_regno_class, f_register_operand): Updated.
24
25 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
26
27 * config/cris/cris.h: Remove EGCS references.
28 (CPP_SPEC): Remove "-$".
29 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
30
31 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
32
33 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
34 preference to CPP_PREDEFINES.
35
36 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
37
38 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
39
40 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
41
42 * config/h8300/h8300.md (*extzv_16_8): New.
43
44 Sat Mar 8 14:13:35 CET 2003 Jan Hubicka <jh@suse.cz>
45
46 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
47 * cgraph.h: (cgraph_local_info): Add can_inline_once
48 (cgraph_global_info): Add inline_once.
49 (cgraph_node): Add previous.
50 (cgraph_remove_node): New.
51 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
52 function.
53 (cgraph_optimize): Call it.
54 (cgraph_finalize_function): Set inlinable flags.
55 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
56 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
57 (cgraph_expand_function): Likewise.
58 * cgraph.c
59 (cgraph_node): Put nodes into doubly linked chain.
60 (cgraph_remove_node): New function.
61 * flags.h (flag_inline_functions_called_once): Declare.
62 * tree-inline.c: Include cgraph.h
63 (inlinable_functions_p): Add extra argument to bypass limits.
64 (expand_call_inline): Obey cgraph flag.
65 * tree-inline.h (tree_inlinable_function_p): Update prototype.
66
67 2003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
68
69 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
70 irreducible loops.
71
72 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
73 loops info correctly.
74
75 2003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
76
77 PR middle-end/7796
78 * unroll.c (calculate_giv_inc): Handle constants being
79 loaded with LSHIFTRT.
80
81 2003-03-07 David Edelsohn <edelsohn@gnu.org>
82
83 * config/rs6000/rs6000.c (processor_target_table): Do not disable
84 GP optional instructions on Power3, Power4, 620, and 630.
85
86 2003-03-07 Kazu Hirata <kazu@cs.umass.edu>
87
88 * calls.c: Fix comment formatting.
89 * cfgloopanal.c: Likewise.
90 * cfgloopmanip.c: Likewise.
91 * combine.c: Likewise.
92 * dwarf2out.c: Likewise.
93 * ggc-common.c: Likewise.
94 * langhooks.c: Likewise.
95 * loop-unroll.c: Likewise.
96 * loop.c: Likewise.
97 * ra-build.c: Likewise.
98 * sbitmap.c: Likewise.
99 * toplev.c: Likewise.
100
101 2003-03-07 James E Wilson <wilson@tuliptree.org>
102
103 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
104
105 2003-03-07 Geoffrey Keating <geoffk@apple.com>
106
107 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
108 support -no-integrated-cpp.
109
110 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
111 than langhooks.name.
112
113 2003-03-07 Michael Matz <matz@suse.de>
114
115 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
116 (DF_FOR_REGALLOC): New.
117 * df.c (df_ref_record): Set DF_REF_STRIPPED.
118 (read_modify_subreg_p): Simplify.
119 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
120 Use DF_FOR_REGALLOC.
121 * ra.h (struct web): New member subreg_stripped.
122 (invalid_mode_change_regs): Declare.
123 * ra.c (invalid_mode_change_regs): New.
124 (init_ra): Initialize it.
125 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
126 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
127 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
128 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
129 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
130
131 2003-03-07 Richard Earnshaw <rearnsha@arm.com>
132
133 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
134 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
135 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
136 machine description file from ...
137 * cirrus.md: ... here.
138
139 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
140
141 * config/h8300/h8300.md (a peephole2): Don't use
142 reg_overlap_mentioned_p.
143
144 2003-03-06 Geoffrey Keating <geoffk@apple.com>
145
146 * c-pch.c: Include langhooks.h.
147 (IDENT_LENGTH): New.
148 (get_ident): New.
149 (pch_ident): Delete.
150 (pch_init): Use get_ident, IDENT_LENGTH.
151 (c_common_valid_pch): Likewise. Also, use actual language
152 in warning message.
153 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
154
155 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
156 c-parse.in.
157 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
158 gt-objc-objc-act.h.
159 (gt-objc-objc-act.h): New rule.
160 * objc/lang-specs.h: Support PCH.
161 * objc/objc-act.c: Include gt-objc-objc-act.h.
162 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
163 (build_selector_reference_decl): Move idx out, mark for PCH.
164 (build_class_reference_decl): Likewise.
165 (build_objc_string_decl): Move *_idx out, mark for PCH.
166 (build_tmp_function_decl): Move xxx out, mark for PCH.
167
168 2003-03-06 Dale Johannesen <dalej@apple.com>
169
170 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
171 global functions for inlining on Darwin.
172
173 2003-03-06 Vladimir Makarov <vmakarov@redhat.com>
174
175 * haifa-sched.c (schedule_block): Don't call reorder when sorting
176 is prohibited.
177
178 2003-03-06 Neil Booth <neil@daikokuya.co.uk>
179
180 * Makefile.in (c-ppoutput.o): Update.
181 * c-common.h (init_pp_output): New.
182 (preprocess_file): Update.
183 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
184 Register builtins.
185 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
186 Make call to cpp_read_main_file common to whether preprocessing
187 or not. Don't register builtins.
188 * c-ppoutput.c: Include c-pragma.h.
189 (setup_callbacks): Rename init_pp_output.
190 (preprocess_file): No longer setup callbacks or call
191 cpp_read_main_file.
192 * cpphash.h (_cpp_init_mbchar): New.
193 * cppinit.c (init_library): Call _cpp_init_mbchar.
194 * cpplex.c (_cpp_init_mbchar): New.
195
196 2003-03-06 Roger Sayle <roger@eyesopen.com>
197
198 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
199 MEM, try loading the MEM into a register and taking the low-part
200 of that, to help CSE see the use of the MEM in its true mode.
201
202 2002-03-05 Tom Tromey <tromey@redhat.com>
203
204 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
205 Define.
206
207 2002-03-05 Nick Clifton <nickc@cambridge.redhat.com>
208
209 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
210 operand 2.
211 ("*ineqbranchsi"): Likewise.
212
213 2002-03-05 Andrew Haley <aph@cambridge.redhat.com>
214
215 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
216 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
217 register store followed by a stack increment.
218
219 2002-03-05 Chris Moller <cmoller@redhat.com>
220
221 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
222 to inhibit saving CARRY_REGS.
223
224 * config/stormy16/stormy16.c (xs_hi_general_operand):
225 added predicate to detect and error-out on out-of-range
226 const_ints for movhi.
227 * config/stormy16/stormy16.md (movhi): use
228 xs_hi_general_operand.
229
230 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
231 added a check for local vbl size overflow.
232 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
233 added predicate to detect and error-out on out-of-range
234 const_ints for addhi and subhi.
235 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
236 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
237
238 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
239 add a term to accept PRE_MODIFY addresses.
240 * config/stormy16/stormy16.c (xstormy16_expand_move):
241 add code to expand PRE_MODIFY addresses to an add followed
242 by a move.
243
244 2003-03-06 Jason Merrill <jason@redhat.com>
245
246 * tree-inline.c (inlinable_function_p): Revert earlier change
247 pending investigation.
248
249 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
250
251 * config/h8300/h8300.md (a new peephole2): New.
252
253 Thu Mar 6 14:20:15 CET 2003 Jan Hubicka <jh@suse.cz>
254
255 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
256
257 2003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
258
259 * dwarf2out.c (size_of_die): Compute size of external reference to
260 die correctly.
261
262 2003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
263
264 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
265 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
266 expanders.
267
268 2003-03-05 Roger Sayle <roger@eyesopen.com>
269
270 * expr.h (lang_expand_expr): Delete obsolete prototype.
271
272 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
273
274 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
275
276 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
277
278 * config/h8300/h8300.md (a peephole2): Generalize to
279 accept a memory operand.
280
281 Wed Mar 5 19:34:18 2003 Olivier Hainque <hainque@act-europe.fr>
282
283 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
284 * config/alpha/alpha.c (print_operand, case '+'): New.
285 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
286 (call_value_osf_1_noreturn): Likewise.
287
288 Wed Mar 5 18:55:02 2003 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
289
290 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
291 (expand_end_bindings): Likewise.
292
293 2003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
294
295 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
296 (epilogue): Don't generate return_external_pic when emitting PA 2.0
297 code.
298
299 2003-03-05 Aldy Hernandez <aldyh@redhat.com>
300
301 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
302
303 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
304
305 * hooks.c (hook_rtx_rtx_null): New.
306
307 * hooks.h (hook_rtx_rtx_null): Protoize.
308
309 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
310 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
311
312 * target.h (struct gcc_target): Add dwarf_register_span.
313
314 * dwarf2out.c (multiple_reg_loc_descriptor): New.
315 (one_reg_loc_descriptor): New.
316 (reg_loc_descriptor): Add support for values that span more than
317 one register.
318
319 Wed Mar 5 23:16:57 CET 2003 Jan Hubicka <jh@suse.cz>
320
321 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
322 * alias.c: Include cgraph.h
323 (mark_constant_function): Use cgraph_rtl_info.
324 * calls.c: Include cgraph.h
325 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
326 calls.
327 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
328 * cgraph.c (cgraph_rtl_info): New function.
329 * cgraph.h (cgraph_rtl_info): Declare
330 (cgraph_rtl_info): Likewise.
331 * function.h (struct function): Add recursive_call_emit.
332 * toplev.c: Include cgraph.h.
333 (rest_of_compilation): Set preferred_incoming_stack_boundary.
334
335 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
336
337 * config/h8300/h8300.c (output_simode_bld): Clear the
338 destination first if possible.
339 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
340 alternative.
341 (extzv_1_r_inv_h8300hs): Likewise.
342
343 2003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
344
345 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
346 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
347 * cfgloop.c (flow_loop_free): Made global.
348 (establish_preds): New static function.
349 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
350 (get_loop_exit_edges): New.
351 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
352 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
353 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
354 loops.
355 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
356 removability of an edge.
357 (fix_irreducible_loops): New static function.
358 (find_path, remove_path): Add ability to remove enclosing loops.
359 (unloop): New.
360 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
361 flags.
362 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
363 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
364 not neccessary.
365 (decide_peel_completely, peel_loops_completely): Allow complete peeling
366 of non-duplicable once rolling loops.
367 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
368
369 Wed Mar 5 21:40:57 2003 J"orn Rennecke <joern.rennecke@superh.com>
370
371 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
372 for align_jumps is 4.
373
374 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
375 use GENERAL_REGS.
376
377 2003-03-05 Stephane Carrez <stcarrez@nerim.fr>
378
379 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
380 according to va_arg type.
381 (EXPAND_BUILTIN_VA_ARG): Remove.
382 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
383 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
384
385 2003-03-05 David Edelsohn <edelsohn@gnu.org>
386
387 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
388 else clauses.
389
390 2003-03-05 Michael Matz <matz@suse.de>
391
392 * i386/i386.c (ix86_save_reg): Also test
393 current_function_uses_const_pool.
394
395 2003-03-05 Michael Matz <matz@suse.de>
396
397 * unwind.h: Add the GPL exception.
398 * Makefile.in (USER_H): Add unwind.h.
399
400 2003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
401
402 PR c/9799
403 * c-typeck.c (push_init_level): Add sanity check.
404
405 Wed Mar 5 02:04:04 CET 2003 Jan Hubicka <jh@suse.cz>
406
407 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
408 RTL inlining is done.
409
410 * cgraphunit.c (cgraph_mark_local_functions): New local function.
411 (cgraph_optimize): Mark local functions.
412 * i386-protos.h (init_cumulative_args): Update prototype.
413 * i386.c (init_cumulative_args): Use register passing convention for
414 local functions.
415
416 * cgraph.c (cgraph_global_info_ready): New global variable
417 (cgraph_local_info, cgraph_global_info): New functions.
418 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
419 structures.
420 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
421 Declare.
422 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
423 (cgraph_mark_functions_to_output): Use inline_many.
424 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
425 (cgraph_expand_functions): Expand inline functions last.
426 (cgraph_optimize): Do not emit uneeded functions.
427
428 2003-03-04 Steve Ellcey <sje@cup.hp.com>
429
430 * expr.c (convert_modes): Check for legal hard register.
431
432 2003-03-04 Tom Tromey <tromey@redhat.com>
433
434 * doc/sourcebuild.texi (Front End Directory): Document tags.
435 * configure: Rebuilt.
436 * configure.in (target_list): Added tags.
437 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
438 TAGS files by reference.
439 * objc/Make-lang.in (objc.tags): New target.
440
441 2003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
442
443 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
444 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
445 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
446 gcov_read_string, gcov_write_length): Modified to enable reading/
447 writing of whole .da file just once.
448 (da_file_open, da_file_close, da_file_eof, da_file_error,
449 da_file_position, da_file_seek, da_file_write, da_file_read): New
450 functions.
451 (actual_da_file, actual_da_file_position, actual_da_file_length,
452 actual_da_file_buffer, actual_da_file_buffer_size): New static
453 functions.
454 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
455 just once.
456
457
458 2003-03-04 Andreas Schwab <schwab@suse.de>
459
460 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
461 offset without frame pointer.
462
463 2003-03-04 Steve Ellcey <sje@cup.hp.com>
464
465 * expr.c (expand_expr): Call promote_mode to set unsignedp.
466
467 2003-03-04 Daniel Jacobowitz <drow@mvista.com>
468
469 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
470 * configure: Regenerated.
471 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
472
473 2003-03-04 Andreas Jaeger <aj@suse.de>
474
475 * configure.in: Check for <memcheck.h>.
476 * configure: Regenerated.
477
478 * config.in: Define HAVE_MEMCHECK_H.
479
480 * ggc-common.c: Use <memcheck.h> if available instead of
481 <valgrind.h>.
482 * ggc-page.c: Likewise.
483 * cppfiles.c: Likewise.
484
485 2003-03-04 Kazu Hirata <kazu@cs.umass.edu>
486
487 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
488
489 2003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
490
491 PR c/9262
492 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
493 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
494
495 Tue Mar 4 11:30:04 CET 2003 Jan Hubicka <jh@suse.cz>
496
497 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
498 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
499 for -O3.
500
501 2003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
502
503 * configure.in: Delete three unused variables. Move a variable
504 definition closer to its use. Simplify use_collect2 logic. Start to
505 organize. Simplify tests for in-tree gas and ld.
506 * configure: Regenerate.
507
508 2003-03-04 Neil Booth <neil@daikokuya.co.uk>
509
510 * Makefile.in: Update.
511 * c-common.c (flag_no_line_commands, flag_no_output,
512 flag_dump_macros, flag_dump_includes): New.
513 * c-common.h (flag_no_line_commands, flag_no_output,
514 flag_dump_macros, flag_dump_includes, preprocess_file): New.
515 (init_c_lex): Update prototype.
516 * c-lex.c (init_c_lex): Update prototype; move some code to
517 c_common_init.
518 * c-opts.c (preprocess_file): Subsume into c_common_init.
519 (c_common_decode_option): Update flags.
520 (c_common_init): Move code from preprocess_file and init_c_lex.
521 (sanitize_cpp_opts): Update.
522 * c-ppoutput.c: New, cppmain.c almost verbatim.
523 * cpphash.h (struct printer): Remove.
524 (struct cpp_reader): Remove print.
525 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
526 cpp_preprocess_file): Remove.
527 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
528 and dump_includes.
529 * cppmain.c: Remove.
530 * doc/passes.texi: Update.
531
532 2003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
533
534 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
535 (assign_stack_local_1): Perform overall stack alignment only when
536 STACK_ALIGNMENT_NEEDED is non-zero.
537 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
538
539 * pa.c (compute_frame_size): Rename fsize to size. Account for
540 alignment to a word boundary before general register save block. Only
541 account for double-word alignment before floating point register save
542 block if one or more are saved. Don't allocate space for %r3 when
543 frame pointer is needed.
544 (hppa_expand_prologue): Include alignment to word boundary in local
545 frame size.
546 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
547 (STACK_ALIGNMENT_NEEDED): Define.
548
549 2003-03-04 Kevin Buettner <kevinb@redhat.com>
550
551 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
552 global register variables.
553
554 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
555
556 * reload.c (reload_adjust_reg_for_mode): New function.
557 (subst_reloads): Call it.
558 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
559 * reload.h (reload_adjust_reg_for_mode): Declare.
560 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
561 Call it.
562
563 2003-03-03 James E Wilson <wilson@tuliptree.org>
564
565 * optabs.c (add_equal_note): Delete SUBREG_REG use.
566 Fixes PR c/7872.
567
568 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
569
570 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
571 (*ixorsi3_lshiftrt_16): New.
572 (*iorsi3_ashift_16): Remove.
573
574 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
575
576 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
577 pattern.
578
579 2003-03-03 Geoffrey Keating <geoffk@apple.com>
580
581 * doc/install.texi (Specific): Update entry for powerpc-darwin.
582
583 2003-03-03 Richard Henderson <rth@redhat.com>
584
585 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
586
587 2003-03-03 David Edelsohn <edelsohn@gnu.org>
588
589 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
590 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
591 (rs6000_variable_issue): Do not return negative value.
592 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
593 scheduling pass.
594
595 2003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
596
597 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
598 prune_unused_types calls.
599
600 2003-03-03 Jason Merrill <jason@redhat.com>
601
602 * tree-inline.c (find_builtin_longjmp_call): Save and restore
603 lineno and input_filename.
604 (find_alloca_call): Likewise.
605 (inlinable_function_p): Run the langhook earlier.
606
607 * calls.c (compute_argument_addresses): Give the new MEMs a
608 minimum alignment of PARM_BOUNDARY.
609
610 Mon Mar 3 20:45:25 2003 J"orn Rennecke <joern.rennecke@superh.com>
611
612 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
613 subtarget_asm_isa_spec.
614 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
615 (ASM_SPEC): Define as SH_ASM_SPEC.
616 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
617 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
618 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
619 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
620
621 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
622 and align_jumps if not set.
623 Force align_jumps to be at least 2.
624 When relaxing, force align_functions to be at least the maximum of
625 align_loops, align_jumps and 4.
626 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
627 (sh_loop_align): Honour align_loops_log.
628
629 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
630 to check for indirect_jump_scratch.
631 (indirect_jump_scratch): Add second set.
632 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
633 when looking for indirect_jump_scratch.
634 Extract scratch register taking new structure of indirect_jump_scratch
635 into account.
636 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
637
638 Mon Mar 3 19:07:21 CET 2003 Jan Hubicka <jh@suse.cz>
639
640 * calls.c (rtx_for_function_call): Take the address as an argument
641 (expand_call): Do not modify the expression.
642
643 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
644 optimizing.
645
646 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
647
648 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
649 TARGET_H8300H and TARGET_H8300S.
650
651 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
652
653 * config/h8300/h8300.md (a peephole2): New.
654
655 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
656
657 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
658 operands[0] and operands[1] are different.
659
660 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
661
662 * reload1.c (reload_cse_move2add): Remove variable success.
663
664 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
665
666 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
667 warnings.
668
669 2003-03-02 Richard Henderson <rth@redhat.com>
670
671 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
672 * config.in, configure: Rebuild.
673 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
674 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
675 paired ldtoffx and ldxmov annotations.
676 (load_symptr_internal1): Remove.
677 (load_symptr_high, load_symptr_low): New.
678
679 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
680
681 * c-incpath.c (add_path): Fix sysp assignment.
682
683 2003-03-02 Kurt Garloff <garloff@suse.de>
684
685 * params.def: Introduce parameter max-inline-insns-rtl for
686 a separate limit for the RTL inliner.
687 * params.h: Likewise.
688 * integrate.c (function_cannot_inline_p): Use it.
689 * toplev.c (decode_f_option): Set multiple parameters
690 controlling inlining with -finline-limit.
691 * params.def: Fix orthographic and typographic errors.
692 * doc/invoke.texi: Document parameters controlling inlining
693 and the way -finline-limit sets multiple of them.
694
695 * tree.h (struct tree_decl): Introduce inlined_function_flag,
696 recording whether the function became eligible for inlining
697 by a compiler flag rather than the declaration.
698 Provide DID_INLINE_FUNC macro to access it.
699 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
700 * cp/decl.c (grokfndecl): Likewise.
701 * toplev.c (rest_of_compilation): Likewise.
702 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
703 * print-tree.c (print_node): Report it.
704 * params.def: Introduce new max-inline-insns-auto limit.
705 * params.h: Likewise.
706 * tree-inline.c (inlinable_function_p): Apply it to functions
707 with DID_INLINE_FUNC set.
708 * toplev.c (decode_f_option): Initialize it from -finline-limit
709 value.
710 * doc/invoke.texi: Document new parameter.
711
712 2003-03-02 Geoffrey Keating <geoffk@apple.com>
713
714 * fix-header.c (read_scan_file): Don't reference simplify_path.
715
716 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
717
718 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
719 min/max instructions by default as may result in reload errors.
720
721 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
722
723 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
724 avoid reload problems; define split for it.
725
726 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
727
728 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
729 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
730 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
731 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
732 rotatert and rotate.
733 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
734 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
735 ("*rotrhi3_addr"): New split for shift insns on address register.
736 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
737 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
738 (___rotrhi3): Likewise.
739 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
740
741 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
742
743 * toplev.c (aux_base_name): Moved from toplev.h.
744 (filename): Constify.
745 (lang_dependent_init): Don't duplicate name.
746 (process_options): Set aux_base_name here, not...
747 (do_compile): ...here. Change protoype.
748 (toplev_main): Move some code from do_compile.
749 * toplev.h: Remove aux_base_name.
750
751 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
752
753 * config/h8300/h8300-protos.h: Add a prototype for
754 iorxor_operator.
755 * config/h8300/h8300.c (print_operand): Handle 'c'.
756 (iorxor_operator): New.
757 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
758 * config/h8300/h8300.md (*iorhi3_zext): Remove.
759 (*iorsi3_zexthi): Likewise.
760 (*iorsi3_zextsi): Likewise.
761 (*xorhi3_zextqi): Likewise.
762 (*xorsi3_zexthi): Likewise.
763 (*xorsi3_zextsi): Likewise.
764 (*ixorhi3_zext): New.
765 (*ixorsi3_zext_qi): Likewise.
766 (*ixorsi3_zext_hi): Likewise.
767
768 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
769
770 * c-incpath.c (remove_component_p, simplify_path): Move back to
771 cppfiles.c.
772 (remove_duplicates): Use cpp_simplify_path.
773 * c-incpath.h (simplify_path): Remove.
774 * c-lex.c: Don't include c-incpath.h.
775 (init_c_lex): Remove simplify_path.
776 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
777 (find_or_create_entry, validate_pch): Revert.
778
779 2003-03-02 Ashif Harji <asharji@uwaterloo.ca>
780
781 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
782 an external cpp during compilation.
783 (option_map): Likewise.
784 * objc/lang-specs.h (default_compilers): Similarly.
785 * doc/invoke.texi: Document -no-integrated-cpp flag.
786
787 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
788
789 * config/h8300/h8300.md (zero_extendqisi2): Change to an
790 expander.
791 (*zero_extendqisi2_h8300): New.
792 (*zero_extendqisi2_h8300hs): New.
793 (two splitters): New.
794
795 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
796
797 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
798
799 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
800
801 * config/h8300/h8300.md (a peephole2): Remove dead code.
802
803 2003-03-01 Roger Sayle <roger@eyesopen.com>
804
805 PR c++/9367
806 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
807 (BT_FN_INT_CONST_STRING_VALIST_ARG,
808 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
809 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
810 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
811 BT_FN_INT_STRING_CONST_STRING_VAR,
812 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
813 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
814 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
815 ATTR_NONNULL_3): Also include the nothrow attribute.
816 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
817 vsnprintf, vscanf, vsscanf): Don't define attributes here.
818 * builtins.def (putchar, puts): Make full C89 built-ins.
819 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
820 vsscanf, vsnprintf, vsprintf): New built-ins.
821 * c-common.c (c_common_nodes_and_builtins): Handle new macro
822 DEF_FUNCTION_TYPE_VAR_3.
823
824 * doc/extend.texi: Document these new built-in functions.
825
826 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
827
828 * config/h8300/h8300.md (a peephole2): New.
829
830 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
831
832 * predict.c (estimate_bb_frequencies): Correctly set
833 real_values_initialized after initialization.
834
835 2003-03-01 Neil Booth <neil@daikokuya.co.uk>
836
837 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
838 cppinit.o, cppdefault.o, fix-header): Update.
839 * c-incpath.c: New file.
840 * c-incpath.h: New file.
841 * c-lex.c: Include c-incpath.h.
842 (init_c_lex): Register path simplifier.
843 * c-opts.c: Include cppdefault.h and c-incpath.h.
844 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
845 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
846 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
847 (missing_arg, c_common_decode_option): Handle them.
848 (c_common_post_options): Register include chains.
849 (print_help): Update.
850 * cppdefault.h (struct default include): Update.
851 Move some macros to ...
852 * cppdefault.c: ... here.
853 (cpp_include_defaults): Add extra field add_sysroot.
854 * cppfiles.c (include_file, search_from, find_or_create_entry,
855 cpp_included, find_include_file, remap_filename): Update for
856 renaming of search_path to cpp_path, and of the chain headers.
857 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
858 * cpphash.h (struct search_path): Move to cpplib.h.
859 (struct cpp_buffer, struct cpp_reader): Update.
860 (_cpp_simplify_pathname): Remove.
861 * cppinit.c: Don't include prefix.h and cppdefault.h.
862 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
863 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
864 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
865 no_pth, cpp_handle_options): Remove.
866 (struct pending_option): Remove chain members.
867 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
868 cpp_handle_option): Update.
869 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
870 (struct cpp_options): Remove quote_include, bracket_include,
871 include_prefix, include_prefix_len, verbose, ignore_srcdir,
872 no_standard_includes, no_standard_cplusplus_includes.
873 (struct cpp_callbacks): Add simplify_path.
874 (cpp_handle_options): Remove.
875 * fix-header.c: Include c-incpath.h.
876 (read_scan_file): Update to use c-incpath functionality.
877 * doc/passes.texi: Update.
878
879 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
880
881 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
882 satisfies EXTRA_CONSTRAINT 'U'.
883
884 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
885
886 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
887 register.
888 (*tst_extzv_memqi_1_n): Change to a splitter.
889 (a peephole2): Update.
890
891 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
892
893 * predict.c (estimate_bb_frequencies): Initialize the sreal
894 constants once per compilation.
895
896 2003-02-28 Richard Henderson <rth@redhat.com>
897
898 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
899
900 2003-02-28 scott snyder <snyder@fnal.gov>
901
902 * flags.h: Add flag_eliminate_unused_debug_types.
903 * toplev.c: Add flag_eliminate_unused_debug_types.
904 (f_options): Add -feliminate-unused-debug-types.
905 * dwarf2out.c (struct file_table): Add emitted member.
906 (splice_child_die): Fix the parent pointer for the child being
907 spliced.
908 (lookup_filename): Maintain file_table.emitted array. Don't
909 output .file directive here.
910 (maybe_emit_file): (new)
911 (init_file_table): Set up file_table.emitted.
912 (dwarf2out_source_line): Use maybe_emit_file.
913 (dwarf2out_start_source_file): Use maybe_emit_file.
914 (dwarf2out_init): Use maybe_emit_file.
915 (prune_unused_types_walk_attribs): (new)
916 (prune_unused_types_mark): (new)
917 (prune_unused_types_walk): (new)
918 (prune_unused_types_prune): (new)
919 (prune_unused_types): (new)
920 (dwarf2out_finish): Call prune_unused_types if
921 flag_eliminate_unused_debug_types is set.
922 * doc/invoke.texi (Option Summary): Add
923 -feliminate-unused-debug-types.
924 (Debugging Options): Likewise.
925
926 2003-02-28 Geoffrey Keating <geoffk@apple.com>
927
928 * doc/invoke.texi: Change .pch to .gch.
929 * cppfiles.c (open_file_pch): Likewise.
930 * gcc.c (default_compilers): Likewise.
931
932 2003-02-28 Aldy Hernandez <aldyh@redhat.com>
933
934 * floatlib.c: Remove.
935
936 2003-02-28 Jason Merrill <jason@redhat.com>
937
938 * stor-layout.c (variable_size): Leave a "minus 1" outside the
939 SAVE_EXPR.
940
941 2003-02-28 David Edelsohn <edelsohn@gnu.org>
942
943 * config/rs6000/power4.md: Add compare bypass.
944
945 2003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
946
947 * config/netbsd.h: Update copyright years.
948 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
949 -pthread is specified on the command line.
950
951 2003-02-28 Dale Johannesen <dalej@apple.com>
952
953 * loop.c (struct movable): Add insert_temp, shrink savemode.
954 (scan_loop): Accept invariants that require copying; mark as
955 insert_temp.
956 (combine_movables): Don't combine insert_temp movables.
957 (move_movables): Insert copies for insert_temp movables.
958 Don't record the info based on regno for insert_temp's.
959
960 2003-02-28 Joel Sherrill <joel@OARcorp.com>
961
962 PR 9638/other
963 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
964 this constant defaults to 1.
965
966 2003-02-28 Bob Wilson <bob.wilson@acm.org>
967
968 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
969
970 2003-02-28 Richard Earnshaw <rearnsha@arm.com>
971
972 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
973 ARMv5e processor, not just for XScale. Instructions are predicable.
974 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
975
976 2003-02-28 Nick Clifton <nickc@redhat.com>
977
978 * config/arm/arm.c (note_invalid_constants): Change parameter type
979 from bool to int.
980
981 2003-02-28 Kazu Hirata <kazu@cs.umass.edu>
982
983 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
984 test of bit 7.
985 (*tst_extzv_memqi_1_n): Likewise.
986 (a peephole2): New.
987
988 2002-02-28 Richard Sandiford <rsandifo@redhat.com>
989
990 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
991 #ifndef __mips16.
992
993 Fri Feb 28 11:09:14 CET 2003 Jan Hubicka <jh@suse.cz>
994
995 * combine.c (gen_lowpart_for_combine): Update handling of
996 subregs_of_mode
997 * flow.c (life_analysis, mark_used_regs): Likewise.
998 * regclass.c (subregs_of_mode): Turn into single bitmap.
999 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
1000 dealing with subregs_of_mode
1001 * regs.h (subregs_of_mode): Update prototype.
1002
1003 2003-02-28 Josef Zlomek <zlomekj@suse.cz>
1004
1005 * emit-rtl.c (set_reg_attrs_for_parm): New function.
1006 * rtl.h (set_reg_attrs_for_parm): New exported function.
1007 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
1008 set_reg_attrs_from_mem.
1009
1010 2003-02-27 Roger Sayle <roger@eyesopen.com>
1011 Zack Weinberg <zack@codesourcery.com>
1012
1013 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
1014
1015 2003-02-27 Kazu Hirata <kazu@cs.umass.edu>
1016
1017 * reload1.c (sext_for_mode): Remove.
1018 (reload_cse_move2add): Use trunc_int_for_mode instead of
1019 sext_for_mode.
1020 (move2add_note_store): Likewise.
1021 Reset register information if we see a set in non-integer
1022 mode.
1023
1024 2003-02-27 David Edelsohn <edelsohn@gnu.org>
1025
1026 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
1027 option.
1028 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
1029 * config/rs6000/aix51.h: Same.
1030 * config/rs6000/aix52.h: Same.
1031 * config/rs6000/power4.md: Additional VMX bypasses.
1032
1033 2003-02-27 Geert Bosch <bosch@gnat.com>
1034
1035 * toplev.c (print_version): Add indentation for GGC heuristics and
1036 output after printing version information.
1037
1038 2003-02-27 James E Wilson <wilson@tuliptree.org>
1039
1040 * combine.c (simplify_comparison): Require integral mode when
1041 permuting SUBREG with AND.
1042
1043 2003-02-27 Steve Ellcey <sje@cup.hp.com>
1044
1045 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
1046
1047 2003-02-27 Nick Clifton <nickc@redhat.com>
1048
1049 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
1050 deleted when cirrus instructions were added.
1051
1052 2003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
1053
1054 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
1055 POSIX thread support by default.
1056
1057 2003-02-27 Roger Sayle <roger@eyesopen.com>
1058
1059 * config/i386/cygwin.h: Don't include any other files directly.
1060 * config/i386/mingw32.h: Don't include cygwin.h directly.
1061 * config.gcc (cygwin, mingw32, uwin): Instead make these files
1062 explicit in the tm_files variable.
1063
1064 2003-02-27 Alan Modra <amodra@bigpond.net.au>
1065
1066 * config/rs6000/rs6000.md: Add TI constant splitter.
1067
1068 2003-02-26 Alexandre Oliva <aoliva@redhat.com>
1069
1070 * builtins.c (purge_builtin_constant_p): Handle subreg of
1071 constant_p_rtx too.
1072
1073 * function.c (assign_stack_local_1): Truncate constant added to
1074 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
1075
1076 2003-02-26 David Edelsohn <edelsohn@gnu.org>
1077
1078 * config.gcc: Add power4 to PowerPC with_cpu list.
1079
1080 Wed Feb 26 19:46:25 CET 2003 Jan Hubicka <jh@suse.cz>
1081
1082 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
1083
1084 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1085
1086 * gcov-dump.c (print_prefix): Fix signedness warning.
1087 * gcov-io.h (struct counter_section, struct counter_section_data): New.
1088 (struct function_info): n_arc_counts field removed, n_counter_sections,
1089 counter_sections fields added.
1090 (struct gcov_info): arc_counts, n_arc_counts fields removed,
1091 n_counter_sections, counter_sections fields added.
1092 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
1093 profile sections.
1094 * profile.h (MAX_COUNTER_SECTIONS): New.
1095 (struct section_info): New.
1096 (struct profile_info): count_instrumented_edges,
1097 count_edges_instrumented_now fields removed, n_sections, section_info
1098 fields added.
1099 (find_counters_section): Declare.
1100 * profile.c (struct function_list): count_edges field removed,
1101 n_counter_sections, counter_sections fields added.
1102 (set_purpose, label_for_tag, build_counter_section_fields,
1103 build_counter_section_value, build_counter_section_data_fields,
1104 build_counter_section_data_value, build_function_info_fields,
1105 build_function_info_value, build_gcov_info_fields,
1106 build_gcov_info_value): New static functions.
1107 (find_counters_section): New function.
1108 (instrument_edges, get_exec_counts, compute_branch_probabilities,
1109 branch_prob, create_profiler): Modified to support multiple profile
1110 sections.
1111
1112 2003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1113
1114 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
1115 is 8 * STACK_BOUNDARY.
1116 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
1117
1118 2003-02-26 Michael Matz <matz@suse.de>
1119
1120 * ra-colorize.c (merge_moves): Fix list handling.
1121
1122 2003-02-26 Nick Clifton <nickc@redhat.com>
1123
1124 * config/arm/arm.c (is_load_address): Rename to...
1125 (arm_memory_load_p) ... this and make it check for SUBREGs and
1126 constant loads that will be converted into loads from the
1127 minipool.
1128 (is_cirrus_insn): Rename to ...
1129 (arm_cirrus_insn_p): ... this, for consistency. Replace test
1130 of CIRRUS_NO with CIRRUS_NOT.
1131 (cirrus_reorg): Use renamed functions.
1132 (note_invalid_constants): Change from a void function to bool.
1133 Add an extra parameter, saying whether the fixups should be
1134 pushed. Return true if fixups are needed.
1135 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
1136 of CIRRUS_NO with CIRRUS_NOT.
1137 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
1138 other floating point co-processors can also affect this.
1139 * config/arm/arm.md ("type" attribute): Add mav_farith and
1140 mav_dmult. Replace references to "cirrus_type" attribute with
1141 "type".
1142 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
1143 ("cirrus_type" attribute): Delete - use "type" instead.
1144 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
1145 'normal'.
1146
1147 Tue Feb 25 22:46:27 CET 2003 Jan Hubicka <jh@suse.cz>
1148
1149 * objc-act.c: Include cgraph.h
1150 (mark_referenced_methods): New function.
1151 (objc_init): Call it.
1152 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
1153
1154 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
1155 mode.
1156
1157 * optabs.c (expand_fix): Do not widen the input operand.
1158
1159 * expr.c (emit_group_store): Fix crash when converting single
1160 register into complex register.
1161
1162 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
1163 * alias.c: Include timevar.h
1164 (init_alias_analysis): Set timevar
1165 * jump.c: Include timevar.h
1166 (rebuild_jump_labels): Set timevar
1167 * regcalss.c: Include timevar.h
1168 (reg_scan): Set timevar
1169 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
1170
1171 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1172
1173 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
1174
1175 * Makefile.in (loop-unroll.o): New.
1176 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
1177 (unroll_and_peel_loops): Declare.
1178 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
1179 flag_old_unroll_loops.
1180 * loop.c (loop_invariant_p): Ditto.
1181 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
1182 flag_old_unroll_all_loops.
1183 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
1184 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
1185 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
1186 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
1187 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
1188 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
1189 PARAM_MAX_ONCE_PEELED_INSNS): New.
1190 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
1191 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
1192 instead of old one.
1193 (flag_peel_loops): New.
1194 (lang_independent_options): The new flags added.
1195 (rest_of_compilation): Call new unroller.
1196 (process_options): Setup flags for coexistence of old and new unroller.
1197 * doc/invoke.texi: Document new options.
1198 * doc/passes.texi: Document new unroller pass.
1199
1200 2003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
1201
1202 * fixinc/fixincl.x: Regenerate
1203
1204 2003-02-26 Josef Zlomek <zlomekj@suse.cz>
1205
1206 * function.c (assign_parms): Set reg_attrs for parameters passed in
1207 registers.
1208
1209 2003-02-26 Alan Modra <amodra@bigpond.net.au>
1210
1211 PR target/9681
1212 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
1213
1214 2003-02-25 David Edelsohn <edelsohn@gnu.org>
1215
1216 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
1217 pseudo-op.
1218
1219 2003-02-25 Roger Sayle <roger@eyesopen.com>
1220
1221 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
1222 * cse.c (invalidate_skipped_set): Likewise.
1223 * integrate.c (subst_constants): Likewise.
1224 * jump.c (reversed_comparison_code_parts): Likewise.
1225 * loop.c (canonicalize_condition): Likewise.
1226 * simplify-rtx.c (simplify_relational_operation): Likewise.
1227
1228 2003-02-25 Roger Sayle <roger@eyesopen.com>
1229
1230 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
1231 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
1232 the appropriate macro to define built-in function.
1233 (fmod,fmodf,fmodl): New built-in functions.
1234
1235 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
1236
1237 2003-02-25 Richard Henderson <rth@redhat.com>
1238
1239 * config/i386/i386.c (function_arg): Pass variable sized
1240 structures correctly on the stack.
1241
1242 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
1243
1244 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
1245 does not reduce the cost of SET.
1246
1247 2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1248
1249 PR target/9732
1250 * config/rs6000/rs6000.c (first_reg_to_save): Handle
1251 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
1252 (rs6000_emit_prologue): Likewise.
1253 (rs6000_emit_epilogue): Likewise.
1254 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
1255 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
1256
1257 2003-02-25 Richard Henderson <rth@redhat.com>
1258
1259 * real.c (real_to_integer2): Force overflow result only for
1260 unsigned overflow.
1261
1262 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
1263
1264 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
1265
1266 2003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
1267 Richard Henderson <rth@redhat.com>
1268
1269 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
1270 there is no similar load.
1271
1272 2003-02-25 Vladimir Makarov <vmakarov@redhat.com>
1273 Richard Henderson <rth@redhat.com>
1274
1275 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
1276 sched-rgn.c.
1277 (add_forward_dependence): New function prototype.
1278
1279 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
1280 sched-init.h.
1281 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
1282 them to haifa-sched.c.
1283
1284 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
1285 haifa_classify_insn): Move them from sched-rgn.c.
1286
1287 * sched-deps.c (add_dependence): Return flag of creating a new
1288 entry.
1289 (add_forward_dependence): New function.
1290 (compute_forward_dependences): Use the function.
1291
1292 * sched-ebb.c (earliest_block_with_similiar_load): New function.
1293 (add_deps_for_risky_insns): New function.
1294 (schedule_ebb): Call the function.
1295
1296 2003-02-20 Aldy Hernandez <aldyh@redhat.com>
1297
1298 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
1299 TARGET_VECTOR_OPAQUE_P. Document accordingly.
1300
1301 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
1302 opaque types fail.
1303
1304 * c-typeck.c (comptypes): Change call to vector_types_compatible
1305 to vector_opaque_p.
1306 (convert_for_assignment): Call vector_opaque_p instead of
1307 vector_types_compatible.
1308 (really_start_incremental_init): Disallow initialization of opaque
1309 types.
1310
1311 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
1312 Define TARGET_VECTOR_OPAQUE_P.
1313 (TARGET_INITIALIZER): Same.
1314
1315 * target.h (struct gcc_target): Remove vector_types_compatible.
1316 Add vector_opaque_p.
1317
1318 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
1319 Remove.
1320 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
1321 a vector type. Change return type to bool.
1322 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
1323 (TARGET_VECTOR_OPAQUE_P): Define.
1324
1325 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
1326 target hook.
1327 Include target.h.
1328 (cp_parser_init_declarator): Fix typo in function comments.
1329
1330 Tue Feb 25 12:35:34 CET 2003 Jan Hubicka <jh@suse.cz>
1331
1332 * Makefile.in (lcm.o): Add dependency on function.h
1333 * lcm.c (function.h): Include.
1334 * i386.c (machine_function, ix86_stack_locals,
1335 * ix86_save_varrargs_registers) : Move to
1336 ...
1337 * i386.h (machine_function, ix86_stack_locals,
1338 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
1339 (ix86_optimize_mode_switching): New.
1340 * i386.md (fix patterns): Set ix86_optimize_mode_switching
1341
1342 2003-02-25 Nick Clifton <nickc@redhat.com>
1343
1344 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
1345 of fourth arg is 'fndecl' not 'indirect'. Update comment
1346 describing the function's parameters.
1347
1348 Mon Feb 24 22:08:22 CET 2003 Jan Hubicka <jh@suse.cz>
1349
1350 * combine.c (simplify_shift_const): Fix previous patch.
1351
1352 2003-02-24 Jeff Law <law@redhat.com>
1353
1354 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
1355 alternative.
1356 (testsi_1, testhi_1, testqi_1): Likewise.
1357
1358 2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1359
1360 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
1361 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
1362 * doc/extend.texi (Tru64 Pragmas): Reflect this.
1363
1364 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
1365 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
1366 * fixinc/fixincl.x: Regenerate.
1367 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
1368 testcase.
1369 Fixes PR c/5059, c/6126, other/9671.
1370
1371 2003-02-24 Roger Sayle <roger@eyesopen.com>
1372
1373 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
1374 from handle_braces in "%{...}".
1375
1376 2003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
1377
1378 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
1379 (prepare_move_operands): Handle TLS operands.
1380 (tls_symbolic_operand): New.
1381 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
1382 (legitimize_pic_address): Do nothing for the TLS symbol.
1383 (sh_encode_section_info): Handle TLS case.
1384 (sh_strip_name_encoding): Drop TLS encoding.
1385 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
1386 * config/sh/sh.h (SH_TLS_ENCODING): Define.
1387 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
1388 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
1389 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
1390 * config/sh/sh.md: Define TLS UNSPEC constants.
1391 (type): Add tls_load.
1392 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
1393 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
1394 ("tls_initial_exec"): New insn.
1395 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
1396 ("load_gbr"): New insn.
1397
1398 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
1399 * configure: Regenerate.
1400
1401 2003-02-24 Alan Modra <amodra@bigpond.net.au>
1402
1403 PR 9297, PR 9722
1404 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
1405 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
1406 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
1407 (enum block_op_methods): Reorder for better store_expr optimization.
1408 * expr.c (store_expr): Test bit 1 of "want_value" for call param
1409 stores, test bit 0 for original want_value meaning. Pass
1410 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
1411 recursive calls, and calls to expand_param.
1412 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
1413 expected, set target to 0 rather than to subtarget. Formatting.
1414
1415 2003-02-23 Kazu Hirata <kazu@cs.umass.edu>
1416
1417 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
1418
1419 2003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1420
1421 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
1422 new default behavior.
1423 * ggc-common.c: Include sys/resource.h.
1424 (ggc_rlimit_bound): New function.
1425 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
1426 defaults to account for rlimits.
1427
1428 2003-02-22 Richard Henderson <rth@redhat.com>
1429
1430 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
1431
1432 2003-02-22 Kelley Cook <kelley@dwhoops.info>
1433
1434 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
1435 (ix86_tune_string): Rename from ix86_cpu_string.
1436
1437 2003-02-22 Kelley Cook <kelleycook@comcast.net>
1438
1439 * config/i386/i386.c: Replace "mcpu" with "mtune".
1440 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
1441 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
1442 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
1443 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
1444
1445 2003-02-23 Andreas Schwab <schwab@suse.de>
1446
1447 * config.gcc: Delete references to m68k/t-linux and
1448 m68k/t-linux-aout.
1449 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
1450
1451 Sat Feb 22 20:22:19 CET 2003 Jan Hubicka <jh@suse.cz>
1452
1453 * toplev.c (rest_of_compilation): Apply fotgotten hunk
1454 of track scheduling patch.
1455
1456 Sat Feb 22 19:29:28 CET 2003 Jan Hubicka <jh@suse.cz>
1457
1458 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
1459 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
1460
1461 Sat Feb 22 12:42:16 CET 2003 Jan Hubicka <jh@suse.cz>
1462
1463 * c-decl.c (c_expand_body_1): Fix.
1464
1465 Sat Feb 22 03:13:36 CET 2003 Jan Hubicka <jh@suse.cz>
1466
1467 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
1468
1469 * cfgcleanup.c (try_forward_edges): Don't check loop structures
1470 when not optimizing.
1471 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
1472 when not expensive.
1473 * toplev.c (rest_of_compilation): Duplicate loop headers only when
1474 optimizing; Delete trivially dead insns early; fix optimize check.
1475
1476 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
1477 dependency on cgraph.h
1478 * c-decl.c: Include cgraph.h
1479 (finish_function): Update call of tree_inlinable_function_p.
1480 * c-objc-common.c: Include cgraph.h
1481 * cgraph.h: New file.
1482 * cgraphunit.c: New file.
1483 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
1484 (cgraph_nodes, cgraph_n_nodes): Globalize.
1485 (cgraph_finalize_function, cgraph_finalize_compilation_unit
1486 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
1487 Move into cgraphunit.c
1488 * tree-inline.c: Include cgraph.h
1489 * tree-inline.c: Include cgraph.h
1490
1491 2003-02-22 Josef Zlomek <zlomekj@suse.cz>
1492
1493 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
1494 for copying a register.
1495
1496 2003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
1497
1498 PR other/3782
1499 * toplev.c (process_options): If flag_detailed_statistics is set,
1500 then set time_report as well.
1501
1502 PR c/8828
1503 * jump.c (never_reached_warning): Don't fall through BARRRIER
1504 insns. Update comments to reflect what the function really does.
1505
1506 2003-02-21 Roger Sayle <roger@eyesopen.com>
1507
1508 * fold-const.c (omit_one_operand): No longer static.
1509 * tree.h (omit_one_operand): Prototype here.
1510 (div_and_round_double): Keep fold-const.c prototypes together.
1511 * builtins.c (builtin_mathfn_code): Handle binary built-in
1512 funtions, such as "pow" and "atan2".
1513 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
1514 Simplify optimizations using "type" the builtin's return type.
1515
1516 2003-02-22 Hans-Peter Nilsson <hp@axis.com>
1517
1518 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
1519 Fix functionalization typo.
1520
1521 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
1522 in an asm.
1523
1524 2003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1525
1526 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
1527 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
1528 documentation.
1529 * ggc-common.c: Include params.h
1530 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
1531 init_ggc_heuristics): New functions.
1532 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
1533 init_ggc_heuristics): Prototype.
1534 * toplev.c (print_version): Output GGC heuristics.
1535 (parse_options_and_default_flags): Call init_ggc_heuristics.
1536
1537 Sat Feb 22 02:35:07 CET 2003 Jan Hubicka <jh@suse.cz>
1538
1539 * i386.c (def_builtin): Special case 64bit builtins.
1540 (MASK_SSE164, MASK_SSE264): New constants.
1541 (builtin_description): Add 64bit builtins.
1542 (ix86_init_mmx_sse_builtins): Likewise.
1543 * i386.h (enum ix86_builtins): Likewise.
1544 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
1545 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
1546 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
1547 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
1548 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
1549 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
1550 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
1551
1552 Sat Feb 22 00:48:22 CET 2003 Jan Hubicka <jh@suse.cz>
1553
1554 * i386.c (builtin_description): Add __builtin_ia32_paddq and
1555 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
1556 and __builtin_ia32_psubq128.
1557 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
1558 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
1559 (mmx_adddi3, mmx_subdi3): New.
1560 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
1561 * xmmintrin.h (_mm_movepi64_pi64): New.
1562 (_mm_add_epi64, _mm_sub_epi64): fix.
1563 (_mm_mul_pu16): Rename to...
1564 (_mm_mul_su32): ... this one.
1565
1566 * builtins.c (expand_builtin_expect): Do not predict
1567 flag_guess_branch_prob is not set.
1568 * c-semantics.c (expand_stmt): Likewise.
1569 * predict.c (predict_insn): Likewise.
1570 * stmt.c (expand_continue_loop): Likewise.
1571 * toplev.c (rest_of_compilation): Do not call
1572 note_prediction_to_br_prob and note_prediction_to_br_prob
1573 when not optimizing.
1574
1575 Fri Feb 21 23:10:13 CET 2003 Jan Hubicka <jh@suse.cz>
1576
1577 * cfgrtl.c (commit_edge_insertions): Call
1578 find_many_sub_basic_block only when some code has been emitted.
1579 (commit_edge_insertions_watch_calls): Bring into sync with
1580 commit_edge_insertions
1581
1582 Fri Feb 21 20:41:29 2003 J"orn Rennecke <joern.rennecke@superh.com>
1583
1584 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
1585
1586 * sh.md (binary_sf_op): Use extra constant operand instead of
1587 negating constant operand 4.
1588 * sh.c (sh_expand_binop_v2sf): Supply it.
1589
1590 2003-02-21 Zack Weinberg <zack@codesourcery.com>
1591
1592 * cpphash.h (struct lexer_state): Add directive_wants_padding.
1593 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
1594 for directives of type INCL.
1595 (glue_header_name, parse_include): Use get_token_no_padding.
1596 * cppmacro.c (replace_args): If directive_wants_padding,
1597 provide padding tokens.
1598
1599 2003-02-21 Kazu Hirata <kazu@cs.umass.edu>
1600
1601 * config/h8300/h8300.md (a peephole2): New.
1602
1603 Fri Feb 21 11:05:44 CET 2003 Jan Hubicka <jh@suse.cz>
1604
1605 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
1606 (commit_edge_insertions): Call find_many_sub_basic_blocks
1607
1608 * reg-stack.c (convert_regs): Cleax aux for blocks.
1609
1610 Fri Feb 21 10:29:52 CET 2003 Jan Hubicka <jh@suse.cz>
1611
1612 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
1613
1614 2003-02-21 Glen Nakamura <glen@imodulo.com>
1615
1616 PR optimization/8613
1617 * builtins.c (expand_builtin): Emit postincrements before expanding
1618 builtin functions.
1619
1620 2003-02-21 Ben Elliston <bje@redhat.com>
1621
1622 PR other/5634
1623 * doc/install.texi (Configuration): Explain using $HOME instead of
1624 the ~ metacharacter when referring to home directories.
1625
1626 2003-02-20 Alexandre Oliva <aoliva@redhat.com>
1627
1628 * configure.in (TARGET_SYSTEM_ROOT): Set default to
1629 ${exec_prefix}/${target_alias}/sys-root. Match explicit
1630 '${exec_prefix}' (in addition to the expansion thereof) as
1631 relocatable.
1632 * configure: Rebuilt.
1633
1634 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
1635
1636 * config/h8300/h8300.md (addhi3_incdec): Change the name to
1637 *addhi3_incdec.
1638 (addsi3_incdec): Change the name to *addsi3_incdec.
1639
1640 2003-02-20 Roger Sayle <roger@eyesopen.com>
1641
1642 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
1643
1644 2003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
1645
1646 PR fortran/9038
1647 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
1648 options to be ignored.
1649 (c_common_decode_option): Ignore them when preprocessing.
1650
1651 Thu Feb 20 21:41:19 CET 2003 Jan Hubicka <jh@suse.cz>
1652
1653 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
1654 global variables.
1655 (lang_independent_options): Add -fsched2-use-superblocks
1656 -fsced2-use-traces.
1657 (rest_of_compilation): Deal with it.
1658 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
1659 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
1660 Declare.
1661 * rtl.h (reg_to_stack): Update prototype.
1662 * reg-stack.c (reg_to_stack): Return when something has changed;
1663 update liveness when executing after superblock scheduling.
1664
1665 * combine.c (simplify_shift_const): Simplify few special cases
1666 into constants.
1667
1668 2003-02-20 David Edelsohn <edelsohn@gnu.org>
1669
1670 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
1671 (add.,subf.,neg.): Change attribute to fast_compare.
1672 All DFA descriptions updated.
1673
1674 2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
1675
1676 Change base class access representation.
1677 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
1678 TREE_VIA_PRIVATE): Remove.
1679 (BINFO_BASEACCESSES): New binfo elt.
1680 (BINFO_BASEACCESS): New accessor.
1681 (BINFO_ELTS): Increase.
1682 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
1683 (access_public_node, access_protected_node,
1684 access_private_node): New global nodes.
1685 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
1686 * dbxout.c (dbxout_type): Adjust.
1687 * dwarf2out.c (gen_inheritance_die): Add access parameter.
1688 (gen_member_die): Adjust.
1689 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
1690 (output_type): Adjust.
1691 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
1692
1693 Change base class access representation. Share virtual base
1694 binfos.
1695 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
1696 call.
1697 * cp/class.c (build_base_path): Likewise.
1698 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
1699 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
1700 (make_new_vtable): Adjust.
1701 (force_canonical_binfo_r): Delete.
1702 (force_canonical_binfo): Delete.
1703 (mark_primary_virtual_base): Delete.
1704 (dfs_unshared_virtual_bases): Delete.
1705 (mark_primary_bases): Adjust.
1706 (maybe_warn_about_overly_private_class): Adjust.
1707 (dfs_base_derived_from): Delete.
1708 (base_derived_from): Follow the inheritance chain.
1709 (struct find_final_overrider_data): Add vpath member.
1710 (dfs_find_final_overrider): Adjust.
1711 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
1712 (find_final_overrider): Adjust.
1713 (update_vtable_entry_for_fn): Adjust.
1714 (modify_all_vtables): Adjust.
1715 (walk_subobject_offsets): Adjust.
1716 (layout_nonempty_base_or_field): Adjust.
1717 (layout_empty_base): Remove last parameter. Adjust.
1718 (build_base_field): Adjust.
1719 (build_base_fields): Adjust.
1720 (propagate_binfo_offsets): Remove last parameter. Adjust.
1721 (dfs_set_offset_for_unshared_vbases): Delete.
1722 (layout_virtual_bases): Adjust.
1723 (finish_struct_1): Adjust.
1724 (init_class_processing): Don't init access nodes.
1725 (dfs_get_primary_binfo): Delete.
1726 (get_primary_binfo): Adjust.
1727 (dump_class_hierarchy_r): Remove most derived arg, add IGO
1728 parameter. Adjust.
1729 (dump_class_hierarchy): Adjust.
1730 (finish_vtbls): Adjust.
1731 (get_original_base): Delete.
1732 (build_vtt_inits): Adjust.
1733 (dfs_build_secondary_vptr_vtt_inits): Adjust.
1734 (dfs_ctor_vtable_bases_queue_p): Adjust.
1735 (build_ctor_vtbl_group): Adjust.
1736 (dfs_accumulate_vtbl_inits): Adjust.
1737 (build_vtbl_initializer): Adjust.
1738 (build_vbase_offset_vtbl_entries): Adjust.
1739 (add_vcall_offset_vtbl_entries_1): Adjust.
1740 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
1741 (access_*_node): Remove.
1742 (CANONICAL_BINFO): Delete.
1743 (BINFO_UNSHARED_MARKED): Remove.
1744 (BINFO_MARKED): Set LANG_FLAG_0 directly.
1745 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
1746 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
1747 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
1748 Delete.
1749 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
1750 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
1751 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
1752 Delete.
1753 (BINFO_DEPENDENT_BASE_P): New.
1754 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
1755 index.
1756 (markedp, unmarkedp): Adjust.
1757 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
1758 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
1759 find_vbase_instance, binfo_for_vbase): Delete.
1760 (copied_binfo, original_binfo): Declare.
1761 (finish_base_specifier): Add virtual_p arg.
1762 (unshare_base_binfos): Delete.
1763 (copy_base_binfos): Declare.
1764 (reverse_path): Delete.
1765 * cp/decl.c (xref_basetypes): Access and virtuality passed
1766 differently. Don't copy direct base binfos here. Call
1767 copy_base_binfos.
1768 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
1769 (initialize_vtbl_ptrs): Adjust.
1770 (expand_member_init): Adjust.
1771 * cp/parser.c (cp_parser_base_specifier): Adjust.
1772 * cp/pt.c (instantiate_class_template): Adjust.
1773 (get_template_base_recursive): Adjust.
1774 * cp/rtti.c (get_pseudo_ti_init): Adjust.
1775 (get_pseudo_ti_desc): Adjust.
1776 * cp/tree.c (unshare_base_binfos): Rename to ...
1777 (copy_base_binfos): ... here, reimplement.
1778 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
1779 (reverse_path): Remove.
1780 * cp/typeck.c (get_delta_difference): Adjust error messages.
1781 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
1782 * cp/search.c (lookup_base_r): Adjust.
1783 (dynamic_cast_base_recurse): Adjust.
1784 (canonical_binfo): Remove.
1785 (dfs_canonical_queue): Remove.
1786 (dfs_assert_unmarked_p): Remove.
1787 (assert_canonical_unmarked): Remove.
1788 (shared_marked_p, shared_unmarked_p): Remove.
1789 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
1790 (dfs_access_in_type): Adjust.
1791 (access_in_type): Adjust.
1792 (dfs_accessible_queue_p): Adjust.
1793 (dfs_accessible_p): Adjust.
1794 (is_subobject_of_p_1, is_subobject_of_p): Remove.
1795 (struct lookup_field_info): Remove from_dep_base_p field.
1796 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
1797 (lookup_field_r): Remove dependent base code.
1798 (lookup_member): Likewise.
1799 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
1800 (dfs_unmarked_real_bases_queue_p): Remove.
1801 (dfs_marked_real_bases_queue_p): Remove.
1802 (dfs_skip_vbases): Remove.
1803 (dfs_get_pure_virtuals): Adjust.
1804 (markedp, unmarkedp): Adjust.
1805 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
1806 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
1807 (dfs_unmark): Adjust.
1808 (dfs_get_vbase_types):Remove.
1809 (dfs_build_inheritance_graph_order): Remove.
1810 (get_vbase_types): Remove
1811 (dfs_find_vbase_instance): Remove.
1812 (find_vbase_instance): Remove.
1813 (dfs_debug_unmarkedp): Adjust.
1814 (dependent_base_p): Remove.
1815 (dfs_push_type_decls): Adjust.
1816 (dfs_push_decls): Adjust.
1817 (dfs_no_overlap_yet): Adjust.
1818 (copied_binfo): New function.
1819 (original_binfo): New function.
1820 (binfo_for_vbase): Remove.
1821
1822 Change base class access representation.
1823 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
1824 (add_interface_do): Likewise.
1825
1826 2003-02-20 David Edelsohn <edelsohn@gnu.org>
1827
1828 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1829 * config/rs6000/power4.md (power4-store,power4-vecstore): New
1830 insn reservations.
1831 (power4-fpstore): Compact.
1832
1833 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
1834
1835 * config/h8300/h8300.md (*iorsi3_w): New.
1836
1837 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
1838
1839 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
1840 * rtl.c (reg_note_name): Likewise.
1841 * rtl.h (enum reg_note): Likewise.
1842 * doc/invoke.texi: Likewise.
1843 * doc/rtl.texi: Likewise.
1844
1845 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
1846
1847 * bb-reorder.c (find_traces_1_round): Fix comment typo.
1848
1849 2003-02-19 Roger Sayle <roger@eyesopen.com>
1850
1851 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
1852 addition in the presence of signaling NaNs.
1853
1854 2003-02-19 Krister Walfridsson <cato@df.lth.se>
1855
1856 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
1857
1858 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
1859
1860 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
1861 ORing with 0xffff??00 with the highest bit of the ?? part set.
1862 (compute_logical_op_length): Update.
1863 (compute_logical_op_cc): Likewise.
1864
1865 2003-02-19 Josef Zlomek <zlomekj@suse.cz>
1866
1867 * bb-reorder.c (find_traces_1_round): Fixed condition for small
1868 destination block with multiple predecessors.
1869 (connect_traces): Check whether the block is a start of trace.
1870
1871 Wed Feb 19 19:00:24 CET 2003 Jan Hubicka <jh@suse.cz>
1872
1873 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
1874 * function.c (assign_params): Likewise.
1875 * arm-protos.h (arm_init_cumulative_args): Update prototype.
1876 * arm.c (arm_init_cumulative_args): Update function.
1877 * arm.h (INIT_CUMULATIVE_ARGS): Update.
1878 * avr-protos.h (init_cumulative_args): Update prototype.
1879 * avr.c (init_cumulative_args): Update function.
1880 * avr.h (INIT_CUMULATIVE_ARGS): Update.
1881 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
1882 * d30v.c (d30v_init_cumulative_args): Update function.
1883 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
1884 * frv-protos.h (frv_init_cumulative_args): Update prototype.
1885 * frv.c (frv_init_cumulative_args): Update function.
1886 * frv.h (INIT_CUMULATIVE_ARGS): Update.
1887 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
1888 * pa.h (INIT_CUMULATIVE_ARGS): Update.
1889 * sparc-protos.h (init_cumulative_args): Update prototype.
1890 * sparc.c (init_cumulative_args): Update function.
1891 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
1892 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
1893
1894 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
1895
1896 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
1897 (*ashiftsi_sextqi_7): Likewise.
1898
1899 2003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1900
1901 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
1902 ISO C99 and C++.
1903
1904 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
1905 for C++ on IRIX 6.5.1[89].
1906 * fixinc/tests/base/internal/sgimacros.h: New file.
1907
1908 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
1909 * fixinc/tests/base/internal/wchar_core.h: New file.
1910
1911 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
1912 socklen_t definition.
1913 * fixinc/fixincl.x: Regenerate.
1914 * fixinc/tests/base/sys/socket.h: New file.
1915 Fixes PR libgcj/9652.
1916
1917 Wed Feb 19 17:22:51 CET 2003 Jan Hubicka <jh@suse.cz>
1918
1919 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
1920
1921 2003-02-19 David Edelsohn <edelsohn@gnu.org>
1922
1923 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
1924 align_jumps_max_skip and align_loops_max_skip.
1925
1926 2003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
1927
1928 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
1929 test size if named section.
1930
1931 2003-02-19 Daniel Jacobowitz <drow@mvista.com>
1932
1933 * expr.c (expand_expr): Use gen_int_mode for the argument
1934 to gen_rtx_MULT.
1935
1936 Wed Feb 19 14:22:42 CET 2003 Jan Hubicka <jh@suse.cz>
1937
1938 * i386.md (cosxf2): Fix conditional.
1939
1940 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
1941
1942 * config/h8300/h8300.md (extendqisi2): Change to an expander.
1943 (*extendqisi2_h8300): New.
1944 (*extendqisi2_h8300hs): Likewise.
1945
1946 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
1947
1948 * config/h8300/h8300-protos.h: Update the prototype for
1949 split_adds_subs. Remove the prototypes for
1950 const_int_le_2_operand and const_int_le_6_operand.
1951 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
1952 (const_int_le_2_operand): Remove.
1953 (const_int_le_6_operand): Likewise.
1954 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
1955 for const_int_le_2_operand and const_int_le_6_operand.
1956 * config/h8300/h8300.md: Update all uses of split_adds_subs.
1957 (a peephole2): New.
1958
1959 Tue Feb 18 23:50:59 CET 2003 Jan Hubicka <jh@suse.cz>
1960
1961 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
1962 (cgraph_expand_function): Rewrite.
1963
1964 2003-02-18 Matt Austern <austern@apple.com>
1965
1966 * toplev.c, langhooks.c, langhooks-def.h: Move
1967 write_global_declarations from toplev.c to langhooks.c.
1968
1969 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
1970
1971 * config/h8300/h8300.c (general_operand_src): Always check
1972 MODE.
1973 (general_operand_dst): Likewise.
1974
1975 2003-02-18 Roger Sayle <roger@eyesopen.com>
1976
1977 * convert.c (convert_to_real): Also optimize (float)log(x) into
1978 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
1979
1980 2003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
1981
1982 * config/sh/sh.c (unspec_caller_rtx_p): New.
1983 (sh_cannot_copy_insn_p): New.
1984 (TARGET_CANNOT_COPY_INSN_P): New.
1985
1986 2003-02-18 Richard Henderson <rth@redhat.com>
1987
1988 * c-common.c (handle_used_attribute): Accept static data too.
1989
1990 2003-02-18 Nick Clifton <nickc@redhat.com>
1991 Aldy Hernandez <aldyh@redhat.com>
1992
1993 * testsuite/gcc.dg/20030218-1.c: New.
1994
1995 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
1996
1997 * target-def.h (TARGET_INITIALIZER): Add
1998 TARGET_VECTOR_TYPES_COMPATIBLE.
1999 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
2000
2001 * target.h (struct gcc_target): Add field vector_types_compatible.
2002
2003 * c-typeck.c (comptypes): Take into account
2004 TARGET_VECTOR_TYPES_COMPATIBLE.
2005 (convert_for_assignment): Same.
2006
2007 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
2008 (rs6000_spe_vector_types_compatible): New.
2009 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
2010
2011 2003-02-19 Andreas Schwab <schwab@suse.de>
2012
2013 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
2014 * toplev.c: Include langhooks-def.h.
2015
2016 2003-02-18 Chris Demetriou <cgd@broadcom.com>
2017
2018 * config/mips/mips.h (enum processor_type): Sort entries
2019 alphabetically.
2020 * config/mips/mips.md (define_attr cpu): Sync with processor_type
2021 enum values, including adding entries that were missing.
2022
2023 Tue Feb 18 20:15:54 2003 J"orn Rennecke <joern.rennecke@superh.com>
2024
2025 * sh.c (calc_live_regs): Also check GET_CODE when checking if
2026 initial value for PR_REG is still the PR_REG register.
2027
2028 2003-02-18 Jim Wilson <wilson@redhat.com>
2029
2030 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
2031 instruction in output template.
2032 (bsp_value): Change output template from string to C code, add %,
2033 before actual instruction.
2034 (flushrs): Mark as not predicable.
2035
2036 2003-02-18 Krister Walfridsson <cato@df.lth.se>
2037
2038 * inclhack.def (netbsd_bogus_semicolon): New fix.
2039 * fixincl.x: Rebuilt.
2040 * tests/base/ctype.h: Update.
2041
2042 2003-02-18 Roger Sayle <roger@eyesopen.com>
2043
2044 * fold-const.c (negate_expr_p): New function to determine whether
2045 an expression can be negated cheaply.
2046 (fold) [MINUS_EXPR]: Use it to determine whether to transform
2047 -A - B into -B - A for floating point types.
2048
2049 2003-02-18 Roger Sayle <roger@eyesopen.com>
2050
2051 * sbitmap.c (sbitmap_resize): New function.
2052 * sbitmap.h (sbitmap_resize): Prototype here.
2053 * recog.c (split_all_insns): Use sbitmap_resize.
2054
2055 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
2056
2057 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
2058 insn length.
2059 (extendqisi2): Likewise.
2060 (*extendhisi2_h8300): Likewise.
2061
2062 2003-02-18 Matt Austern <austern@apple.com>
2063
2064 * langhooks.h, langhooks-def.h: introduce new langhook,
2065 final_write_globals, with write_global_declarations as default.
2066 * toplev.c: Move invocation of wrapup_global_declarations from
2067 compile_file to new function, write_global_declarations. Change
2068 compile_file to use final_write_globals hook. Change
2069 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
2070 conditional.
2071
2072 2003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2073
2074 * pa.md: Correct and enhance comment.
2075
2076 2003-02-18 Geoffrey Keating <geoffk@apple.com>
2077
2078 * gcc.c (validate_switches): Don't scan past closing '}'.
2079
2080 2003-02-18 Ben Elliston <bje@redhat.com>
2081
2082 PR c++/1607
2083 * doc/extend.texi (Function Attributes): Document the effect of
2084 the C++ "this" parameter on the counting of arguments for the
2085 "format" and "format_arg" attributes.
2086
2087 2003-02-17 Aldy Hernandez <aldyh@redhat.com>
2088
2089 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
2090 (__ev_stdw): Same.
2091 (__ev_stdh): Same.
2092
2093 Mon Feb 17 16:16:54 CET 2003 Jan Hubicka <jh@suse.cz>
2094
2095 * recog.c (split_all_insns): Fix memory overflow.
2096
2097 2003-02-17 Kazu Hirata <kazu@cs.umass.edu>
2098
2099 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
2100 (cmphi): Likewise.
2101 (*cmphi_h8300): Likewise.
2102 (*cmphi_h8300hs): Likewise.
2103 (cmpsi): Likewise.
2104 (7 peephole2): Likewise.
2105
2106 Sun Feb 16 23:07:52 CET 2003 Jan Hubicka <jh@suse.cz>
2107
2108 * c-typeck.c (build_c_cast): Fold constant variables into
2109 initial values.
2110
2111 2003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2112
2113 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
2114 (Binaries): Ditto for Sinix/Reliant Unix.
2115
2116 2003-02-16 Richard Earnshaw <rearnsha@arm.com>
2117
2118 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
2119 not overlap the final result register.
2120
2121 2003-02-16 Arend Bayer <arend.bayer@web.de>
2122 Richard Henderson <rth@redhat.com>
2123
2124 PR c/8068
2125 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
2126 rearrange mult arguments for less recursion.
2127 (extract_muldiv): New. Prevent runaway recursion.
2128
2129 2003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
2130
2131 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
2132 MASK_ALIGN_DOUBLE.
2133
2134 2003-02-15 Roger Sayle <roger@eyesopen.com>
2135
2136 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
2137 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
2138 (ext_80387_constants_table): Global table of 80387 special constants
2139 guarded by ext_80387_constants_init flag when not initialized.
2140 (init_ext_80387_constants): New function to initialize this table.
2141 (standard_80387_constant_p): Extend to recognize extra 80387
2142 constants, in XFmode, on processors where this is a win.
2143 (standard_80387_constant_opcode): New function to return the
2144 opcode associated with standard_80387_constant_p.
2145 (standard_80387_constant_rtx): New function to return the XFmode
2146 CONST_DOUBLE associated with standard_80387_constant_p.
2147 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
2148
2149 * config/i386/i386-protos.h (standard_80387_constant_opcode):
2150 Prototype here.
2151 (standard_80387_constant_rtx): Likewise.
2152
2153 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
2154 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
2155 *movtf_integer): Simplify using new standard_80387_constant_opcode.
2156
2157 2003-02-15 Geoffrey Keating <geoffk@apple.com>
2158
2159 * doc/invoke.texi (Optimize Options): Correct @option syntax.
2160
2161 2003-02-15 Richard Henderson <rth@redhat.com>
2162
2163 * Makefile.in (cfglayout.o): Depend on TARGET_H.
2164 * cfglayout.c: Include target.h.
2165 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
2166 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
2167 * target.h (struct gcc_target): Add cannot_copy_insn_p.
2168
2169 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
2170 (TARGET_CANNOT_COPY_INSN_P): New.
2171 (override_options): Revert 2003-02-08 hack.
2172
2173 2003-02-15 Richard Henderson <rth@redhat.com>
2174
2175 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
2176 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
2177
2178 2003-02-15 David Edelsohn <edelsohn@gnu.org>
2179
2180 * config/rs6000/rs6000.h (processor_type): Add PPC440.
2181 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2182 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2183 TARGET_SCHED_VARIABLE_ISSUE): Define.
2184 (rs6000_use_dfa_pipeline_interface): New function.
2185 (rs6000_multipass_dfa_lookahead): New Function.
2186 (rs6000_variable_issue): New function.
2187 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
2188 (rs6000_issue_rate): Add PPC440.
2189 * config/rs6000/rs6000.md (unspec list): Correct typo.
2190 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
2191 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
2192 cmp, delayed_cr, mfcr, mtcr.
2193 (automata_option): Set "ndfa".
2194 (extendMMNN2): Update attributes.
2195 (movcc_internal1): Discourage move to non-cr0. Update
2196 attributes.
2197 (movMM_update): Update attributes.
2198 (cmpMM_internal): Update attributes.
2199 (sCC CR materialization): Update attributes.
2200 (branch patterns): Do not discourage non-cr0.
2201 (cr logical patterns): Prefer destructive register allocation.
2202 Update attributes.
2203 (movesi_from_cr): Update attribute.
2204 (mtcrf_operation): Update attribute.
2205 (mtcrfsi): Update attribute.
2206 * config/rs6000/40x.md: New file.
2207 * config/rs6000/603.md: New file.
2208 * config/rs6000/6xx.md: New file.
2209 * config/rs6000/7450.md: New file.
2210 * config/rs6000/7xx.md: New file.
2211 * config/rs6000/mpc.md: New file.
2212 * config/rs6000/power4.md: New file.
2213 * config/rs6000/rios1.md: New file.
2214 * config/rs6000/rios2.md: New file.
2215 * config/rs6000/rs64.md: New file.
2216 [Some DFA descriptions based on work by Michael Hayes]
2217
2218 2003-02-15 Richard Henderson <rth@redhat.com>
2219
2220 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
2221 successors with multiple predecessors.
2222 (connect_traces): Try harder to copy traces of length 1.
2223
2224 * function.h (struct function): Add computed_goto_common_label,
2225 computed_goto_common_reg.
2226 * function.c (free_after_compilation): Zap them.
2227 * stmt.c (expand_computed_goto): Use them to produce one
2228 indirect branch per function.
2229
2230 2003-02-15 Richard Henderson <rth@redhat.com>
2231
2232 * cfgcleanup.c: Include params.h.
2233 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
2234 too many outgoing edges from a block.
2235 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
2236 * params.def (max-crossjump-edges): New.
2237 * doc/invoke.texi: Document it.
2238
2239 2003-02-15 Richard Henderson <rth@redhat.com>
2240
2241 * recog.c (split_all_insns): Include new blocks in life update;
2242 do a global life update.
2243
2244 2003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
2245
2246 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
2247 Update copyright.
2248 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
2249 -mno-cygwin case.
2250
2251 2003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2252
2253 PR optimization/7702
2254 * reload1.c (reload_cse_simplify_set): Honor
2255 CANNOT_CHANGE_MODE_CLASS.
2256
2257 2003-02-14 Alexandre Oliva <aoliva@redhat.com>
2258
2259 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
2260 function.
2261 * config/mn10300/mn10300-protos.h: Declare it.
2262 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
2263 attribute cc of instructions that may use clr.
2264
2265 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
2266
2267 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
2268 (x - (x & y)) is found.
2269
2270 2003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2271
2272 * configure.in: Fix typo.
2273 * configure: Regenerate.
2274
2275 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
2276
2277 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
2278
2279 2003-02-13 Adam Nemet <anemet@lnxw.com>
2280
2281 PR opt/2391
2282 * combine.c: Fix spelling in comment.
2283 (cached_nonzero_bits): New function.
2284 (cached_num_sign_bit_copies): New function.
2285 (nonzero_bits_with_known): New macro.
2286 (num_sign_bit_copies_with_known): New macro.
2287 (nonzero_bits1): Rename from nonzero_bits. Add three new
2288 arguments. Change calls from nonzero_bits to
2289 nonzero_bits_with_known.
2290 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
2291 three new arguments. Change calls from num_sign_bit_copies to
2292 num_sign_bit_copies_with_known.
2293 (nonzero_bits): New macro.
2294 (num_sign_bit_copies): New macro.
2295 (update_table_tick): Don't traverse identical subexpression more
2296 than once.
2297 (get_last_value_validate): Likewise.
2298
2299 2003-02-13 Zack Weinberg <zack@codesourcery.com>
2300
2301 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
2302 * function.h (struct emit_status): Length of regno_pointer_align
2303 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
2304 not regno_pointer_align_length (i.e. length actually used, not
2305 length as allocated)
2306
2307 * config/i386/i386.c (struct stack_local_entry): New.
2308 (struct machine_function): Replace huge array with alist.
2309 (assign_386_stack_local): Change to match.
2310
2311 2003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
2312
2313 * inclhack.def (hpux_long_double): Tighten select and add bypass
2314 regexp.
2315 * fixincl.x: Rebuilt.
2316
2317 2003-02-13 Josef Zlomek <zlomekj@suse.cz>
2318
2319 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
2320 edge and block ends with a jump insn it must be simple jump.
2321
2322 2003-02-13 Daniel Jacobowitz <drow@mvista.com>
2323
2324 * Makefile.in (PREPROCESSOR_DEFINES): Add
2325 @TARGET_SYSTEM_ROOT_DEFINE@.
2326 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
2327 is specified or if building a cross compiler.
2328 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
2329 if the sysroot is under $exec_prefix.
2330 * configure: Regenerated.
2331 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
2332 defined.
2333 (struct default_include): Add add_sysroot field.
2334 (cpp_SYSROOT): Declare.
2335 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
2336 field.
2337 (cpp_SYSROOT): New variable.
2338 * cppinit.c (cpp_create_reader): Initialize
2339 CPP_OPTION (pfile, sysroot).
2340 (init_standard_includes): Handle add_sysroot. Do not
2341 add unrelocated copies of relocated directories.
2342 (COMMAND_LINE_OPTIONS): Add -isysroot.
2343 (cpp_handle_option): Handle -isysroot.
2344 * cpplib.h (struct cpp_options): Add sysroot member.
2345 * gcc.c (The Specs Language): Update description of %I.
2346 (target_system_root_changed): New variable.
2347 (process_command): Conditionalize make_relative_prefix call
2348 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
2349 target_system_root_changed.
2350 (do_spec_1): Add -isysroot to %I.
2351 * doc/invoke.texi (Spec Files): Update description of %I.
2352 * doc/install.texi (--with-sysroot): Update comment about
2353 relocation.
2354
2355 2003-02-13 Kazu Hirata <kazu@cs.umass.edu>
2356
2357 * config/h8300/h8300.md (a peephole2): New.
2358
2359 2003-02-13 Robert Lipe <robertlipe@usa.net>
2360 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2361
2362 * doc/install.texi (Specific): Update three SCO-related URLs.
2363
2364 2003-02-13 Andreas Schwab <schwab@suse.de>
2365
2366 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
2367 Parenthesize properly.
2368 (NPREDECESORS): Parenthesize properly.
2369
2370 2003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
2371
2372 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
2373
2374 2003-02-12 Roger Sayle <roger@eyesopen.com>
2375
2376 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
2377 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
2378
2379 * reg-stack.c (subst_stack_regs_pat): Add support for binary
2380 UNSPEC instructions (e.g. "fpatan").
2381
2382 2003-02-12 Mike Stump <mrs@apple.com>
2383
2384 * varray.c (element_size): Remove.
2385 (uses_ggc): Remove.
2386 (element): Add.
2387 (varray_init): Use new interface.
2388 (varray_grow): Use new interface.
2389 (varray_clear): Use new interface.
2390
2391 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
2392
2393 * config/rs6000/spe.h: Add casts to the arguments of the following
2394 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
2395 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
2396 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
2397 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
2398 __ev_get_u16, __ev_get_s16.
2399
2400 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
2401
2402 * config/h8300/h8300.md (a peephole2): New.
2403
2404 Wed Feb 12 22:47:18 CET 2003 Jan Hubicka <jh@suse.cz>
2405
2406 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
2407 (OBJS): Add callgraph.o
2408 (callgraph.o): New.
2409 * c-decl.c (expand_body_1): Break out from ...
2410 (expand_body): This one; change calling convention
2411 (finish_function): Move some of expand_body logic here.
2412 (c_expand_deferred_function): Update call of expand_body
2413 (c_expand_stmt): Use c_expand_body_1.
2414 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
2415 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
2416 * c-tree.h (c_expand_body): Declare.
2417 * callgraph.c: New file.
2418 * flags.h (flag_unit_at_a_time): Declare.
2419 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
2420 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
2421 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
2422 * langhooks.h (struct lang_hooks_for_callgraph): New.
2423 (struct lang_hooks): Add callgraph field.
2424 * toplev.c (flag_unit_at_a_time): New.
2425 (lang_independent_options): Add flag_unit_at_a_time.
2426 (process_options): Disable unit-at-a-time mode for frontends not
2427 supporting callgraph.
2428 * tree-inline.c (typedef struct inline_data): Add "decl"
2429 (expand_call_inline): Update callgraph.
2430 (optimize_inline_calls): Set id.decl.
2431 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
2432 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
2433 cgraph_calls_p): Declare.
2434 * invoke.texi (-funit-at-a-time): Document
2435
2436 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
2437
2438 * config/rs6000/spe.h: Fix misc formatting.
2439 (__ev_create_ufix32_fs): Cast ev argument.
2440 (__ev_create_sfix32_fs): Same.
2441 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
2442 (__ev_get_ufix32_fs_internal): Same.
2443
2444 2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
2445
2446 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
2447 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
2448
2449 2003-02-12 Zack Weinberg <zack@codesourcery.com>
2450
2451 * cpplib.c (do_include_common): Move warnings for
2452 #include_next and #import out to callers. Use early-return
2453 instead of nested ifs. Don't do check_eol here.
2454 (parse_include): Do check_eol here with the rest of the
2455 parsing stuff.
2456 (do_include_next, do_import): Now handle warnings.
2457
2458 2003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2459
2460 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
2461
2462 Wed Feb 12 15:19:42 CET 2003 Jan Hubicka <jh@suse.cz>
2463
2464 * predict.c (estimate_probability): Fix roundoff error.
2465
2466 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
2467
2468 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
2469 (two peephole2): New.
2470
2471 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
2472
2473 * config/h8300/h8300.md (several peephole2): Replace
2474 find_regno_note with peep2_reg_dead_p.
2475
2476 2003-02-11 Richard Henderson <rth@redhat.com>
2477
2478 * gcse.c (lookup_set): Remove unused argument PAT. Update
2479 both callers.
2480
2481 2003-02-11 Geoffrey Keating <geoffk@apple.com>
2482
2483 * diagnostic.c (real_abort): New.
2484 (diagnostic_report_diagnostic): Call real_abort on error.
2485 * diagnostic.h (diagnostic_abort_on_error): New.
2486 (struct diagnostic_context): Add abort_on_error field.
2487 * toplev.c (setup_core_dumping): New.
2488 (decode_d_option): Handle 'H' case.
2489 * doc/invoke.texi (Debugging Options): Document -dH.
2490
2491 2003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
2492
2493 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
2494 which refers to obsolete directories.
2495
2496 2003-02-11 Richard Henderson <rth@redhat.com>
2497
2498 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
2499
2500 Mon Oct 21 17:07:47 CEST 2002 Jan Hubicka <jh@suse.cz>
2501
2502 * i386.c (contains_128bit_aligned_vector_p): New function.
2503 (ix86_function_arg_boundary): Properly align vector modes.
2504
2505 2003-02-11 Bob Wilson <bob.wilson@acm.org>
2506
2507 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
2508 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
2509 as a SET pattern.
2510
2511 2003-02-11 Roger Sayle <roger@eyesopen.com>
2512
2513 * builtins.c: Fix failure caused by commiting wrong patch.
2514
2515 2003-02-11 Dale Johannesen <dalej@apple.com>
2516 * ra-build.c (compare_and_free_webs): Relax checking.
2517 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
2518 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
2519
2520 2003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2521
2522 PR optimization/9651
2523 * rtlanal.c (may_trap_p): Handle FIX.
2524
2525 2003-02-11 Dave Jones <davej@codemonkey.org.uk>
2526
2527 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
2528 * doc/invoke.texi: Extra alias.
2529
2530 2003-02-11 Geoffrey Keating <geoffk@apple.com>
2531
2532 * config/rs6000/host-darwin.c: Fix comment.
2533
2534 2003-02-11 David Edelsohn <edelsohn@gnu.org>
2535
2536 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
2537 predicate for mod result.
2538
2539 2003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2540
2541 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
2542 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
2543 * fixincl.x: Rebuilt.
2544 * tests/base/stdlib.h: Update.
2545 * tests/base/ctype.h: New file.
2546
2547 Tue Feb 11 20:44:45 CET 2003 Jan Hubicka <jh@suse.cz>
2548
2549 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
2550
2551 2003-02-11 Richard Henderson <rth@redhat.com>
2552
2553 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
2554 appropriated as globals.
2555 (ix86_expand_clrstr): Similarly.
2556 * config/i386/i386.md (cmpstrsi): Similarly.
2557
2558 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
2559
2560 * config/h8300/h8300.md (a peephole2): Add a case of 255.
2561
2562 2003-02-11 Roger Sayle <roger@eyesopen.com>
2563
2564 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
2565 (pow_optab, atan2_optab): Define corresponding macros.
2566 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
2567 * genopinit.c (optabs): Implement pow_optab and atan2_optab
2568 using pow?f3 and atan2?f3 patterns.
2569 * builtins.c (expand_errno_check): New function to update errno
2570 if necessary, split out from expand_builtin_mathfn.
2571 (expand_builtin_mathfn): Use expand_errno_check.
2572 (expand_builtin_mathfn_2): New function to handle expanding binary
2573 math functions, reusing the code in expand_errno_check.
2574 (expand_builtin): Handle the pow and atan2 math built-ins,
2575 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
2576 expand_builtin_mathfn_2.
2577
2578 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
2579
2580 Tue Feb 11 19:03:22 MET 2003 Jan Hubicka <jh@suse.cz>
2581
2582 * combine.c (combine_simplify_rtx): Fix folding of
2583 nested float_truncates.
2584
2585 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
2586
2587 * config/h8300/h8300.md (a peephole2): Fix a typo.
2588
2589 2003-02-11 Richard Earnshaw <rearnsha@arm.com>
2590
2591 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
2592 register number.
2593
2594 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
2595
2596 * config/h8300/h8300-protos.h: Add a prototype for
2597 gtuleu_operator.
2598 * config/h8300/h8300.c (gtuleu_operator): New.
2599 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
2600 * config/h8300/h8300.md (a peephole2): New.
2601
2602 Tue Feb 11 13:32:12 CET 2003 Jan Hubicka <jh@suse.cz>
2603
2604 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
2605
2606 Tue Feb 11 10:02:54 CET 2003 Jan Hubicka <jh@suse.cz>
2607
2608 * predict.c (choose_function_section): Choose sections correctly.
2609
2610 2003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2611
2612 * reload1.c (first_label_num): New.
2613 (reload): Index offsets_known_at and offsets_at using difference of
2614 label number and first label number. Don't use offset pointers.
2615 (set_label_offsets, set_initial_label_offsets): Likewise.
2616
2617 2003-02-10 Roger Sayle <roger@eyesopen.com>
2618
2619 * mips-tfile.c (init_file): Add missing initializers in the
2620 "#ifdef __alpha" case.
2621 (file_offset, max_file_offset): Declare as unsigned long.
2622 (write_varray): Cast to "unsigned long" in comparisons against
2623 either file_offset or max_file_offset.
2624 (write_object): Likewise.
2625 (read_seek): Likewise.
2626 (copy_object): Likewise. Declare "ifd" as int to match its use
2627 in add_ext_symbol, and avoid signed/unsigned conditional warning.
2628
2629 2003-02-10 Nick Clifton <nickc@redhat.com>
2630 Aldy Hernandez <aldyh@redhat.com>
2631
2632 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
2633 override options which have been specified on the command line.
2634
2635 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
2636
2637 * config/h8300/h8300.md (abssf2): New.
2638 (*abssf2_h8300): Likewise.
2639 (*abssf2_h8300hs): Likewise.
2640
2641 2003-02-10 Phil Edwards <pme@gcc.gnu.org>
2642
2643 * tree.c (build_tree_list): Fix parameter names in comment.
2644
2645 2003-02-10 Janis Johnson <janis187@us.ibm.com>
2646
2647 * config/rs6000/ppc64-fp.c: New file.
2648 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
2649
2650 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
2651
2652 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
2653 * bb-reorder.c (make_reorder_chain): Deleted.
2654 (make_reorder_chain_1): Deleted.
2655 (find_traces): New function.
2656 (rotate_loop): New function.
2657 (mark_bb_visited): New function.
2658 (find_traces_1_round): New function.
2659 (copy_bb): New function.
2660 (bb_to_key): New function.
2661 (better_edge_p): New function.
2662 (connect_traces): New function.
2663 (copy_bb_p): New function.
2664 (get_uncond_jump_length): New function.
2665 (reorder_basic_blocks): Use new functions (Software Trace Cache).
2666 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
2667 boundaries.
2668
2669 2003-02-10 Aldy Hernandez <aldyh@redhat.com>
2670
2671 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
2672
2673 2003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
2674
2675 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
2676 (DECL_LIVE_RANGE_RTL): Remove.
2677
2678 2003-02-10 Nick Clifton <nickc@redhat.com>
2679
2680 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
2681 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
2682 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
2683 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
2684 config/arm/freebsd.h, config/arm/linux-elf.h,
2685 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
2686 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
2687 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
2688 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
2689 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
2690 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
2691 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
2692 and reformat as appropriate.
2693
2694 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
2695
2696 * config/h8300/clzsi2.c: Remove.
2697 * config/h8300/ctzsi2.c: Likewise.
2698 * config/h8300/paritysi2.c: Likewise.
2699 * config/h8300/popcountsi2.c: Likewise.
2700 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
2701 ctzsi2, paritysi2, and popcountsi2.
2702
2703 2003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
2704 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2705
2706 PR c/7741
2707 * c-decl.c (duplicate_decls): Discard the initializer of the
2708 new decl when the types are conflicting.
2709
2710 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
2711
2712 * Makefile.in (sreal.o): Added.
2713 (predict.o): Depends on sreal.h instead of real.h.
2714 * sreal.c: New file.
2715 * sreal.h: New file.
2716 * predict.c: Use sreal.c instead of real.c.
2717
2718 2003-02-10 Nick Clifton <nickc@redhat.com>
2719
2720 * Contributed support for the Cirrus EP9312 "Maverick"
2721 floating point co-processor. Written by Aldy Hernandez
2722 <aldyh@redhat.com>.
2723 (config/arm/arm.c): Add Cirrus support.
2724 (config/arm/arm.h): Likewise.
2725 (config/arm/aout.h): Likewise.
2726 (config/arm/arm.md): Likewise.
2727 (config/arm/arm-protos.h): Likewise.
2728 (config.gcc): Likewise.
2729 (doc/invoke.texi): Describe new -mcpu value and new
2730 -mcirrus-fix-invalid-insns switch,
2731 (cirrus.md): New file.
2732
2733 Mon Feb 10 11:40:18 CET 2003 Jan Hubicka <jh@suse.cz>
2734
2735 * combine.c (combine_simplify_rtx): Simplify using
2736 (float_truncate (float x)) is (float x)
2737 (float_extend (float_extend x)) is (float_extend x).
2738
2739 2003-02-10 Alan Modra <amodra@bigpond.net.au>
2740
2741 * calls.c (try_to_integrate): Tidy stack_usage_map access.
2742 (emit_library_call_value_1): Likewise. Formatting.
2743 (store_one_arg): Likewise.
2744
2745 2003-02-09 Nick Clifton <nickc@redhat.com>
2746 Aldy Hernandez <aldyh@redhat.com>
2747
2748 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
2749 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
2750 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
2751 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
2752 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
2753 docs. Add range test for immediate value.
2754
2755 2003-02-09 Aldy Hernandez <aldyh@redhat.com>
2756
2757 Rename spe_evxor to xorv2si3.
2758 (xorv4hi3): New.
2759 (xorv1di3): New.
2760
2761 2003-02-10 Glen Nakamura <glen@imodulo.com>
2762
2763 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
2764 tag.
2765
2766 Mon Feb 10 00:29:17 CET 2003 Jan Hubicka <jh@suse.cz>
2767
2768 * i386.c (vector_move_operand): New predicate.
2769 (ix86_expand_vector_move): Be happy about 0.
2770 * i386.h (PREDICATE_CODES): Add sse-move_operand.
2771 * i386.md (mov*_internal): Add 'C' alternative.
2772
2773 Sun Feb 9 23:58:33 CET 2003 Jan Hubicka <jh@suse.cz>
2774
2775 * i386.md (floathi*): Deal with SSE.
2776
2777 Sun Feb 9 23:54:59 CET 2003 Jan Hubicka <jh@suse.cz>
2778
2779 * simplify-rtx.c (simplify_unary_operation,
2780 simplify_binary_operation): Deal with vector modes
2781 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
2782
2783 2002-02-09 Richard Sandiford <rsandifo@redhat.com>
2784
2785 * toplev.c (rest_of_compilation): Recompute register usage after
2786 split_all_insns.
2787
2788 2003-02-09 Richard Henderson <rth@redhat.com>
2789
2790 * libgcc-std.ver (__clztf2): New.
2791 (__ctztf2, __popcounttf2, __paritytf2): New.
2792 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
2793 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
2794 adjust code to match the different type sizes.
2795 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
2796 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
2797
2798 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
2799 TImode; select word_mode and twice that.
2800 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
2801 select the modes from float, double, and long double.
2802 (init_optabs): Remove duplicate initializations.
2803
2804 2003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
2805
2806 * doc/install.texi: Squeeze and streamline section on
2807 testing and regression checking.
2808
2809 Sun Feb 9 13:33:34 CET 2003 Jan Hubicka <jh@suse.cz>
2810
2811 * i386.md (ahi?v*3): Set third operand type to TImode.
2812 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
2813
2814 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
2815 integer mode.
2816
2817 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
2818 Change code so they are arithmetic expressions now.
2819 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
2820 simplify_ternary_operation): Deal with VEC_* expressions.
2821
2822 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
2823
2824 Sat Feb 8 00:21:22 CET 2003 Jan Hubicka <jh@suse.cz>
2825
2826 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
2827 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
2828 possibly got duplicated.
2829
2830 2003-02-08 Richard Henderson <rth@redhat.com>
2831
2832 * config/alpha/alpha.c (override_options): Turn off explicit
2833 relocs until post-peep2 code duplication resolved.
2834
2835 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
2836
2837 * optabs.c (expand_unop): Widen clz properly when clz is done
2838 via libcall.
2839
2840 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
2841
2842 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
2843 * config/h8300/crti.asm: Likewise.
2844 * config/h8300/crtn.asm: Likewise.
2845 * config/h8300/ctzsi2.c: Likewise.
2846 * config/h8300/fixunssfsi.c: Likewise.
2847 * config/h8300/h8300-protos.h: Likewise.
2848 * config/h8300/h8300.c: Likewise.
2849 * config/h8300/h8300.h: Likewise.
2850 * config/h8300/h8300.md: Likewise.
2851 * config/h8300/paritysi2.c: Likewise.
2852 * config/h8300/popcountsi2.c: Likewise.
2853 * config/h8300/rtems.h: Likewise.
2854
2855 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2856
2857 * doc/invoke.texi: Documentation for my previous commit.
2858 * doc/passes.texi: Ditto.
2859
2860 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2861
2862 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
2863 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
2864 Declare.
2865 (DLTHE_FLAG_UPDATE_FREQ): New.
2866 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
2867 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
2868 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
2869 fix_bb_placement, fix_bb_placements, place_new_loop,
2870 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
2871 New static functions.
2872 (fix_loop_placement, can_duplicate_loop_p,
2873 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
2874 New functions.
2875
2876 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
2877 unswitch_loops): Declare.
2878 * loop-init.c: New file.
2879 * loop-unswitch.c: New file.
2880 * Makefile.in (loop-init.o, loop-unswitch.o): New.
2881 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
2882 * toplev.c (DFI_loop2): New dump.
2883 (flag_unswitch_loops): New.
2884 (lang_independent_options): Add it.
2885 (rest_of_compilation): Call new loop optimizer.
2886 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
2887
2888 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
2889
2890 * config/h8300/clzsi2.c: New.
2891 * config/h8300/ctzsi2.c: Likewise.
2892 * config/h8300/paritysi2.c: Likewise.
2893 * config/h8300/popcountsi2.c: Likewise.
2894 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
2895
2896 2003-02-07 David Edelsohn <edelsohn@gnu.org>
2897
2898 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
2899 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
2900 (ctzsi2): New pattern.
2901 (ffssi2): Use clz instead of unspec.
2902 (clzdi2): Rename from cntlzd2.
2903 (ctzdi2): New pattern.
2904 (ffsdi2): Use clz instead of unspec.
2905
2906 2003-02-07 Loren James Rittle <ljrittle@acm.org>
2907
2908 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
2909 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
2910 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
2911 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
2912
2913 2003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
2914
2915 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
2916
2917 2003-02-07 Richard Henderson <rth@redhat.com>
2918
2919 PR 9226
2920 * gcse.c (local_cprop_find_used_regs): New.
2921 (local_cprop_pass): Use it.
2922
2923 2003-02-07 Fred Fish <fnf@intrinsity.com>
2924
2925 * mips-tfile.c (parse_def): Parenthesize assignments to fix
2926 precedence bugs.
2927
2928 2003-02-07 Segher Boessenkool <segher@koffie.nl>
2929
2930 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
2931
2932 2003-02-07 Roger Sayle <roger@eyesopen.com>
2933
2934 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
2935 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
2936 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
2937 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
2938 builtin functions (and their __builtin_* variants).
2939 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
2940 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
2941 when not optimizing.
2942
2943 * doc/extend.texi: Document new pow and atan2 builtins, and
2944 their float and long double variants. Realphabetize builtins.
2945
2946 Fri Feb 7 23:24:28 CET 2003 Jan Hubicka <jh@suse.cz>
2947
2948 * i386.md (sse2_nandv2di3): Fix.
2949
2950 2003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
2951
2952 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
2953 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
2954 definition.
2955 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
2956 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
2957
2958 Fri Feb 7 22:22:40 CET 2003 Jan Hubicka <jh@suse.cz>
2959
2960 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
2961
2962 2003-02-07 Daniel Berlin <dberlin@dberlin.org>
2963
2964 * cfg.c (dump_flow_info): Add back accidently deleted line.
2965
2966 2003-02-07 Andrey Petrov <petrov@netbsd.org>
2967
2968 * optabs.c (expand_float): Search wider integer modes first.
2969
2970 2003-02-07 Bob Wilson <bob.wilson@acm.org>
2971
2972 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
2973 based on preprocessor flag.
2974
2975 2003-02-07 Roger Sayle <roger@eyesopen.com>
2976 Richard Henderson <rth@redhat.com>
2977
2978 * gcse.c (implicit_sets): New.
2979 (compute_hash_table_work): Include them in hash table.
2980 (find_implicit_sets, fis_get_condition): New.
2981 (one_cprop_pass): Allocate and free implicit_sets; call
2982 find_implicit_sets before building hash table.
2983
2984 2003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
2985
2986 * config/t-netbsd (USER_H): Revert previous change.
2987
2988 2003-02-07 Gabor Greif <ggreif@lucent.com>
2989
2990 * doc/c-tree.texi (Namespaces): Fix typo.
2991
2992 Fri Feb 7 02:18:57 CET 2003 Jan Hubicka <jh@suse.cz>
2993
2994 * regrename.c (do_replace, find_oldest_value_reg,
2995 copyprop_hardreg_forward_1): Update register attributes.
2996
2997 2003-02-06 Vladimir Makarov <vmakarov@redhat.com>
2998
2999 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
3000 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
3001 variables starting with underscore.
3002 (struct unit_usage): New structure.
3003 (unit_usages, cycle_alt_unit_usages): New global variables.
3004 (check_unit_distribution_in_reserv): Remove it.
3005 (store_alt_unit_usage): New function.
3006 (check_regexp_units_distribution): Rewrite it.
3007
3008 2003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3009
3010 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
3011 target_cpu_default.
3012 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
3013 if not MASK_NO_SPACE_REGS.
3014 (output_call): Adjust return pointer, don't load new space register
3015 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
3016 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
3017 TARGET_NO_SPACE_REGS is true.
3018 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
3019 conditions.
3020 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
3021 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
3022 true. Use bve when TARGET_64BIT is true.
3023
3024 2003-02-06 Richard Henderson <rth@redhat.com>
3025
3026 * combine.c (nonzero_bits): Fix double break.
3027
3028 2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3029 Richard Henderson <rth@redhat.com>
3030
3031 PR c/9530
3032 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
3033 from functions that return a float to functions that don't.
3034
3035 Thu Feb 6 00:18:38 CET 2003 Jan Hubicka <jh@suse.cz>
3036
3037 * i386.c (x86_inter_unit_moves): New variable.
3038 (ix86_secondary_memory_needed): Fix 64bit case, honor
3039 TARGET_INTER_UNIT_MOVES
3040 * i386.h (x86_inter_unit_moves): Declare.
3041 (TARGET_INTER_UNIT_MOVES): New macro.
3042 * i386.md (movsi_1): Cleanup constraints; disable
3043 when not doing inter-unit moves.
3044 (movsi_1_nointernunit): New.
3045 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
3046 (movdi_1_rex64_nointerunit): New.
3047 (mivsf_1): disable when not doing inter-unit moves.
3048 (movsf_1_nointerunit): New.
3049
3050 * basic-block.h (inside_basic_block_p): Declare.
3051 * cfgbuild.c (inside_basic_block_p): Make global.
3052 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
3053 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
3054 update CFG.
3055 (fix_basic_block_boundaries, add_missing_bbs): New.
3056 (rank): Use profile.
3057 (scheudle_ebbs): Rely on CFG; update coments.
3058
3059 2003-02-05 Geoffrey Keating <geoffk@apple.com>
3060
3061 * Makefile.in (host_hook_obj): New.
3062 (OBJS): Add $(host_hook_obj).
3063 (host_default.o): New rule.
3064 * config.gcc (host_hook_obj): New, default to host-default.o.
3065 (powerpc-*-darwin*): Use host-darwin.o.
3066 (out_host_hook_obj): New.
3067 * configure: Regenerate.
3068 * configure.in: Print information about out_host_hook_obj, substitute
3069 into output files.
3070 * host-default.c: New file.
3071 * hosthooks.h: New file.
3072 * toplev.c (general_init): Call host_hooks.extra_signals.
3073 * config/rs6000/host-darwin.c: New file.
3074 * config/rs6000/x-darwin: New file.
3075 * doc/hostconfig.texi: Add documentation for new host hook.
3076 Rearrange existing documentation.
3077
3078 2003-02-05 Roger Sayle <roger@eyesopen.com>
3079
3080 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
3081 with *targetm.delegitimize_address.
3082 (rtl_for_decl_location): Likewise.
3083 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
3084 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
3085
3086 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
3087 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
3088 prototype.
3089 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
3090 i386_simplify_dwarf_addr. Made static. Prototyped.
3091 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
3092 i386_simplify_dwarf_addr to ix86_delegitimize_address.
3093 (ix86_find_base_term): Likewise.
3094 (maybe_get_pool_constant): Likewise.
3095
3096 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
3097 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
3098 prototype.
3099 * config/s390/s390.c (s390_delegitimize_address): Renamed from
3100 s390_simplify_dwarf_addr. Made static. Prototyped.
3101 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
3102
3103 2003-02-05 Richard Henderson <rth@redhat.com>
3104
3105 PR c/8602
3106 * integrate.c (output_inline_function): Reset input_filename
3107 and lineno from the decl before rest_of_compilation.
3108
3109 2003-02-05 Richard Henderson <rth@redhat.com>
3110
3111 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
3112 (CTZ_DEFINED_VALUE_AT_ZERO): New.
3113 * doc/rtl.texi, doc/tm.texi: Document them.
3114
3115 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
3116 of the value at zero properly.
3117 * fold-const.c (tree_expr_nonnegative_p): Likewise.
3118 * simplify-rtx.c (simplify_unary_operation): Likewise.
3119
3120 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
3121 (CTZ_DEFINED_VALUE_AT_ZERO): New.
3122
3123 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
3124 (TARGET_EXPAND_BUILTIN): Remove.
3125 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
3126 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
3127 (enum arm_builtins): Remove.
3128 * config/arm/arm.md (UNSPEC_CLZ): Remove.
3129 (clzsi2): Rename from clz; use clz instead of unspec.
3130 (ctzsi2): New.
3131 * config/arm/arm-protos.h: Update.
3132
3133 Wed Feb 5 23:12:57 CET 2003 Jan Hubicka <jh@suse.cz>
3134
3135 * i386-protos.h (x86_emit_floatuns): Declare.
3136 * i386.c (x86_emit_floatuns): New global function.
3137 * i386.md (floatunssisf2, floatunsdisf2,
3138 floatunsdidf2): New patterns.
3139
3140 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3141
3142 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
3143
3144 2003-02-05 Hans Boehm <Hans.Boehm@hp.com>
3145
3146 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
3147 config/ia64/linux.h
3148
3149 2002-02-05 Roger Sayle <roger@eyesopen.com>
3150
3151 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
3152
3153 2003-02-05 Jakub Jelinek <jakub@redhat.com>
3154
3155 PR optimization/8555
3156 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
3157 instead of aborting.
3158
3159 2003-02-04 Richard Henderson <rth@redhat.com>
3160
3161 * config/i386/i386.md (UNSPEC_BSF): Remove.
3162 (ffssi2): Split into cmove and no_cmove insns and splitters;
3163 lose pentium float trick for now.
3164 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
3165 (ctzsi2, clzsi2, bsr): New.
3166
3167 2003-02-04 Richard Henderson <rth@redhat.com>
3168
3169 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
3170 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
3171 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
3172 (ffsdi2): Use popcount instead of unspec.
3173 (popcountdi2): Rename from *popcnt.
3174 (ctzdi2, clzdi2, getf_exp_tf): New.
3175
3176 2003-02-04 Kazu Hirata <kazu@cs.umass.edu>
3177
3178 * genconfig.c (main): Generate CC0_P.
3179 * rtl.h (CC0_P): Remove.
3180
3181 2003-02-04 Richard Henderson <rth@redhat.com>
3182
3183 * libgcc2.h, libgcc2.c (__ffsSI2): New.
3184 (__ffsDI2): Rename from __ffsdi2.
3185 * mklibgcc.in (lib2funcs): Add _ffssi2.
3186
3187 2003-02-04 Richard Henderson <rth@redhat.com>
3188
3189 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
3190 rounds with a "bit table" lookup.
3191
3192 2003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
3193
3194 * reload.c (find_reloads): Do not use the mode specified in the insn
3195 pattern as reload mode for address operands. Do not generate optional
3196 reloads for operands where a mandatory reload was already pushed.
3197
3198 2003-02-04 Richard Henderson <rth@redhat.com>
3199
3200 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
3201 builtins instead of inline assembly.
3202
3203 2003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3204
3205 PR c/9376
3206 * libgcc2.c (__subvdi3): Fix typo.
3207
3208 Tue Feb 4 21:46:05 CET 2003 Jan Hubicka <jh@suse.cz>
3209
3210 * i386.md (movti_rex64): Fix constraint.
3211
3212 Tue Feb 4 18:40:42 CET 2003 Jan Hubicka <jh@suse.cz>
3213
3214 * i386.md (vector push splitters): Fix typo in resolving conflict.
3215
3216 2003-02-04 Rodney Brown <rbrown64@csc.com.au>
3217
3218 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
3219
3220 2003-02-04 Phil Edwards <pme@gcc.gnu.org>
3221
3222 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
3223 for recent libstdc++. Remove formatting cruft.
3224
3225 2003-02-04 Jakub Jelinek <jakub@redhat.com>
3226
3227 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
3228 attribute even if input file name is absolute, but one of the
3229 includes is relative.
3230
3231 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
3232
3233 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
3234 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
3235 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
3236
3237 2003-02-03 Richard Henderson <rth@redhat.com>
3238
3239 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
3240 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
3241 return type to "int". Shuffle declarations and undef int trap.
3242 * libgcc2.h: Remove their declarations.
3243 * optabs.c (expand_unop): Force outmode to int for bitops.
3244
3245 2003-02-03 Bob Wilson <bob.wilson@acm.org>
3246
3247 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
3248 coprocessor registers before floating-point registers.
3249 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
3250 to account for a previously removed register.
3251 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
3252 Delete unused macros.
3253
3254 Mon Feb 3 21:19:11 CET 2003 Jan Hubicka <jh@suse.cz>
3255
3256 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
3257 (mov*_internal): Fix predicates; require one of operands to not be
3258 memory.
3259 (SSE?MMX move expanders): Fix predicates; force one of operands to
3260 register.
3261 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
3262 (movups/movupd/movdqu patterns): Force one of operands to not be
3263 memory.
3264
3265 2002-02-03 Roger Sayle <roger@eyesopen.com>
3266
3267 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
3268 takes a single rtx and returns it unmodified.
3269 * hooks.h (hook_rtx_rtx_identity): Prototype here.
3270 * target.h (struct gcc_target): Add "delegitimize_address"
3271 field to target structure.
3272 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
3273 for delegitimize_address target using hook_rtx_rtx_identity.
3274 (TARGET_INITIALIZER): Initialize delegitimize_address field
3275 using TARGET_DELEGITIMIZE_ADDRESS macro.
3276 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
3277 extensions of constant pool references. Use delegitimize_address
3278 to undo the obfuscation of "-fpic".
3279 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
3280
3281 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
3282 i386_simplify_dwarf_addr.
3283 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
3284 (maybe_get_pool_constant): Likewise.
3285
3286 Mon Feb 3 16:01:17 CET 2003 Jan Hubicka <jh@suse.cz>
3287
3288 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
3289
3290 Mon Feb 3 01:30:11 CET 2003 Jan Hubicka <jh@suse.cz>
3291
3292 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
3293
3294 2003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3295
3296 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
3297 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
3298
3299 2003-02-02 Andreas Schwab <schwab@suse.de>
3300
3301 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
3302
3303 2003-02-02 Richard Earnshaw <rearnsha@arm.com>
3304
3305 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
3306 (epilogue_insns): Likewise.
3307
3308 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3309
3310 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
3311
3312 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3313
3314 * pa-protos.h (attr_length_millicode_call): Remove second argument.
3315 (attr_length_indirect_call, attr_length_indirect_call,
3316 attr_length_save_restore_dltp): New prototypes.
3317 * pa.c (attr_length_millicode_call): Remove second argument. Check
3318 INSN_ADDRESSES_SET_P in distance calculation.
3319 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
3320 INSN_ADDRESSES.
3321 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
3322 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
3323 Call attr_length_call directly.
3324 (attr_length_indirect_call, output_indirect_call,
3325 attr_length_save_restore_dltp): New functions.
3326 * pa.md (attr_length_millicode_call): Drop second argument from all
3327 patterns.
3328 (return_internal_pic): Delete.
3329 (return_external_pic): Remove use of PIC register and pic operand and
3330 flag checks.
3331 (epilogue): Use return_internal for both normal and pic code.
3332 (call, call_value): Emit new 32-bit pic patterns for symref and
3333 indirect calls. Remove uses for arg pointer and pic register.
3334 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
3335 call_reg_pic_post_reload, call_val_symref_pic,
3336 call_val_symref_pic_post_reload, call_val_reg_pic,
3337 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
3338 Implement define_split and define_peephole2 patterns for pre reload
3339 patterns.
3340 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
3341 call_value_internal_reg_64bit): Shorten names.
3342 (all call patterns): Explicitly indicate registers used and clobbered.
3343 Use attr_length_indirect_call and attr_length_save_restore_dltp for
3344 attribute length calculation. Move code generation for indirect calls
3345 to output_indirect_call.
3346 (sibcall, sibcall_value): Don't restore PIC register.
3347 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
3348 register retore.
3349
3350 2003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3351
3352 * doc/install.texi (Testing): Simplify and compress instructions
3353 concerning Dejagnu.
3354
3355 2003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3356
3357 * collect2.c (pexecute_pid): Rename to pid.
3358 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
3359 pid.
3360
3361 2003-02-01 Geoffrey Keating <geoffk@apple.com>
3362
3363 * doc/extend.texi (Function Attributes): Remove documentation
3364 for PowerPC Windows NT function attributes..
3365
3366 2003-02-01 Daniel Jacobowitz <drow@mvista.com>
3367
3368 * dwarf2out.c (gen_type_die): Check for typedefs before calling
3369 for TYPE_MAIN_VARIANT.
3370
3371 2003-02-01 Richard Henderson <rth@redhat.com>
3372
3373 * libgcc2.c: Include auto-host.h.
3374 (ATTRIBUTE_HIDDEN): New.
3375 (__clz_tab): Don't declare here for clz and ctz.
3376 (__clzsi2, __clzdi2): Use count_leading_zeros.
3377 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
3378 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
3379 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
3380 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
3381
3382 2003-02-01 Richard Henderson <rth@redhat.com>
3383
3384 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
3385 to the conditional.
3386 (ashlsi3_1_zext splitter): Likewise.
3387
3388 2003-02-01 Richard Henderson <rth@redhat.com>
3389
3390 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
3391 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
3392 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
3393 return type to Wtype.
3394
3395 * libgcc-std.ver (GCC_3.4): Fix inheritance.
3396
3397 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
3398 expander input constraint.
3399
3400 2003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3401
3402 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
3403 OTI_parity.
3404 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
3405 * optabs.c (widen_clz, expand_parity): New.
3406 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
3407 for libcalls to clz, ctz, popcount, and parity.
3408 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
3409 parity_optab, and set up libfunc handlers.
3410 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
3411 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
3412 __popcount_tab): New.
3413 * libgcc2.h: Declare them.
3414 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
3415 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
3416 and parity_optab.
3417 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
3418 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
3419 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
3420 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
3421 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
3422 BUILT_IN_PARITYLL): New.
3423 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
3424 and add optab argument.
3425 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
3426 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
3427 * expr.c (expand_expr): Handle them.
3428 * fold-const.c (tree_expr_nonnegative_p): Likewise.
3429 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
3430 * reload1.c (eliminate_regs): Handle them.
3431 (elimination_effects): Likewise.
3432 * function.c (instantiate_virtual_regs_1): Likewise
3433 * genattrtab.c (check_attr_value): Likewise.
3434 * simplify-rtx.c (simplify_unary_operation): Likewise.
3435 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
3436 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
3437 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
3438 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
3439 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
3440 __builtin_arm_clz.
3441 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
3442 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
3443 * doc/extend.texi (Other Builtins): Add new builtins.
3444 * doc/md.texi (Standard Names): Add new patterns.
3445
3446 2003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
3447
3448 * reload.c: Revert 2003-01-31 change.
3449
3450 Sat Feb 1 14:14:40 CET 2003 Jan Hubicka <jh@suse.cz>
3451
3452 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
3453
3454 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
3455
3456 * flags.h (flag_volatile): Remove declaration.
3457 (flag_volatile_global, flag_volatile_static): Likewise.
3458 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
3459 * toplev.c (flag_volatile): Remove definition.
3460 (flag_volatile_global, flag_volatile_static): Likewise.
3461 (f_options): Remove corresponding entries here.
3462 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
3463 or flag_volatile_static.
3464 * doc/invoke.texi: Remove documentation of -fvolatile,
3465 -fvolatile-global and -fvolatile-static.
3466
3467 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3468
3469 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
3470 updating of total_code_bytes from prologue to epilogue.
3471
3472 2003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
3473
3474 * reload.c (find_reloads): Do not use the mode specified in the insn
3475 pattern as reload mode for address operands. Do not generate optional
3476 reloads for operands where a mandatory reload was already pushed.
3477 Generate optional reloads only in the final pass though find_reloads.
3478 (have_replacement_p): New function.
3479
3480 2003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3481
3482 * doc/install.texi (Testing): Remove a reference to our obsolete
3483 /testresults web pages and strip redundant information concerning
3484 test results.
3485 (Binaries): Refer to Microsoft Windows instead of listing all
3486 possible variants.
3487
3488 Sat Feb 1 00:28:30 CET 2003 Jan Hubicka <jh@suse.cz>
3489
3490 * loop.c (emit_prefetch_instructions): Do conversion at right place in
3491 RTL chain.
3492
3493 * combine.c (simplify_set): Reverse order of ragumetns to
3494 REG_CANNOT_CHANGE_MODE_P
3495 * df.c (df_def_record_1): Likewise.
3496 * recog.c (register_operand): Likewise.
3497 * simplify-rtx.c (simplify_subreg): Likewise.
3498 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
3499 CANNOT_CHANGE_MODE_CLASS.
3500 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
3501 Likewise.
3502 * reload.c (push_reload): Likewise.
3503 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3504 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3505 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3506 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
3507 * mips.c (mips_cannot_change_mode_class): Update.
3508 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3509 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3510 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3511 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3512 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
3513 * sh.c (sh_cannot_change_mode_class): Update.
3514 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
3515 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
3516
3517 2003-01-31 Geoffrey Keating <geoffk@apple.com>
3518
3519 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
3520 change to LINK_COMMAND_SPEC in gcc.c.
3521
3522 2003-01-31 Jan Hubicka <jh@suse.cz>
3523
3524 PR c/9506
3525 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
3526
3527 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3528
3529 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
3530 duplicated code.
3531
3532 2003-01-31 Nathan Sidwell <nathan@codesourcery.com>
3533
3534 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
3535 (BINFO_ELTS): New #define.
3536 * stor-layout.c (finalize_record_size): Don't set them.
3537 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
3538 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
3539 (BINFO_LANG_ELTS): New #define.
3540 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
3541 * java/class.c (make_class): Use BINFO_ELTS.
3542 (set_super_info): Likewse.
3543 (add_interface_do): Likewise.
3544 * objc/objc-act.c (start_class): Use BINFO_ELTS.
3545
3546 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
3547
3548 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
3549 (times): Don't ever declare if not HAVE_TIMES.
3550 (clock): Don't ever declare if not HAVE_CLOCK.
3551
3552 2003-01-30 Richard Henderson <rth@redhat.com>
3553
3554 * flow.c (update_life_info): Zap life info after cleanup_cfg.
3555 (regno_uninitialized): Use correct live at function entry set.
3556 (regno_clobbered_at_setjmp): Likewise.
3557
3558 * expr.c (store_expr): Promote all MEM intermediates to regs.
3559
3560 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
3561
3562 * config/arm/arm.c: Fix comment typos.
3563 * config/arm/arm.h: Likewise.
3564 * config/arm/netbsd-elf.h: Likewise.
3565 * config/arm/netbsd.h: Likewise.
3566
3567 2003-01-30 Geoffrey Keating <geoffk@apple.com>
3568
3569 * gengtype.c (struct walk_type_data): Add needs_cast_p.
3570 (walk_type): Set needs_cast_p in walk_type_data.
3571 (write_types_process_field): Supply casts when required to suppress
3572 warnings.
3573 (write_root): Cast gt_pch_n_S to suppress warning.
3574 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
3575 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
3576 when they might exist.
3577 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
3578 insn-conditions.o, and rs6000.o.
3579
3580 2003-01-30 Richard Henderson <rth@redhat.com>
3581
3582 * ggc-page.c (G.context_depth_allocations): New.
3583 (G.context_depth_collections): New.
3584 (alloc_page): Set G.context_depth_allocations.
3585 (ggc_collect): Set G.context_depth_collections.
3586 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
3587 (ggc_pop_context): Early exit for no allocations or collections.
3588
3589 2003-01-30 Richard Henderson <rth@redhat.com>
3590
3591 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
3592
3593 2003-01-30 Richard Earnshaw <rearnsha@arm.com>
3594
3595 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
3596 size, the link register is always saved if any other register is
3597 saved.
3598
3599 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
3600
3601 * config/h8300/h8300-protos.h: Update the prototype for
3602 compute_plussi_cc.
3603 (cpp_reader): Declare before it is used.
3604 * config/h8300/h8300.c (compute_plussi_cc): Change the return
3605 type to int.
3606 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
3607 see an unknown H8 variant.
3608
3609 2003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3610
3611 PR target/9316
3612 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
3613 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
3614 * config/rs6000/t-rtems: New file. multilib variants to match OS.
3615 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
3616 rs6000/t-ppcgas so we get the desired multilibs.
3617
3618 2003-01-30 Nick Clifton <nickc@redhat.com>
3619
3620 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
3621 when popping saved IP register off the stack.
3622
3623 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
3624
3625 * config/rs6000/aix43.h: Fix comment typos.
3626 * config/rs6000/aix51.h: Likewise.
3627 * config/rs6000/aix52.h: Likewise.
3628 * config/rs6000/altivec.h: Likewise.
3629 * config/rs6000/rs6000.c: Likewise.
3630 * config/rs6000/rs6000.h: Likewise.
3631 * config/rs6000/rs6000.md: Likewise.
3632 * config/rs6000/spe.md: Likewise.
3633
3634 2003-01-29 Mark Mitchell <mark@codesourcery.com>
3635
3636 * c-common.c (builtin_define_float_constants): Define
3637 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
3638
3639 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
3640
3641 * config/sh/lib1funcs.asm: Fix comment typos.
3642 * config/sh/linux.h: Likewise.
3643 * config/sh/sh.c: Likewise.
3644 * config/sh/sh.md: Likewise.
3645
3646 2003-01-30 Loren James Rittle <ljrittle@acm.org>
3647
3648 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
3649
3650 2003-01-30 Alexandre Oliva <aoliva@redhat.com>
3651
3652 * config/fp-bit.h (__make_dp): Declare if TMODES.
3653
3654 2003-01-29 Kazu Hirata <kazu@cs.umass.edu>
3655
3656 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
3657 general_operand_src and general_operand_dst.
3658
3659 2003-01-29 David Edelsohn <edelsohn@gnu.org>
3660
3661 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
3662 Return true for variable sized types.
3663 (rs6000_va_arg): Handle variable sized types passed by reference
3664 on non-SVR4 ABI.
3665
3666 2003-01-29 Richard Earnshaw <rearnsha@arm.com>
3667
3668 * arm.c (arm_legtimize_address): New function.
3669 * arm-protos.h (arm_legtimize_address): Add prototype.
3670 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
3671 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
3672 do ... while (0)
3673
3674 2003-01-29 Joel Sherrill <joel@OARcorp.com>
3675
3676 PR bootstrap/9296
3677 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
3678 depended on it being defined until now.
3679
3680 2003-01-29 Joel Sherrill <joel@OARcorp.com>
3681
3682 PR target/9295
3683 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
3684 RTEMS code knows which C++ initialization style the toolset
3685 configuration is using.
3686
3687 2003-01-29 Joel Sherrill <joel@OARcorp.com>
3688
3689 PR bootstrap/9293
3690 * config/m68k/t-crtstuff: Replace spaces with tabs, add
3691 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
3692
3693 2003-01-29 Joel Sherrill <joel@OARcorp.com>
3694
3695 PR bootstrap/9292
3696 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
3697 RTEMS threads.
3698 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
3699
3700 2003-01-29 Nick Clifton <nickc@redhat.com>
3701
3702 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
3703 not $(srcdir).
3704
3705 2003-01-29 Andrew Haley <aph@redhat.com>
3706
3707 * tree-inline.c (walk_tree): Add CHAR_TYPE.
3708
3709 Wed Jan 29 10:26:12 CET 2003 Jan Hubicka <jh@suse.cz>
3710
3711 * i386.md (subdi3_carry_rex64): Fix typo.
3712
3713 2003-01-28 Stan Shebs <shebs@apple.com>
3714
3715 * coretypes.h (cpp_reader): Forward declare struct.
3716 * c-pragma.h (cpp_reader): Remove forward declaration.
3717 * hashtable.h (cpp_reader): Likewise.
3718 * scan.h (cpp_reader): Likewise.
3719 * tree.h (cpp_reader): Likewise.
3720 * config/darwin-protos.h (cpp_reader): Likewise.
3721 * config/arm/arm-protos.h (cpp_reader): Likewise.
3722 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
3723 struct cpp_reader in prototypes.
3724
3725 2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
3726
3727 * doc/install.texi: Add documentation for installation into
3728 tooldirs and with DESTDIR.
3729
3730 2003-01-28 Richard Henderson <rth@redhat.com>
3731
3732 * config.gcc (ia64*-*-aix*): Remove.
3733 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
3734 * config/ia64/unwind-aix.c: Remove file.
3735
3736 2003-01-28 Andreas Schwab <schwab@suse.de>
3737
3738 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
3739 register.
3740 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
3741 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
3742 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
3743 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
3744 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
3745 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
3746 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
3747
3748 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
3749
3750 * combine.c (nonzero_bits): Fix check for negative divide operands.
3751
3752 2003-01-28 Richard Henderson <rth@redhat.com>
3753
3754 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
3755 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
3756
3757 2003-01-28 Richard Henderson <rth@redhat.com>
3758
3759 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
3760
3761 * config/cris/cris.c (cris_address_cost): Make static.
3762 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
3763 * config/cris/cris.h (ADDRESS_COST): Remove.
3764 * config/cris/cris-protos.h: Update.
3765
3766 2003-01-23 Mike Stump <mrs@apple.com>
3767
3768 * regclass.c (init_reg_autoinc): New function.
3769 (regclass): Move initialization of forbidden_inc_dec_class from
3770 here...
3771 (init_regs): to here. Avoids reinitialization for each function,
3772 saving compilation time.
3773
3774 2003-01-28 Jason Merrill <jason@redhat.com>
3775
3776 * cpplib.h (struct cpp_options): Add warn_deprecated field.
3777 * cppinit.c (cpp_create_reader): Turn it on by default.
3778 * c-opts.c (c_common_decode_option): Set it.
3779 * cpplib.c (do_pragma_once): Only complain about #pragma once
3780 if warn_deprecated is set.
3781
3782 2003-01-28 Dale Johannesen <dalej@apple.com>
3783
3784 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
3785 * loop.c (scan_loop): Move movables on -Os rich-register targets.
3786 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
3787
3788 2003-01-28 Richard Henderson <rth@redhat.com>
3789
3790 * target.h (targetm.address_cost): New.
3791 * target-def.h (TARGET_ADDRESS_COST): New.
3792 (TARGET_RTX_COSTS): Uncomment. Oops.
3793 * cse.c (address_cost): Use new target hook.
3794 (default_address_cost): New.
3795 * output.h (default_address_cost): Declare.
3796 * hooks.c (hook_int_rtx_0): New.
3797 * hooks.h (hook_int_rtx_0): Declare.
3798 * loop.c (combine_givs_p): Remove if 0 code.
3799 * system.h (ADDRESS_COST): Poison.
3800
3801 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
3802 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
3803 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
3804 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
3805 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
3806 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
3807 config/xtensa/xtensa.c, config/xtensa/xtensa.h
3808 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
3809 (ADDRESS_COST): Remove.
3810
3811 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
3812 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
3813 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
3814 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
3815 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
3816 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
3817 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
3818 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
3819 config/mips/mips.c, config/mips/mips.h,
3820 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
3821 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
3822 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
3823 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
3824 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
3825 config/vax/vax.c, config/vax/vax.h
3826 (foo_address_cost): Make static.
3827 (TARGET_ADDRESS_COST): New.
3828 (ADDRESS_COST): Remove.
3829
3830 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
3831 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
3832 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
3833 config/stormy16/stormy16.h
3834 (ADDRESS_COST): Move code ...
3835 (foo_address_cost): ... here.
3836 (TARGET_ADDRESS_COST): New.
3837
3838 * config/m32r/m32r.c (m32r_address_cost): Remove.
3839 * config/m32r/m32r-protos.h: Update.
3840
3841 * config/mmix/mmix.c (mmix_address_cost): Remove.
3842 * config/mmix/mmix-protos.h: Update.
3843
3844 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
3845 mn10300_address_cost; move unsig allocation ...
3846 (mn10300_address_cost): ... here.
3847 (TARGET_ADDRESS_COST): New.
3848 * config/mn10300/mn10300-protos.h: Update.
3849 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
3850
3851 * doc/tm.texi: Update.
3852
3853 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
3854
3855 * haifa-sched.c (schedule_insn): Return necessary cycle advance
3856 after issuing the insn.
3857 (rank_for_schedule): Make a insn with /S the highest priority
3858 insn.
3859 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
3860 (choose_ready): Check SCHED_GROUP_P.
3861 (schedule_block): Advance cycle after issuing insn if it is
3862 necessary. Don't reorder insns if there is an insn with /S.
3863 (set_priorities): Ignore schedule groups.
3864
3865 * sched-deps.c (remove_dependence, group_leader): Remove the
3866 functions.
3867 (add_dependence): Ignore schedule groups.
3868 (set_sched_group_p): Don't make copy of dependencies from previous
3869 insn of the schedule group. Add anti-dependency to the previous
3870 insn of the schedule group.
3871 (compute_forward_dependences): Ignore schedule groups.
3872
3873 * sched-ebb.c (init_ready_list): Ignore schedule groups.
3874
3875 * sched-rgn.c (init_ready_list): Ditto.
3876 (can_schedule_ready_p): Ditto.
3877
3878 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
3879
3880 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
3881 register to another one.
3882
3883 2003-01-28 Richard Henderson <rth@redhat.com>
3884
3885 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
3886
3887 2003-01-28 Roger Sayle <roger@eyesopen.com>
3888
3889 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
3890
3891 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
3892
3893 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
3894 class contains a floating-point register, return the size of the
3895 mode in half words.
3896
3897 Tue Jan 28 12:15:13 CET 2003 Jan Hubicka <jh@suse.cz>
3898
3899 * i386.c (ix86_carry_flag_operator): New predicate.
3900 (fcmov_operator): Fix whitespace.
3901 (ix86_expand_carry_flag_compare): Deal with floating point.
3902 (ix86_expand_int_movcc): Deal with fp; update insn expansion
3903 (ix86_expand_int_addcc): Likewise.
3904 (ix86_expand_strlensi_unroll_1): likewsie.
3905 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
3906 * i386.md (add?i_carry_rex64): Use new predicate.
3907 (sub?i3_carry_rex64): Likewise.
3908 (x86_mov?icc_0_m1*): Likewise.
3909
3910 2003-01-28 Andreas Schwab <schwab@suse.de>
3911
3912 * cfgloopmanip.c (create_preheader): Initialize src to avoid
3913 warning.
3914
3915 * expmed.c (emit_store_flag): Fix cast to avoid sign
3916 comparison warning.
3917
3918 * combine.c (force_to_mode): Add cast to fix warning when
3919 STORE_FLAG_VALUE is negative.
3920
3921 2003-01-27 Richard Henderson <rth@redhat.com>
3922
3923 * Makefile.in (cse.o): Depend on TARGET_H.
3924 * cse.c (rtx_cost): Use targetm.rtx_costs.
3925 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
3926 * doc/tm.texi: Update.
3927
3928 * target.h (targetm.rtx_costs): New.
3929 * target-def.h (TARGET_RTX_COSTS): New.
3930 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
3931 * hooks.h: Update.
3932
3933 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
3934 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
3935 * config/alpha/alpha.h (PROCESSOR_MAX): New.
3936 (CONST_COSTS, RTX_COSTS): Remove.
3937
3938 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
3939 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
3940 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
3941 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
3942 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
3943 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
3944 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
3945 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
3946 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
3947 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
3948 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
3949 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
3950 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
3951 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
3952 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
3953 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
3954 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
3955 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
3956 config/v850/v850.c, config/v850/v850.h,
3957 config/xtensa/xtensa.c, config/xtensa/xtensa.h
3958 (CONST_COSTS, RTX_COSTS): Move code ...
3959 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
3960
3961 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
3962 (arm_rtx_costs, TARGET_RTX_COSTS): New.
3963 * config/arm/arm-protos.h: Update.
3964 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
3965
3966 * config/avr/avr.h (CONST_COSTS): Move code ...
3967 * config/avr/avr.c (avr_rtx_costs): ... here.
3968 (default_rtx_costs): Make static.
3969 * config/avr/avr-protos.h: Update.
3970
3971 * config/h8300/h8300.c (const_costs): Make static.
3972 (h8300_and_costs, h8300_shift_costs): Likewise.
3973 * config/h8300/h8300-protos.h: Update.
3974
3975 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
3976 (CONST_COSTS): Move code ...
3977 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
3978 default_rtx_costs; update for signature change.
3979 * config/ip2k/ip2k-protos.h: Update.
3980
3981 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
3982 (CONST_COSTS): Move code ...
3983 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
3984 (TARGET_RTX_COSTS): New.
3985 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
3986 * config/m68hc11/m68hc11-protos.h: Update.
3987
3988 * config/m68k/m68k.c (const_int_cost): Make static.
3989 * config/m68k/m68k-protos.h: Update.
3990
3991 * config/mcore/mcore.c (mcore_const_costs): Make static.
3992 (mcore_and_cost, mcore_ior_cost): Likewise.
3993 * config/mcore/mcore-protos.h: Update.
3994
3995 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
3996 (mmix_rtx_cost_recalculated): Remove.
3997 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
3998 * config/mmix/mmix-protos.h: Update.
3999
4000 * config/sh/sh.c (shiftcosts): Make static.
4001 (addsubcosts, andcosts, multcosts): Likewise.
4002 * config/sh/sh-protos.h: Update.
4003
4004 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
4005 (sparc_rtx_costs): Make static; update for change in signature.
4006 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
4007 * config/sparc/sparc-protos.h: Update.
4008
4009 * config/v850/v850.c (const_costs): Make static.
4010 * config/v850/v850-protos.h: Update.
4011
4012 * config/vax/vax.h (RTX_COSTS): Remove.
4013 (CONST_COSTS): Move code ...
4014 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
4015 from vax_rtx_cost.
4016 (vax_rtx_costs, TARGET_RTX_COSTS): New.
4017
4018 2003-01-27 Richard Henderson <rth@redhat.com>
4019
4020 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
4021 * config/vax/vax-protos.h: Update. Really.
4022
4023 2003-01-28 Alexandre Oliva <aoliva@redhat.com>
4024
4025 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
4026 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
4027 zero if no hardware floating point.
4028 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
4029 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
4030 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
4031 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
4032 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
4033 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
4034 even FP registers on N32 and N64.
4035 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
4036 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
4037 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
4038 even-register-like alignment to 128-bit arguments.
4039 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
4040 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
4041 on N32 or N64.
4042 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
4043 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
4044 (TPBIT): Set to tp-bit.c.
4045 (tp-bit.c): Create out of fp-bit.c.
4046
4047 2003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
4048
4049 * c-parse.in: Remove '%expect 32' directive in objc mode.
4050
4051 2003-01-27 Nathan Sidwell <nathan@codesourcery.com>
4052
4053 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
4054 (LIBGCOV): New variable.
4055 (libgcc.mk): Add LIBGCOV.
4056 (LIBGCC_DEPS): Add libgcov.c.
4057 (libgcov.a): New target.
4058 (clean): Remove libgcov.a.
4059 (install-libgcc): Do libgcov too.
4060 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
4061 with libgcov.a.
4062 * libgcc2.c (L_gcov): Move into ...
4063 * libgcov.c: ... here. New file.
4064 * mklibgcc.in: Add libgcov rules.
4065 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
4066
4067 * doc/invoke.texi (profile-arcs, test-coverage): Update and
4068 clarify.
4069
4070 * profile.c (index_counts_file): Remove duplicate check for open file.
4071
4072 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
4073
4074 * gcc/doc/invoke.texi (Optimization Options): Group together
4075 optional and experimental flags. Move trapv and bounds-check
4076 out of this section. Group floating point flags together.
4077 (Code Gen Options): Move trapv and bounds-check to here.
4078
4079 2003-01-27 Josef Zlomek <zlomekj@suse.cz>
4080
4081 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
4082
4083 2003-01-27 Richard Earnshaw <rearnsha@arm.com>
4084
4085 PR optimization/9090
4086 * function.c (purge_addressof_1): After pushing an addressed register
4087 onto the stack, simplify the result.
4088
4089 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4090
4091 * doc/extend.texi: Fix typo.
4092
4093 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4094
4095 * doc/cppopts.texi: Fix typo.
4096 * doc/objc.texi: Likewise.
4097 * doc/passes.texi: Likewise.
4098
4099 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
4100
4101 * real.c (ibm_extended_format): Add 53 to minimum exponent.
4102 (encode_ibm_extended): Adjust.
4103
4104 2003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
4105
4106 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
4107 timevar_id enumerations.
4108
4109 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
4110
4111 * combine.c: Fix formatting.
4112
4113 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
4114
4115 * doc/gccint.texi: Update the copyright.
4116
4117 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
4118
4119 * doc/cpp.texi: Fix typos.
4120 * doc/extend.texi: Likewise.
4121 * doc/gty.texi: Likewise.
4122 * doc/install.texi: Likewise.
4123 * doc/passes.texi: Likewise.
4124 * doc/rtl.texi: Likewise.
4125 * doc/tm.texi: Likewise.
4126
4127 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
4128
4129 * config/ia64/fde-glibc.c: Fix comment typos.
4130 * config/ia64/hpux.h: Likewise.
4131 * config/ia64/ia64.c: Likewise.
4132 * config/ia64/ia64.h: Likewise.
4133 * config/ia64/unwind-ia64.c: Likewise.
4134
4135 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
4136
4137 * config/i386/i386-modes.def: Fix comment typos.
4138 * config/i386/i386.c: Likewise.
4139 * config/i386/i386.md: Likewise.
4140
4141 2003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
4142
4143 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
4144 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
4145 ASM_FINISH_DECLARE_OBJECT before defining it.
4146 * toplev.c (rest_of_decl_compilation): Don't define
4147 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
4148 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
4149 parameters for DWARF2 targets because they _are_ used.
4150
4151 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
4152
4153 * fp-bit.h: Define macros for TFmode floating-point constants
4154 in IBM-extended TFmode types.
4155 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
4156 widths.
4157 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
4158 TFmode type.
4159
4160 * config/fp-bit.h: Define macros for TFmode floating-point
4161 constants in IEEE quad TFmode type. Declare functions according
4162 to L_ macros.
4163 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
4164 (TFtype, TItype, UTItype): Define if TMODES is defined.
4165 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
4166 (F_T_BITOFF, D_T_BITOFF): Define.
4167 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
4168 guaranteed to be wide enough.
4169 * config/fp-bit.c: Check for L_ macros for tf functions.
4170 (__thenan_tf): New.
4171 (nan): Adjust.
4172 (pack_d, unpack_d): Support IEEE 854 quad type.
4173 (_fpmul_parts): Support TFmode. Compute exponent adjustment
4174 from FRAC_NBITS, FRAC_BITS and NGARDS.
4175 (usi_to_float): Cast constants to be shifted to fractype
4176 instead of assuming long long is wide enough.
4177 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
4178
4179 2003-01-26 Andreas Jaeger <aj@suse.de>
4180
4181 * df.c: Remove prototype of unused function df_regno_rtl_debug.
4182
4183 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
4184
4185 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
4186 (DBBIT_FUNCS): Added _df_to_tf.
4187 (TPBIT_FUNCS): New.
4188 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
4189 (LIBGCC_DEPS): Added TPBIT.
4190 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
4191
4192 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
4193 been able to move the result to target.
4194
4195 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
4196 for the appropriate mode.
4197
4198 * calls.c (emit_library_call_value_1): Handle return values
4199 in a PARALLEL.
4200
4201 * rtl.c (get_mode_alignment): Moved to...
4202 * stor-layout.c: ... here.
4203
4204 * print-rtl.c (print_rtx): Don't print MEM details in
4205 GENERATOR_FILEs.
4206
4207 2003-01-26 Michael Hayes <mph@paradise.net.nz>
4208
4209 * df.h: Update comments, tidy formatting.
4210 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
4211 REVERSE, UNION, INTERSECTION. All uses updated.
4212 (OLD_DF_INTERFACE): Remove.
4213 (struct insn_info): Remove commented out insn field.
4214 * df.c: Update comments, tidy formatting.
4215 (df_def_table_realloc): Remove.
4216
4217
4218 2003-01-26 Alan Modra <amodra@bigpond.net.au>
4219
4220 * calls.c (save_fixed_argument_area): Tidy.
4221 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
4222 (expand_call): Comment typo fixes. Don't init low_to_save. Start
4223 call chain loop at 1 if !try_tail_call. Formatting.
4224 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
4225 Use save_fixed_argument_area and restore_fixed_argument_area.
4226
4227 2003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4228
4229 * df.c (df_uses_record): Handle CC0.
4230
4231 2003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
4232
4233 * reload.c (maybe_memory_address_p): New function.
4234 (find_reloads_address): Use it instead of memory_address_p.
4235
4236 2003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
4237
4238 * final.c (shorten_branches): Align the address of code label
4239 when computing initial lengths and addresses.
4240
4241 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
4242
4243 * config/m68hc11/m68hc11.md: Fix a comment typo.
4244
4245 2003-01-25 Andreas Jaeger <aj@suse.de>
4246
4247 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
4248 TARGET_MACHO.
4249
4250 2003-01-25 Roger Sayle <roger@eyesopen.com>
4251
4252 * gcse.c (bypass_last_basic_block): New global variable.
4253 (bypass_block): Use redirect_edge_and_branch_force to redirect
4254 fall-through edges. Use bypass_last_basic_block to determine
4255 which blocks have valid PRE information.
4256 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
4257
4258 Sat Jan 25 22:31:59 CET 2003 Jan Hubicka <jh@suse.cz>
4259
4260 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
4261
4262 Sat Jan 25 21:04:33 CET 2003 Jan Hubicka <jh@suse.cz>
4263 Eric Botcazou <ebotcazou@libertysurf.fr>
4264 PR opt/8492
4265 * gcse.c (one_cprop_pass): Delete unreachable blocks.
4266
4267 2003-01-25 Richard Henderson <rth@redhat.com>
4268
4269 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
4270 from ia64_aix_select_rtx_section.
4271 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
4272 instead of saving and restoring flag_pic.
4273 (ia64_rwreloc_unique_section): Similarly.
4274 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
4275 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
4276 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
4277 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
4278
4279 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
4280
4281 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
4282 comment.
4283
4284 2002-01-25 Richard Henderson <rth@redhat.com>
4285
4286 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
4287
4288 2002-01-25 Kelley Cook <kelleycook@comcast.net>
4289
4290 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
4291
4292 2003-01-25 Segher Boessenkool <segher@koffie.nl>
4293
4294 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
4295 type for bitmaps. Use unsigned long.
4296 (nBITMAP_WORD_BITS): New macro.
4297 (BITMAP_WORD_BITS): New macro.
4298 (rest of file): Use it.
4299 * bitmap.c: Use it.
4300
4301 2003-01-25 Richard Henderson <rth@redhat.com>
4302
4303 2002-02-19 Robert Lipe <robertlipe@usa.net>
4304 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
4305
4306 2002-01-25 Roger Sayle <roger@eyesopen.com>
4307
4308 * builtins.c (purge_builtin_constant_p): Scan insn stream
4309 sequentially rather than by basic block.
4310 * function.c (purge_addressof): Simplify test with INSN_P.
4311
4312 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
4313
4314 * combine.c (simplify_comparison, case AND): Remove a redundant test.
4315
4316 2002-01-25 Roger Sayle <roger@eyesopen.com>
4317
4318 * function.h (struct function): New field calls_constant_p.
4319 (current_function_calls_constant_p): New macro for above.
4320 * function.c (prepare_function_start): Initialize calls_eh_return
4321 and calls_constant_p.
4322 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
4323 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
4324 when the current_function_calls_constant_p.
4325 * integrate.c (expand_inline_function): Set calls_constant_p if
4326 the function being inlined has calls_constant_p set.
4327
4328 2002-01-25 Roger Sayle <roger@eyesopen.com>
4329
4330 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
4331 optimizing, even if flag_gcse is true.
4332 * toplev.c (rest_of_compilation): purge_builtin_constant_p
4333 only needs to be called when "optimize > 0 && flag_gcse".
4334
4335 2003-01-25 Roger Sayle <roger@eyesopen.com>
4336
4337 * stmt.c (emit_case_bit_tests): New routine to implement suitable
4338 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
4339 (case_bit_test_cmp): New comparison function for "qsort" to order
4340 case_bit_tests by decreasing number of destination nodes.
4341 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
4342 (expand_end_case_type): Use emit_case_bit_tests to implement
4343 suitable switch statments.
4344 (CASE_USE_BIT_TESTS): New target macro to disable the above.
4345 * Makefile.in (stmt.o): Add dependency on optab.h.
4346 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
4347
4348 2003-01-23 Andreas Schwab <schwab@suse.de>
4349
4350 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
4351 __do_global_ctors_aux hidden global and don't put it in
4352 .init_array.
4353 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
4354 instead so that it comes first.
4355
4356 Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
4357
4358 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
4359 subreg is read/modify.
4360
4361 Sat Jan 25 15:55:08 CET 2003 Jan Hubicka <jh@suse.cz>
4362
4363 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
4364 do libcall for large blocks.
4365 * i386.md (comi patterns): Set type to ssecomi.
4366 (sse2_unpck?pd): Fix mode of vec_select.
4367
4368 * cse.c: Include except.h
4369 (cse_set_around_loop): Do not create new basic blocks.
4370 * Makefile.in (cse.o): Add dependnecy on except.h
4371
4372 Sat Jan 25 12:05:17 CET 2003 Jan Hubicka <jh@suse.cz>
4373
4374 * builtins.c (fold_trunc_transparent_mathfn): New function.
4375 (fold_builtin): Use it.
4376 * convert.c (convert_to_real): Re-enable code to convert
4377 math functions; add support for floor familly functions.
4378
4379 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4380
4381 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
4382 dependencies on coretypes.h and $(TM_H).
4383
4384 Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
4385
4386 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
4387
4388 2002-01-24 Stuart Hastings <stuart@apple.com>
4389
4390 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
4391
4392 2003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4393
4394 * config/c4x/c4x.md (UNSPEC_BU): New constants.
4395 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
4396 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
4397 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
4398 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
4399 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
4400 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
4401 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
4402
4403 Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
4404
4405 * emit-rtl.c (reg_attrs_htab): New static variable.
4406 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
4407 functions.
4408 (reg_rtx): Do not maintain regno_decl.
4409 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
4410 set_mem_attrs_from_reg): New global function.
4411 (init_emit): Do not initialize regno_decl.
4412 (init_emit_once): initialize reg_attrs_htab.
4413 * final.c (alter_subreg): Do not replace REG by SUBREG.
4414 (gen_mem_expr_from_op): Improve output.
4415 (output_asm_operands): Likewise.
4416 * function.c (assign_params): Do not set REGNO_DECL.
4417 * function.h (struct function): Kill regno_decl.
4418 (REGNO_DECL): Kill.
4419 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
4420 * print_rtl.c (print_rtx): Output REG information.
4421 * regclass.c (reg_scan_mark_refs): Update attrs.
4422 * reload1.c (alter_reg): Likewise.
4423 * simplify_rtx.c (simplify_subreg): Likewise.
4424 * stmt.c (expand_decl): Likewise.
4425 * rtl.def (REG): Add new field.
4426 * rtl.h (struct reg_attrs): New.
4427 (rtunion_def): At rtreg.
4428 (X0MEMATTR): Add checking.
4429 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
4430 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
4431 Declare.
4432 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
4433
4434 2003-01-24 Bob Wilson <bob.wilson@acm.org>
4435
4436 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
4437 (xtensa_emit_call, print_operand): Fix printf format strings
4438 to avoid compile warnings.
4439 (xtensa_function_prologue, xtensa_function_epilogue): Change type
4440 of "size" argument to HOST_WIDE_INT to fix compile warnings.
4441 * config/xtensa/xtensa-protos.h
4442 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
4443
4444 Fri Jan 24 23:03:32 CET 2003 Jan Hubicka <jh@suse.cz>
4445
4446 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
4447 (implicit_built_in_decls): New global array.
4448 (mathfn_built_in): New global function.
4449 (fold_trunc_transparent_mathfn): New static function
4450 (expand_builtin_strstr, expand_bultin_strchr,
4451 expand_builtin_strpbrk, expand_builtin_strcpy,
4452 expand_builtin_strncpy, expand_bultin_strcmp,
4453 expand_bultin_strncat, expand_builtin_fputs): Use
4454 implicint_built_in_decls.
4455 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
4456 * builtins.def: Fix comments.
4457 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
4458 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
4459 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
4460 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
4461 (DEF_C99_C90RES_BULTIN): New.
4462 (*f, *l builtins): Update.
4463 * c-common.c (DEF_BUILTIN): Initialize implicit array.
4464 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
4465 * convert.c (strip_float_extensions): New global function.
4466 * tree.h (DEF_BUILTIN): Accept 10 arguments.
4467 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
4468 Declare.
4469 * java/builtins.c (define_builtin): Handle implicit.
4470 (DEF_BUILTIN): Update.
4471 * tm.texi (TARGET_C99_FUNCTIONS): Document.
4472 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
4473 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
4474 when using glibc2.
4475
4476 2003-01-24 Bob Wilson <bob.wilson@acm.org>
4477
4478 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
4479 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
4480 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
4481 * config/xtensa/crti.asm: New file.
4482 * config/xtensa/crtn.asm: New file.
4483 * config/xtensa/t-elf: New file.
4484 * config/xtensa/t-linux: New file.
4485 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
4486 Move various CFLAGS settings to new t-elf file.
4487
4488 2003-01-24 Richard Henderson <rth@redhat.com>
4489
4490 PR optimization/4382
4491 * tree-inline.c (find_builtin_longjmp_call_1): New.
4492 (find_builtin_longjmp_call): New.
4493 (inlinable_function_p): Use it.
4494
4495 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4496
4497 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
4498 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
4499 * config/i386/i386.c (function_arg_pass_by_reference): New.
4500 (ix86_va_arg): Support arguments passed by reference.
4501
4502 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4503
4504 * cfgloopanal.c: New file.
4505 * cfgloopmanip.c: New file.
4506 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
4507 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
4508 cfglayout.o): Add dependency on cfgloop.h.
4509 (cfgloop.o): Add flags.h dependency.
4510 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
4511 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
4512 (struct loop, struct loops, flow_loops_find, flow_loops_update,
4513 flow_loops_free, flow_loops_dump, flow_loop_dump,
4514 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
4515 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
4516 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
4517 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
4518 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
4519 find_common_loop, verify_loop_structure): Declarations moved to ...
4520 * cfgloop.h: New file.
4521 * bb-reorder.c (reorder_basic_blocks): Modified.
4522 * cfglayout.c: Include cfgloop.h.
4523 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
4524 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
4525 (break_superblocks): New static function.
4526 (cfg_layout_finalize): Use it.
4527 (cfg_layout_split_block): New function.
4528 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
4529 fields.
4530 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
4531 changed.
4532 (cfg_layout_split_block): Declare.
4533 * cfgloop.c: Include cfgloop.h and flags.h.
4534 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
4535 get_loop_body): Avoid signed versus unsigned comparison warnings.
4536 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
4537 loop_latch_edge): Modified.
4538 (verify_loop_structure): Modified to use flags stored in loop structure;
4539 check irreducible loops.
4540 (cancel_loop, cancel_loop_tree): New functions.
4541 (estimate_probability): Use loop analysis code for predictions.
4542 (estimate_loops_at_level): Avoid signed versus unsigned comparison
4543 warnings.
4544 * doloop.c: Include cfgloop.h.
4545 * loop.c: Include cfgloop.h.
4546 * predict.c: Include cfgloop.h.
4547 * toplev.c: Include cfgloop.h.
4548 * unroll.c: Include cfgloop.h.
4549 * tracer.c (tracer): Modified.
4550
4551 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
4552
4553 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
4554
4555 2003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
4556
4557 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
4558 * configure: Regenerate.
4559
4560 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
4561 (tls_symbolic_reference_mentioned_p): Add prototype.
4562 (s390_tls_get_offset): Add prototype.
4563 (emit_pic_move): Remove prototype, replace by ...
4564 (emit_symbolic_move): .. this new prototype.
4565
4566 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
4567 (tls_model_chars): New global variable.
4568 (s390_encode_section_info): Encode TLS model.
4569 Use targetm.binds_local_p to check for local symbols.
4570 (s390_strip_name_encoding): New function.
4571 (TARGET_STRIP_NAME_ENCODING): Define.
4572
4573 (get_thread_pointer): New function.
4574 (legitimize_tls_address): New function.
4575 (legitimize_address): Call it.
4576 (emit_pic_move): Remove, replace by ...
4577 (emit_symbolic_move): ... this new function.
4578
4579 (larl_operand): Handle TLS operands.
4580 (legitimate_constant_p): Likewise.
4581 (s390_decompose_address): Likewise.
4582 (s390_cannot_force_const_mem): New function.
4583 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
4584
4585 (s390_output_symbolic_const): Handle TLS unspecs.
4586 (print_operand): New code 'J'.
4587 (machine_function): Add struct member 'some_ld_name'.
4588 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
4589
4590 (enum s390_builtin): New type.
4591 (code_for_builtin_64, code_for_builtin_31): New global variables.
4592 (s390_init_builtins, s390_expand_builtin): New functions.
4593 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
4594
4595 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
4596 (ASM_OUTPUT_LABELREF): Define.
4597 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
4598
4599 * config/s390/s390.md: Define TLS UNSPEC constants.
4600 ("movdi", "movsi"): Handle TLS operands.
4601 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
4602 ("*tls_load_64", "*tls_load_31"): New insns.
4603 ("call_value_tls", "call_value_tls_exp"): New expanders.
4604 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
4605 "bas_tls_64", "bas_tls_31"): New insns.
4606
4607 2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
4608
4609 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
4610 spe ABI is configured, if requested.
4611
4612 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4613
4614 * doc/passes.texi: Fix typo.
4615
4616 2003-01-24 Andreas Schwab <schwab@suse.de>
4617
4618 * stor-layout.c (excess_unit_span): Only define if used.
4619
4620 2003-01-24 Jerry Quinn <jlquinn@optonline.net>
4621
4622 * gcc/doc/invoke.texi (Optimization Options): List -O levels
4623 for each optimization flag.
4624
4625 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
4626
4627 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
4628
4629 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4630
4631 * doc/bugreport.texi: Use @command instead of @code for commands.
4632 * doc/collect2.texi: Likewise.
4633 * doc/headerdirs.texi: Likewise.
4634 * doc/invoke.texi: Likewise.
4635 * doc/standards.texi: Likewise.
4636 * doc/tm.texi: Likewise.
4637 * doc/trouble.texi: Likewise.
4638
4639 2003-01-24 Nick Clifton <nickc@redhat.com>
4640
4641 * config/arm/arm.c (use_return_insn): Do not use a single return
4642 instruction for interrupt handelrs which have to create a stack
4643 frame.
4644 (arm_expand_prologue): Do not pre-bias the return address of
4645 interrupt handlers which create a stack frame.
4646
4647 2003-01-24 Nick Clifton <nickc@redhat.com>
4648
4649 * Add sh2e support:
4650
4651 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
4652
4653 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
4654 med_cbranches. Fix logic in short_cbranches.
4655
4656 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
4657
4658 * config/sh/sh.md (delay for cbranch): Don't annul delay
4659 slots on SH2e.
4660 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
4661 cbranch with unfilled delay slot on SH2e.
4662 (output_branch): Fill with a nop the delay slot of a
4663 branch that required a delay slot but didn't get one.
4664
4665 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
4666
4667 * doc/invoke.texi (SH options): Document -m2e.
4668 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
4669 * config/sh/lib1funcs.asm: Likewise.
4670 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
4671 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
4672 not __sh1__.
4673 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
4674 SH2E up.
4675 (SH3E_BIT): Renamed to...
4676 (SH_E_BIT): ... this. Replace all uses.
4677 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
4678 Replace all uses of TARGET_SH3E with TARGET_SH2E.
4679 (TARGET_SWITCHES): Added 2e.
4680 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
4681 (processor_type): Added PROCESSOR_SH2E.
4682 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
4683 TARGET_SH2E, except in sqrtsf2_i.
4684 (attribute cpu): Added sh2e.
4685 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
4686 (MULTILIB_MATCHES): Use m2e multilib for m3e.
4687 * config.gcc: Add sh2e target support.
4688
4689 2003-01-24 Phil Edwards <pme@gcc.gnu.org>
4690
4691 Rename -W to -Wextra.
4692 * c-decl.c: Update comments.
4693 * c-typeck.c: Likewise.
4694 * flags.h: Likewise.
4695 * function.c: Likewise.
4696 * stmt.c: Likewise.
4697 * toplev.c: Update comments.
4698 (W_options): Add 'extra'.
4699 (display_help): Remove '-W'.
4700 (decode_W_option): Special warn_uninitialized treatment in the case
4701 of -Wextra.
4702 * doc/invoke.texi: Update with new entries.
4703
4704 2003-01-23 Richard Henderson <rth@redhat.com>
4705
4706 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
4707 in no-else-block case. Add commentary.
4708
4709 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4710
4711 * configure.in: Revert last change.
4712
4713 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4714
4715 * configure.in: Don't include ansidecl.h in tconfig.h.
4716 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
4717 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
4718 ATTRIBUTE_UNUSED.
4719
4720 * configure: Regenerate.
4721
4722 2003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4723
4724 PR java/6748
4725 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
4726 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
4727 kernels.
4728
4729 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4730
4731 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
4732
4733 2003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
4734
4735 * genattrtab.c (write_attr_get): Mark 'insn' paramter
4736 as ATTRIBUTE_UNUSED.
4737
4738 2003-01-23 Richard Earnshaw <rearnsha@arm.com>
4739
4740 * arm.c (thumb_base_register_rtx_p): New function.
4741 (thumb_index_register_rtx_p): New function.
4742 (thumb_legitimate_address_p): New function.
4743 (thumb_legitimate_offset_p): New function.
4744 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
4745 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
4746 definitions.
4747 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
4748 (THUMB_LEGITIMATE_OFFSET): Delte.
4749 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
4750 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
4751 (thumb_legitimate_offset_p): Likewise.
4752
4753 2003-01-23 Andreas Schwab <schwab@suse.de>
4754
4755 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
4756
4757 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4758
4759 * fixinc/Makefile.in (FL_LIST): Revert last change.
4760
4761 2003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4762
4763 PR other/7341
4764 * invoke.texi (ftest-coverage): Fix broken cross-reference.
4765 Change @code to @command for gcov command.
4766
4767 * gcc.texi: Adjust title of gcov section.
4768 Adjust copyright.
4769 * gcov.texi: Likewise.
4770
4771 2003-01-22 Roger Sayle <roger@eyesopen.com>
4772
4773 PR optimization/8423
4774 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
4775 its argument is constant, or 0 if !flag_gcse.
4776 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
4777 if it's argument is constant.
4778 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
4779 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
4780 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
4781 * builtins.c (purge_builtin_constant_p): New function to force
4782 instantiation of any remaining CONSTANT_P_RTX nodes.
4783 * rtl.h (purge_builtin_constant_p): Prototype here.
4784 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
4785 pass after GCSE and before loop.
4786 (flag_gcse): No longer static.
4787 * flags.h (flag_gcse): Prototype here.
4788
4789 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
4790
4791 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
4792 introduced by last change.
4793
4794 2003-01-22 Andreas Schwab <schwab@suse.de>
4795
4796 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
4797
4798 2003-01-22 Kazu Hirata <kazu@cs.umass.edu>
4799
4800 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
4801 request a scratch reg on H8S when the shift count is 8.
4802
4803 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
4804
4805 * config/s390/s390-protos.h (preferred_la_operand_p):
4806 Remove second parameter.
4807 * config/s390/s390.c (preferred_la_operand_p): Likewise.
4808 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
4809 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
4810 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
4811 Add peepholes to transform ADD to LOAD ADDRESS.
4812
4813 2003-01-22 Richard Earnshaw <rearnsha@arm.com>
4814
4815 * arm.c (arm_address_register_rtx_p): New function.
4816 (arm_legitimate_address_p): New function.
4817 (arm_legitimate_index_p): New function.
4818 (legitimize_pic_address): Use arm_legitimate_index_p.
4819 * arm-protos.h (arm_legtimate_address_p): Add prototype.
4820 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
4821 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
4822
4823 2003-01-22 Hartmut Penner <hpenner@de.ibm.com>
4824
4825 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
4826 * config/s390/2064.md (define_bypass): Correct 'Load' and
4827 'Load-address' bypass values.
4828
4829 2003-01-22 Andreas Schwab <schwab@suse.de>
4830
4831 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
4832
4833 2003-01-21 Zack Weinberg <zack@codesourcery.com>
4834
4835 * genautomata.c (output_internal_insn_latency_func,
4836 output_print_reservation_func): Short circuit when there is no
4837 automaton to generate code for.
4838
4839 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4840
4841 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
4842 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
4843
4844 2003-01-21 Geoffrey Keating <geoffk@apple.com>
4845
4846 * config/rs6000/rs6000.md: Remove warning.
4847 (builtin_setjmp_receiver): Likewise.
4848 * config/darwin.c (update_stubs): Slightly improve terrible hack
4849 with identifiers. Add comment pointing out problems with it.
4850 (update_non_lazy_ptrs): Likewise.
4851
4852 2003-01-21 Richard Henderson <rth@redhat.com>
4853
4854 * dwarf2out.c (lookup_filename): Fix printf format warning.
4855 * system.h (fread_unlocked, fwrite_unlocked): Undef.
4856
4857 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
4858 (fixincl.o-warn, gnu-regex.o-warn): New.
4859 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
4860 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
4861 * fixinc/fixincl.c (process): Fix printf format warning.
4862
4863 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
4864
4865 * dwarf2out (output_file_names): Don't crash if called
4866 with empty file_table.
4867
4868 2003-01-21 Zack Weinberg <zack@codesourcery.com>
4869
4870 * genautomata.c (output_internal_insn_latency_func): Add
4871 missing break statement to generated code.
4872
4873 2003-01-21 Roger Sayle <roger@eyesopen.com>
4874
4875 * stmt.c (same_case_target_p): New function to determine whether
4876 two case labels branch to the same target. Split out from...
4877 (group_case_nodes): ... here. Use same_case_target_p instead.
4878 (strip_default_case_nodes): Remove explicit case nodes
4879 that branch to the default destination.
4880 (expand_end_case_type): Call strip_default_case_nodes after
4881 group_case_nodes, to simplify the case-list before we count it.
4882 Only generate table_label RTX when actually needed. Try to share
4883 thiscase->exit_label and thiscase->data.case_stmt.default_label
4884 when a switch has no explicit default case. Simplify test for
4885 constant index.
4886
4887 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
4888
4889 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
4890 \t.
4891 (*negsf2_h8300hs): Likewise.
4892 (*addsi3_lshiftrt_16_zexthi): Likewise.
4893 (*iorhi3_lshiftrt_8): Likewise.
4894
4895 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
4896
4897 * dwarf2out.c (fde_table_in_use): Mark GTY.
4898 (dwarf2out_cfi_label_num): New variable, marked GTY.
4899 (dwarf2out_cfi_label): Use it instead of static label_num.
4900 * emit-rtl.c (label_num): Mark GTY.
4901
4902 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
4903
4904 * config/h8300/h8300.c (output_plussi): Support H8/300.
4905 (compute_plussi_length): Likewise.
4906 (compute_plussi_cc): Likewise.
4907 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
4908 output assembly instructions.
4909
4910 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4911
4912 * calls.c (fix_unsafe_tree): Prototype.
4913
4914 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
4915 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
4916 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
4917 c-parse.o-warn): Add -Wno-error.
4918 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
4919
4920 * configure.in (--enable-werror): Add new flag.
4921 * doc/install.texi (--enable-werror): Document.
4922 * configure: Regenerate.
4923
4924 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
4925
4926 2003-01-21 Andreas Schwab <schwab@suse.de>
4927
4928 * genautomata.c (output_internal_insn_latency_func): Fix missing
4929 close paren in output.
4930
4931 2003-01-21 Zack Weinberg <zack@codesourcery.com>
4932
4933 * genautomata.c: Space savings in generated code:
4934 (output_dfa_insn_code_func): Split out the table-enlargement
4935 path to an out-of-line static function, dfa_insn_code_enlarge.
4936 (output_internal_insn_latency_func): Use a lookup table for the
4937 default latencies.
4938 (output_print_reservation_func): Use a lookup table for the
4939 strings.
4940
4941 2003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
4942
4943 PR opt/7507
4944 * calls.c (fix_unsafe_tree): Split out from ...
4945 (expand_call): ... here. Use it on the function address too.
4946
4947 2003-01-20 Richard Henderson <rth@redhat.com>
4948
4949 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
4950
4951 2003-01-20 Richard Henderson <rth@redhat.com>
4952
4953 PR opt/7154
4954 * stmt.c (expand_asm_operands): Validize memory operands.
4955
4956 2003-01-20 Richard Henderson <rth@redhat.com>
4957
4958 PR opt/8848
4959 * ifcvt.c (noce_process_if_block): Correct arguments to
4960 modified_between_p for no-else-block case.
4961
4962 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4963
4964 * config/h8300/h8300.c (const_costs): Remove a warning.
4965 (output_plussi): Likewise.
4966 (compute_plussi_length): Likewise.
4967 (compute_plussi_cc): Likewise.
4968
4969 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4970
4971 * config/h8300/h8300.md (addsi_h8300): Remove the last
4972 alternative.
4973
4974 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4975
4976 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4977
4978 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4979
4980 * system.h (__NO_STRING_INLINES): Define.
4981
4982 2003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4983
4984 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
4985 is not a scalar int mode.
4986
4987 2003-01-20 Roger Sayle <roger@eyesopen.com>
4988
4989 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
4990 insn's notes following a substitution inside a libcall.
4991
4992 2003-01-20 Zack Weinberg <zack@codesourcery.com>
4993
4994 * configure.in: Check for system-provided 'uchar' type.
4995 * configure, config.in: Regenerate.
4996 * cpphash.h: Only typedef 'uchar' if the system doesn't.
4997
4998 2003-01-20 Richard Henderson <rth@redhat.com>
4999
5000 * expr.h (MUST_PASS_IN_STACK): Move implementation...
5001 * calls.c (default_must_pass_in_stack): ... here.
5002
5003 2003-01-20 Vladimir Makarov <vmakarov@redhat.com>
5004
5005 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
5006
5007 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
5008
5009 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
5010 Wrap up definition of `insn_alts'.
5011
5012 * genattrtab.c (main): Wrap up `insn_alts'.
5013
5014 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5015
5016 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
5017 prototyping.
5018 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
5019
5020 * config.in, configure: Regenerate.
5021
5022 2003-01-20 Nick Clifton <nickc@redhat.com>
5023
5024 * config/arm/arm.md (sibcall_epilogue): Add an
5025 UNSPEC_PROLOGUE_USE to prevent the link register from being
5026 considered dead.
5027
5028 Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
5029
5030 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
5031
5032 2003-01-20 Andreas Schwab <schwab@suse.de>
5033
5034 * system.h: Don't declare strsignal if the decl test hasn't been
5035 run yet.
5036
5037 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
5038
5039 * config/h8300/h8300.c (notice_update_cc): Don't assume that
5040 recog_data.operands[0] is always associated with cc0.
5041
5042 2003-01-19 David Edelsohn <edelsohn@gnu.org>
5043
5044 * collect2.c (ldgetname): Expand declaration to prototype.
5045 * read-rtl.c (atoll): Add prototype.
5046 * system.h (strsignal): Also declare if no declaration found.
5047
5048 2003-01-19 Alexandre Oliva <aoliva@redhat.com>
5049
5050 * config.gcc (mips64*-*-linux*): Added.
5051 * config/mips/linux64.h, config/mips/t-linux64: New file.
5052 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
5053 * config/mips/mips.c (override_options): Use it.
5054 * config/mips/mips.h (TARGET_SWITCHES): Added...
5055 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
5056 * Makefile.in (SPECS): New.
5057 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
5058 * gcc.c (process_command): Move self-spec processing past spec
5059 file loading.
5060 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
5061 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
5062 CRTSTUFF_T_CFLAGS.
5063 (SPECS): Document.
5064 * doc/invoke.texi (-mabi-fake-default): Document.
5065
5066 2003-01-19 Stephane Carrez <stcarrez@nerim.fr>
5067
5068 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
5069 z_reg, z_reg_qi): Declare static and GTY().
5070 (da_reg): Remove.
5071 (create_regs_rtx): Don't create da_reg.
5072 ("gt-m68hc11.h"): Include for GTY roots.
5073 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
5074 and GTY() here.
5075 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
5076 (m68hc11_soft_tmp_reg): Likewise.
5077 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
5078
5079 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
5080
5081 * basic-block.h: Fix comment formatting.
5082 * calls.c: Likewise.
5083 * combine.c: Likewise.
5084 * convert.c: Likewise.
5085 * gcov.c: Likewise.
5086 * haifa-sched.c: Likewise.
5087 * libgcc2.c: Likewise.
5088 * loop.c: Likewise.
5089 * profile.c: Likewise.
5090 * system.h: Likewise.
5091
5092 2003-01-18 Roger Sayle <roger@eyesopen.com>
5093
5094 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
5095
5096 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5097
5098 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
5099
5100 2003-01-17 Dale Johannesen <dalej@apple.com>
5101
5102 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
5103 (*floatunssidf2_internal): Ditto.
5104
5105 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
5106
5107 * alias.c: Fix comment typos.
5108 * basic-block.h: Likewise.
5109 * c-common.c: Likewise.
5110 * c-common.h: Likewise.
5111 * c-decl.c: Likewise.
5112 * c-opts.c: Likewise.
5113 * c-pragma.c: Likewise.
5114 * c-pretty-print.h: Likewise.
5115 * cfg.c: Likewise.
5116 * cfganal.c: Likewise.
5117 * cfgbuild.c: Likewise.
5118 * cfgcleanup.c: Likewise.
5119 * cfglayout.c: Likewise.
5120 * cfgrtl.c: Likewise.
5121 * convert.c: Likewise.
5122 * cpphash.h: Likewise.
5123 * cpplex.c: Likewise.
5124 * cpplib.h: Likewise.
5125 * df.h: Likewise.
5126 * diagnostic.c: Likewise.
5127 * diagnostic.h: Likewise.
5128 * dwarf2.h: Likewise.
5129
5130 2003-01-17 Stan Shebs <shebs@apple.com>
5131
5132 * config/darwin-protos.h: Forward-declare struct cpp_reader.
5133
5134 2003-01-17 Douglas B Rupp <rupp@gnat.com>
5135
5136 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
5137 mistake in last checkin.
5138
5139 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
5140
5141 * et-forest.c: Fix comment typos.
5142 * et-forest.h: Likewise.
5143 * except.c: Likewise.
5144 * expr.c: Likewise.
5145 * flags.h: Likewise.
5146 * flow.c: Likewise.
5147 * gcc.c: Likewise.
5148 * gcse.c: Likewise.
5149 * genattrtab.c: Likewise.
5150 * genautomata.c: Likewise.
5151 * gengtype.c: Likewise.
5152 * genrecog.c: Likewise.
5153 * global.c: Likewise.
5154 * gthr-rtems.h: Likewise.
5155
5156 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5157
5158 * i386.c (x86_function_profiler): Fix format specifier.
5159
5160 2003-01-17 Richard Henderson <rth@redhat.com>
5161
5162 * gengtype.c (walk_type): Allow paramN_is.
5163
5164 2003-01-17 Nick Clifton <nickc@redhat.com>
5165
5166 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
5167
5168 2003-01-16 Richard Henderson <rth@redhat.com>
5169
5170 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
5171
5172 2003-01-16 Richard Henderson <rth@redhat.com>
5173
5174 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
5175 (alpha_next_sequence_number): Likewise.
5176 (alpha_this_literal_sequence_number): Likewise.
5177 (alpha_this_gpdisp_sequence_number): Likewise.
5178 (struct alpha_funcs, alpha_funcs_num): Likewise.
5179 (struct alpha_links): Fix branch merge error.
5180 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
5181
5182 2003-01-17 Alexandre Oliva <aoliva@redhat.com>
5183
5184 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
5185 R. Ghazi.
5186
5187 2003-01-16 Kazu Hirata <kazu@cs.umass.edu>
5188
5189 * ifcvt.c: Fix comment typos.
5190 * lcm.c: Likewise.
5191 * libgcc2.c: Likewise.
5192 * local-alloc.c: Likewise.
5193 * loop.c: Likewise.
5194 * predict.c: Likewise.
5195 * ra-build.c: Likewise.
5196 * ra.c: Likewise.
5197 * ra-colorize.c: Likewise.
5198 * ra.h: Likewise.
5199 * ra-rewrite.c: Likewise.
5200 * regmove.c: Likewise.
5201 * reload.h: Likewise.
5202 * rtlanal.c: Likewise.
5203 * toplev.c: Likewise.
5204 * tree.h: Likewise.
5205 * unwind-dw2-fde-glibc.c: Likewise.
5206 * vmsdbgout.c: Likewise.
5207
5208 2003-01-16 Richard Henderson <rth@redhat.com>
5209
5210 * dwarf2out.c (struct file_table): Remove.
5211 (FILE_TABLE_INCREMENT): Remove.
5212 (file_table): Make a varray; mark for GC. Update all users.
5213 (file_table_last_lookup_index): Extract from struct file_table.
5214 (output_file_names): Fix unsigned compare warnings.
5215 (add_name_attribute): Remove inline marker.
5216 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
5217 (lookup_filename): Don't manage size of file_table.
5218 (init_file_table): Allocate file_table with GC.
5219 (dwarf2out_init): Don't record main_input_filename here.
5220 (dwarf2out_finish): Do it here instead.
5221
5222 2003-01-16 Bruce Korb <bkorb@gnu.org>
5223
5224 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
5225
5226 2003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
5227
5228 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
5229 instead of rotldi3_mextr.
5230
5231 2003-01-16 Vladimir Makarov <vmakarov@redhat.com>
5232
5233 * haifa-sched.c (move_insn): Restore moving all schedule group.
5234 (set_priorities): Restore taking SCHED_GROUP_P into account.
5235
5236 * sched-deps.c (add_dependence): Restore processing the last group
5237 insn.
5238 (remove_dependence, group_leader): Restore the functions.
5239 (set_sched_group_p): Restore adding dependencies from previous insn
5240 in the group.
5241 (compute_forward_dependences): Restore usage of group_leader.
5242
5243 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
5244 account.
5245
5246 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
5247 account.
5248 (can_schedule_ready_p): Ditto.
5249 (add_branch_dependences): Restore skipping over the group insns.
5250
5251 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
5252
5253 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
5254 68HC12 pre/post inc/dec side effects.
5255
5256 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
5257
5258 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
5259
5260 Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk>
5261
5262 * sh.md (mshflo_w_x): Fix description of operation.
5263
5264 2003-01-16 Zack Weinberg <zack@codesourcery.com>
5265
5266 * config/rs6000/rs6000.h: Mention Altivec registers in
5267 commentary. Fix typo.
5268
5269 2003-01-16 David Edelsohn <edelsohn@gnu.org>
5270
5271 * config/rs6000/rs6000.md (movti_string): Remove clobber.
5272 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
5273 generate PARALLEL with clobber for TARGET_POWER.
5274
5275 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5276
5277 * ra-colorize.c (colorize_one_web): Initialize variable.
5278 * regmove.c (fixup_match_1): Likewise.
5279 * reload1.c (reload_as_needed): Likewise.
5280 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
5281
5282 2003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5283
5284 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
5285
5286 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5287
5288 * dbxout.c (lastfile, cwd): Fix `unused' warning.
5289 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
5290 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
5291 is_main_source, file_table, decl_die_table_in_use,
5292 abbrev_die_table_in_use, line_info_table_in_use,
5293 separate_line_info_table_in_use, pubname_table_in_use,
5294 arange_table_in_use, ranges_table_in_use,
5295 current_function_has_inlines): Likewise.
5296 * flow.c (life_analysis): Likewise.
5297 * genemit.c (gen_insn): Likewise.
5298 * protoize.c (cplus_suffix): Likewise.
5299
5300 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
5301 * arm.h (ROUND_UP_WORD): Likewise.
5302
5303 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
5304 warning.
5305 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
5306 init_emit_once): Likewise.
5307 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
5308 Likewise.
5309 * function.c (assign_stack_temp_for_type): Likewise.
5310 * loop.c (loop_invariant_p): Likewise.
5311 * recog.c (push_operand): Likewise.
5312 * regclass.c (init_reg_sets_1): Likewise.
5313 * reload.c (update_auto_inc_notes): Likewise.
5314 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
5315 * stmt.c (expand_asm_operands): Likewise.
5316 * stor-layout.c (start_record_layout): Likewise.
5317
5318 2003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5319
5320 * config/c4x/c4x.md (epilogue): Correct last patch.
5321
5322 2003-01-15 Richard Henderson <rth@redhat.com>
5323
5324 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
5325 also check that GP is being used.
5326 (alpha_find_lo_sum_using_gp): New.
5327 (alpha_does_function_need_gp): Use get_attr_usegp.
5328 * config/alpha/alpha-protos.h: Update.
5329 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
5330 as needed.
5331
5332 2003-01-15 Roger Sayle <roger@eyesopen.com>
5333
5334 * gcse.c (one_cprop_pass): Change function arguments to take both
5335 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
5336 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
5337 (bypass_jumps): New function to perform separate jump bypassing pass.
5338 * rtl.h (bypass_jumps): Add function prototype.
5339 * timevar.def (TV_BYPASS): New timing variable.
5340 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
5341 (dump_file): New entry for the bypass RTL dump file.
5342 (rest_of_compilation): Insert new jump bypassing optimization
5343 pass after loop.
5344 * doc/passes.texi: Document new pass.
5345
5346 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
5347
5348 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
5349 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
5350 * pa.h (TARGET_SOM_SDEF): Define.
5351 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
5352
5353 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
5354
5355 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
5356 allocate 4-bytes of locals on 68HC11.
5357 (expand_epilogue): Likewise.
5358 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
5359
5360 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
5361
5362 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
5363 and -mshort-double to the assembler to specify the ABI.
5364 (LINK_SPEC): Likewise.
5365 (CPP_SPEC): Pass HCS12 specific define.
5366 (MASK_M68S12): New define.
5367 (TARGET_M68S12): Likewise.
5368 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
5369 (TARGET_VERSION): Update.
5370 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
5371 (LINK_SPEC): Update.
5372 (ASM_SPEC): Update.
5373 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
5374 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
5375
5376 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
5377
5378 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
5379 the return code.
5380
5381 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
5382
5383 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
5384 flag before setting it.
5385
5386 2003-01-15 Roger Sayle <roger@eyesopen.com>
5387
5388 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
5389 when loop condition is known true, i.e. "while (1) { ... }".
5390 (genrtl_for_stmt): Similarly for "for" statements.
5391
5392 2003-01-15 Roger Sayle <roger@eyesopen.com>
5393
5394 * real.c (real_sqrt): Return a bool result indicating whether
5395 a floating point exception or trap should be raised.
5396 * real.h (real_sqrt): Update function prototype.
5397 * builtins.c (fold_builtin): Only fold non-trapping square
5398 roots unless we're ignoring errno and trapping math.
5399
5400 2003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
5401
5402 * expr.h (emit_conditional_add): Add PARAMS to declaration.
5403 * gengtype-lex.l (malloc, realloc): Move defines after include of
5404 system.h. Remove duplicate include of system.h.
5405
5406 2003-01-15 Roger Sayle <roger@eyesopen.com>
5407
5408 PR middle-end/9009
5409 * optabs.c (expand_unop): When manipulating the FP sign bit
5410 using integer operations, account for targets with different
5411 integer and FP word orders.
5412 (expand_abs): Likewise.
5413
5414 2003-01-15 David Edelsohn <edelsohn@gnu.org>
5415
5416 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
5417 file extension in section name.
5418
5419 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
5420
5421 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
5422 constant offset.
5423
5424 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
5425
5426 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
5427 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
5428 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
5429 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
5430
5431 Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
5432
5433 PR f/9258
5434 * global.c (struct allocno): Add no_stack_reg.
5435 (global_conflicts): Set no_stack_reg.
5436 (find_reg): Use it.
5437
5438 * convert.c (convert_to_real): Fold - and abs only when profitable.
5439 * fold-const.c (fold): Fold truncates in - and abs.
5440
5441 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
5442
5443 Segher Boessenkool <segher@koffie.nl>
5444
5445 * predict.c (real_inv_br_prob_base): New variable.
5446 (propagate_freq): Use multiply by reciprocal instead of
5447 division. Don't divide by 1.0 at all.
5448 (estimate_bb_frequencies): Similar.
5449
5450 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
5451
5452 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
5453 * configure: Rebuilt.
5454
5455 2003-01-15 Hartmut Penner <hpenner@de.ibm.com>
5456
5457 * config/s390/s390.c (s390_safe_attr_type): New function.
5458 (s390_use_dfa_pipeline_interface): New function, return true for z900.
5459 (s390_issue_rate): New function.
5460 (s390_agen_dep_p): New function.
5461 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
5462 (s390_adjust_cost): Return 'cost' if new DFA is used.
5463 (s390_adjust_priority): Delete function.
5464 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
5465 * config/s390/s390.md (atype attribute): Attribute 'atype' default
5466 determined by 'op_type'.
5467 (type attribute): Added more type attributes.
5468 * config/s390/2064.md: New DFA description for z900 pipeline.
5469
5470 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
5471
5472 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
5473 forced to memory. Fixes PR bootstrap/9036.
5474
5475 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
5476 to set $gp before the call.
5477
5478 2003-01-14 Richard Henderson <rth@redhat.com>
5479
5480 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
5481 for force_const_mem.
5482
5483 2003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5484
5485 * genattr.c (main): Rearrange output to avoid prototype warning.
5486 * genautomata.c (transform_3): Fix ambiguous-else warning.
5487 * local-alloc.c (requires_inout): Add parentheses around
5488 assignment used as truth-value.
5489 * timevar.c: Move system includes above local includes. Include
5490 toplev.h
5491 * Makefile.in (timevar.o): Depend on toplev.h.
5492
5493 2003-01-14 Denis Chertykov <denisc@overta.ru>
5494
5495 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
5496 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
5497
5498 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
5499 attributes.
5500 (TARGET_ATTRIBUTE_TABLE): New macro.
5501 (valid_machine_type_attribute): Remove.
5502 (valid_machine_decl_attribute): Remove.
5503 (ip2k_handle_progmem_attribute): New function.
5504 (ip2k_handle_fndecl_attribute): New function.
5505
5506 2003-01-10 Andrew Haley <aph@redhat.com>
5507
5508 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
5509 registers to be in correct order. Add rip.
5510
5511 2003-01-14 Kazu Hirata <kazu@cs.umass.edu>
5512
5513 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
5514 (*iorsi3_and_lshiftrt_9_sb): Likewise.
5515
5516 Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
5517
5518 * convert.c (strip_float_extensions): Look for narrowest type handling
5519 FP constants.
5520
5521 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
5522 float1 CMP float2.
5523 * convert.c (strip_float_extensions): Make global.
5524 * tree.h (strip_float_extensions): Declare.
5525
5526 2003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
5527
5528 * timevar.def: define TV_NAME_LOOKUP.
5529 * timevar.c (timevar_pop): Be verbose when aborting.
5530
5531 2003-01-13 Andreas Schwab <schwab@suse.de>
5532
5533 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
5534 $(parsedir), just move the temporary file at the end.
5535 ($(parsedir)/gengtype-yacc.c): Likewise.
5536
5537 2003-01-13 Alexandre Oliva <aoliva@redhat.com>
5538
5539 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
5540 ${ac_tool_prefix} to ADAC or CC. Protect them from word
5541 splitting.
5542 * configure: Rebuilt.
5543
5544 2003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5545
5546 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
5547 internal_mcount): Don't use PARAMS.
5548 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
5549 ISO C style.
5550 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
5551
5552 2003-01-13 Andreas Schwab <schwab@suse.de>
5553
5554 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
5555 directive.
5556
5557 2003-01-13 Kazu Hirata <kazu@cs.umass.edu>
5558
5559 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
5560 (*iorsi3_and_lshiftrt_n_sb): Likewise.
5561
5562 2003-01-12 Mark Mitchell <mark@codesourcery.com>
5563
5564 PR c++/9264
5565 * c-lex.c (c_lex): Set the token value to error_mark_node for
5566 invalid numeric constants.
5567
5568 2003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5569
5570 * c-pch.c (asm_file_startpos): Change to `long'.
5571 (pch_init): Use ftell, not ftello.
5572 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
5573 Use `long' instead of `off_t'.
5574 (c_common_read_pch): Likewise.
5575 * ggc-common.c (gt_pch_save): Use long/ftell instead of
5576 off_t/ftello.
5577
5578 2003-01-12 Alan Modra <amodra@bigpond.net.au>
5579
5580 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
5581
5582 2003-01-11 Richard Earnshaw (rearnsha@arm.com)
5583
5584 * arm-protos.h (struct cpp_reader): Add declaration.
5585
5586 Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
5587
5588 PR target/9068
5589 * i386.c (output_fp_compare): Fix typo.
5590
5591 2003-01-10 David Edelsohn <edelsohn@gnu.org>
5592
5593 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
5594
5595 2003-01-10 Geoffrey Keating <geoffk@apple.com>
5596
5597 * Makefile.in (parsedir): New variable.
5598 (docobjdir): New variable.
5599 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
5600 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
5601 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
5602 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
5603 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
5604 Use docobjdir.
5605 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
5606 objc.maintainer-clean): Use parsedir.
5607
5608 * varasm.c (struct constant_descriptor_rtx): Remove unused
5609 `label' field.
5610
5611 * toplev.c (documented_lang_options): Document -Winvalid-pch.
5612
5613 2003-01-10 Richard Henderson <rth@redhat.com>
5614
5615 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
5616 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
5617
5618 2003-01-10 Richard Henderson <rth@redhat.com>
5619
5620 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
5621 not INTEGRAL_MODE_P when widening extensions.
5622
5623 2003-01-10 Richard Henderson <rth@redhat.com>
5624
5625 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
5626
5627 2003-01-10 Geoffrey Keating <geoffk@apple.com>
5628
5629 * ggc-page.c (ggc_collect): Avoid overflow computing
5630 min_expand.
5631
5632 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
5633 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
5634 Remove calls.
5635 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
5636
5637 Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
5638
5639 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
5640 with weird operands.
5641
5642 2003-01-10 Dale Johannesen <dalej@apple.com>
5643
5644 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
5645 parameters. Call check_sibcall_argument_overlap if indicated.
5646 (check_sibcall_argument_overlap): Add mark_stored_args_map
5647 parameter. Don't mark parameter area as clobbered if not set.
5648 (expand_call): Adjust calls to above.
5649
5650 2003-01-10 Kelley Cook <kelleycook@comcast.net>
5651
5652 * configure.in (linker read-only and read-write section mixing):
5653 Squelch some assembler warnings.
5654 * configure: Likewise.
5655
5656 2003-01-10 Hartmut Penner <hpenner@de.ibm.com>
5657
5658 * doc/invoke.texi: Document -mtune, delete -mcpu
5659 option for S/390 and zSeries.
5660 * config/s390/s390.c (s390_tune_string) New variable.
5661 (s390_cpu_string) Delete variable.
5662 (override_options): Use s390_tune_string instead of
5663 s390_cpu_string.
5664 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
5665
5666 2003-01-10 Kazu Hirata <kazu@cs.umass.edu>
5667
5668 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
5669
5670 2003-01-10 Josef Zlomek <zlomekj@suse.cz>
5671
5672 * jump.c (next_nonnote_insn_in_loop): New function.
5673 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
5674 next_nonnote_insn.
5675 (duplicate_loop_exit_test). Likewise.
5676
5677 2003-01-09 Geoffrey Keating <geoffk@apple.com>
5678
5679 Merge from pch-branch:
5680
5681 2003-01-06 Geoffrey Keating <geoffk@apple.com>
5682
5683 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
5684 load.
5685
5686 2002-12-24 Geoffrey Keating <geoffk@apple.com>
5687
5688 * cpplib.c (count_registered_pragmas): New function.
5689 (save_registered_pragmas): New function.
5690 (_cpp_save_pragma_names): New function.
5691 (restore_registered_pragmas): New function.
5692 (_cpp_restore_pragma_names): New function.
5693 * cpphash.h (_cpp_save_pragma_names): Prototype.
5694 (_cpp_restore_pragma_names): Likewise.
5695 * cpppch.c (struct save_macro_item): Split from save_macro_data.
5696 (struct save_macro_data): New field 'saved_pragmas'.
5697 (save_macros): Update for changes to struct save_macro_data.
5698 (cpp_prepare_state): Call _cpp_save_pragma_names, update
5699 for changes to struct save_macro_data.
5700 (cpp_read_state): Call _cpp_restore_pragma_names, update
5701 for changes to struct save_macro_data.
5702
5703 * cpppch.c (cpp_read_state): Restore the hashtable references
5704 in the cpp_reader.
5705
5706 * tree.h (built_in_decls): Mark for PCH.
5707
5708 * dbxout.c (lastfile): Don't mark for PCH.
5709
5710 * ggc.h: Document PCH calls into memory managers.
5711
5712 2002-12-18 Geoffrey Keating <geoffk@apple.com>
5713
5714 * doc/invoke.texi (Precompiled Headers): Document the
5715 directory form of PCH.
5716 * cppfiles.c (validate_pch): New function.
5717 (open_file_pch): Search suitably-named directories for PCH files.
5718
5719 2002-12-14 Geoffrey Keating <geoffk@apple.com>
5720
5721 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
5722 reorder options.
5723 (Type Information): Mention that the information is also
5724 used to implement PCH.
5725 * doc/passes.texi (Passes): Improve documentation of
5726 language-specific files.
5727
5728 2002-12-11 Geoffrey Keating <geoffk@apple.com>
5729
5730 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
5731 (struct walk_type_data): Add reorder_fn field.
5732 (walk_type): Process 'reorder' option.
5733 (write_types_process_field): Reorder parameters to gt_pch_note_object,
5734 call reorder_note_routine.
5735 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
5736 (ggc_wtd): Update for change to struct write_types_data.
5737 (pch_wtd): Likewise.
5738 * ggc.h (gt_pch_note_object): Reorder parameters.
5739 (gt_handle_reorder): New definition.
5740 (gt_pch_note_reorder): New prototype.
5741 * ggc-common.c (struct ptr_data): Add reorder_fn.
5742 (gt_pch_note_object): Reorder parameters.
5743 (gt_pch_note_reorder): New.
5744 (gt_pch_save): Call reorder_fn.
5745 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
5746
5747 * dbxout.c (cwd): Don't mark for PCH.
5748
5749 2002-12-09 Geoffrey Keating <geoffk@apple.com>
5750
5751 * gengtype.c (finish_root_table): Fix some warnings.
5752 (write_root): Handle TYPE_STRING.
5753 * ggc.h (gt_ggc_m_S): Add prototype.
5754 * stringpool.c (gt_ggc_m_S): New function.
5755
5756 2002-11-30 Geoffrey Keating <geoffk@apple.com>
5757
5758 * dwarf2out.c (dw2_string_counter): New.
5759 (AT_string_form): Use it.
5760 (same_dw_val_p): Update for removal of hashtable.h hash tables.
5761
5762 2002-11-22 Geoffrey Keating <geoffk@apple.com>
5763
5764 * dbxout.c: Include gt-dbxout.h.
5765 (lastfile): Mark for PCH/GGC.
5766 (cwd): Likewise.
5767 (struct typeinfo): Likewise.
5768 (typevec): Likewise.
5769 (typevec_len): Likewise.
5770 (next_type_number): Likewise.
5771 (struct dbx_file): Likewise.
5772 (current_file): Likewise.
5773 (next_file_number): Likewise.
5774 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
5775 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
5776 (dbxout_end_source_file): Don't free struct dbx_file.
5777 (dbxout_type): Use GGC to allocate typevec.
5778 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
5779 (GTFILES): Add dbxout.c.
5780 (gt-dbxout.h): New rule.
5781
5782 * Makefile.in (c-pch.o): Add debug.h as dependency.
5783 * c-pch.c: Include debug.h.
5784 (pch_init): Call start_source_file to keep nesting right.
5785 (c_common_read_pch): Add orig_name parameter. Call
5786 start_source_file debug hook. Call end_source_file debug hook.
5787 * c-common.h (c_common_read_pch): Update prototype.
5788 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
5789 callback.
5790 * cppfiles.c (struct include_file): Add new field `header_name'.
5791 (find_or_create_entry): Default it to `name'.
5792 (open_file_pch): Set it to the original header file searched for.
5793 (stack_include_file): Don't stack an empty buffer, just handle
5794 PCH files immediately. Pass header_name field to read_pch callback.
5795
5796 2002-11-19 Geoffrey Keating <geoffk@apple.com>
5797
5798 * function.c (funcdef_no): Mark to be saved in a PCH.
5799
5800 2002-11-15 Geoffrey Keating <geoffk@apple.com>
5801
5802 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
5803
5804 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
5805
5806 2002-11-14 Geoffrey Keating <geoffk@apple.com>
5807
5808 * optabs.h (code_to_optab): Add GTY marker.
5809
5810 2002-11-13 Geoffrey Keating <geoffk@apple.com>
5811
5812 * Makefile.in (GTFILES): Add cpplib.h.
5813 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
5814 * c-decl.c (build_compound_literal): Don't use var_labelno.
5815 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
5816 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
5817 * varasm.c (const_labelno): Use gengtype to mark.
5818 (var_labelno): Likewise.
5819 (in_section): Likewise.
5820 (in_named_name): Likewise.
5821 (struct in_named_entry): Likewise.
5822 (in_named_htab): Likewise.
5823 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
5824 (init_varasm_once): Use GGC to allocate in_named_htab.
5825 * config/darwin.c (current_pic_label_num): Mark for PCH.
5826
5827 2002-11-11 Geoffrey Keating <geoffk@apple.com>
5828
5829 * ggc-simple.c (init_ggc_pch): New stub procedure.
5830 (ggc_pch_count_object): Likewise.
5831 (ggc_pch_total_size): Likewise.
5832 (ggc_pch_this_base): Likewise.
5833 (ggc_pch_alloc_object): Likewise.
5834 (ggc_pch_prepare_write): Likewise.
5835 (ggc_pch_write_object): Likewise
5836 (ggc_pch_finish): Likewise.
5837 (ggc_pch_read): Likewise.
5838
5839 2002-11-08 Geoffrey Keating <geoffk@apple.com>
5840
5841 * c-pch.c (c_common_write_pch): Write the macro definitions after
5842 the GCed data.
5843 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
5844 definitions after the GCed data.
5845 * cpplib.c (save_macros): New.
5846 (reset_ht): New.
5847 (cpp_write_pch_deps): Split out of cpp_write_pch.
5848 (cpp_write_pch_state): Split out of cpp_write_pch.
5849 (cpp_write_pch): Delete.
5850 (struct save_macro_data): Delete.
5851 (cpp_prepare_state): New.
5852 (cpp_read_state): Erase and restore initial macro definitions.
5853 * cpplib.h (struct save_macro_data): Forward-declare.
5854 (cpp_write_pch_deps): Prototype.
5855 (cpp_write_pch_state): Prototype.
5856 (cpp_write_pch): Delete prototype.
5857 (cpp_prepare_state): Prototype.
5858 (cpp_read_state): Add fourth argument.
5859
5860 2002-11-04 Geoffrey Keating <geoffk@apple.com>
5861
5862 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
5863 (write_array): Remove warning.
5864
5865 * gengtype.c (contains_scalar_p): New.
5866 (finish_root_table): Add the table to all languages, even if it's
5867 empty.
5868 (write_roots): Output gt_pch_scalar_rtab.
5869 * ggc-common.c (gt_pch_save): Write out scalars.
5870 (gt_pch_restore): Read scalars back.
5871
5872 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
5873 (struct page_entry): Delete pch_page field.
5874 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
5875 (clear_marks): Likewise.
5876 (sweep_pages): Likewise.
5877 (poison_pages): Likewise.
5878 (ggc_print_statistics): Likewise.
5879 (ggc_pch_read): Don't free objects read from a PCH.
5880 Properly set up in_use_p and page_tails.
5881
5882 2002-10-25 Geoffrey Keating <geoffk@apple.com>
5883
5884 * gengtype.c (struct write_types_data): New.
5885 (struct walk_type_data): Make `cookie' const; add extra
5886 prev_val item; add `orig_s' field.
5887 (walk_type): Update prev_val[3].
5888 (write_types_process_field): New.
5889 (write_func_for_structure): Take write_types_data structure.
5890 (write_types): New.
5891 (ggc_wtd): New.
5892 (pch_wtd): New.
5893 (write_types_local_process_field): New.
5894 (gc_mark_process_field): Delete.
5895 (write_local_func_for_structure): New.
5896 (gc_mark_func_name): Delete.
5897 (write_gc_types): Delete.
5898 (write_local): New.
5899 (finish_root_table): Don't include 'ggc_' in PFX.
5900 (write_root): Rename from write_root. Fill pchw field of structures.
5901 (write_array): New.
5902 (write_roots): Rename from write_gc_roots. Split out to write_array.
5903 Update to changes to other routines. Write gt_pch_cache_rtab table.
5904 (main): Write PCH walking routines.
5905 * ggc-common.c: Include toplev.h, sys/mman.h.
5906 (ggc_mark_roots): For cache hashtables, also mark the hash table
5907 and the array of entries.
5908 (saving_htab): New.
5909 (struct ptr_data): New.
5910 (POINTER_HASH): New.
5911 (gt_pch_note_object): New.
5912 (saving_htab_hash): New.
5913 (saving_htab_eq): New.
5914 (struct traversal_state): New.
5915 (call_count): New.
5916 (call_alloc): New.
5917 (compare_ptr_data): New.
5918 (relocate_ptrs): New.
5919 (write_pch_globals): New.
5920 (struct mmap_info): New.
5921 (gt_pch_save): New.
5922 (gt_pch_restore): New.
5923 * ggc-page.c (ROUND_UP_VALUE): New.
5924 (ROUND_UP): New.
5925 (struct page_entry): Add field `pch_page'.
5926 (init_ggc): Use ROUND_UP.
5927 (struct ggc_pch_data): Declare.
5928 (init_ggc_pch): New.
5929 (ggc_pch_count_object): New.
5930 (ggc_pch_total_size): New.
5931 (ggc_pch_this_base): New.
5932 (ggc_pch_alloc_object): New.
5933 (ggc_pch_prepare_write): New.
5934 (ggc_pch_write_object): New.
5935 (ggc_pch_finish): New.
5936 (ggc_pch_read): New.
5937 * ggc.h (gt_pointer_operator): New.
5938 (gt_note_pointers): New.
5939 (gt_pch_note_object): New prototype.
5940 (gt_pointer_walker): New.
5941 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
5942 (LAST_GGC_ROOT_TAB): Update.
5943 (gt_pch_cache_rtab): Declare.
5944 (gt_pch_scalar_rtab): Declare.
5945 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
5946 (LAST_GGC_CACHE_TAB): Update.
5947 (gt_pch_save_stringpool): Declare.
5948 (gt_pch_restore_stringpool): Declare.
5949 (gt_pch_p_S): Declare.
5950 (gt_pch_n_S): Declare.
5951 (struct ggc_pch_data): Forward-declare.
5952 (init_ggc_pch): Declare.
5953 (ggc_pch_count_object): Declare.
5954 (ggc_pch_total_size): Declare.
5955 (ggc_pch_this_base): Declare.
5956 (ggc_pch_alloc_object): Declare.
5957 (ggc_pch_prepare_write): Declare.
5958 (ggc_pch_write_object): Declare.
5959 (ggc_pch_finish): Declare.
5960 (ggc_pch_read): Declare.
5961 (gt_pch_save): Declare.
5962 (gt_pch_restore): Declare.
5963 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
5964 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
5965 const_double_htab, mem_attrs_htab using GGC.
5966 * c-pch.c: Include ggc.h.
5967 (pch_init): Allow reading PCH file back.
5968 (c_common_write_pch): Call gt_pch_save.
5969 (c_common_read_pch): Call gt_pch_restore.
5970 * c-parse.in (init_reswords): Delete now-untrue comment.
5971 Allocate ridpointers using GGC.
5972 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
5973 calling expand_deferred_fns.
5974 * c-common.h (ridpointers): Mark for GTY machinery.
5975 * Makefile.in (stringpool.o): Update dependencies.
5976 (c-pch.o): Update dependencies.
5977 (ggc-common.o): Update dependencies.
5978 * stringpool.c: Include gt-stringpool.h.
5979 (gt_pch_p_S): New.
5980 (gt_pch_n_S): New.
5981 (struct string_pool_data): New.
5982 (spd): New.
5983 (gt_pch_save_stringpool): New.
5984 (gt_pch_restore_stringpool): New.
5985 * tree.c (init_ttree): Make type_hash_table allocated using GC.
5986
5987 2002-10-04 Geoffrey Keating <geoffk@apple.com>
5988
5989 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
5990 (output_mangled_typename): Don't pass size_t to printf.
5991
5992 * tree.h (union tree_type_symtab): Add tag to `address' field.
5993 (union tree_decl_u2): Add tag to 'i' field.
5994 * varasm.c (union rtx_const_un): Add tags to all fields.
5995 * gengtype.c (struct walk_type_data): New.
5996 (output_escaped_param): Take struct walk_type_data parameter.
5997 (write_gc_structure_fields): Delete.
5998 (walk_type): New.
5999 (write_gc_marker_routine_for_structure): Delete.
6000 (write_func_for_structure): New.
6001 (gc_mark_process_field): New.
6002 (gc_mark_func_name): New.
6003 (gc_counter): Delete.
6004 (write_gc_types): Use write_func_for_structure.
6005 (write_gc_roots): Use walk_type.
6006
6007 2002-10-02 Geoffrey Keating <geoffk@apple.com>
6008
6009 * ggc-common.c (ggc_mark_roots): Delete 'x'.
6010 (ggc_splay_dont_free): Fix warning about unused 'x'.
6011 (ggc_print_common_statistics): Remove warnings.
6012
6013 2002-10-01 Mike Stump <mrs@apple.com>
6014
6015 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
6016 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
6017
6018 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
6019 Catherine Moore <clm@redhat.com>
6020
6021 * Makefile (c-pch.o): Update dependencies.
6022 (LIBCPP_OBJS): Add cpppch.o.
6023 (cpppch.o): New.
6024 * c-common.c (c_common_init): Don't call pch_init here.
6025 * c-common.h (c_common_read_pch): Update prototype.
6026 * c-lex.c (c_common_parse_file): Call pch_init here.
6027 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
6028 (c_common_decode_option): Handle them.
6029 * c-pch.c: Include c-pragma.h.
6030 (save_asm_offset): Delete.
6031 (pch_init): Move contents of save_asm_offset into here, call
6032 cpp_save_state.
6033 (c_common_write_pch): Call cpp_write_pch.
6034 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
6035 cpp_valid_state.
6036 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
6037 * cppfiles.c (stack_include_file): Update for change to
6038 parameters of cb.read_pch.
6039 * cpphash.h (struct cpp_reader): Add `savedstate' field.
6040 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
6041 `restore_pch_deps' fields.
6042 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
6043 (cpp_save_state): Prototype.
6044 (cpp_write_pch): Prototype.
6045 (cpp_valid_state): Prototype.
6046 (cpp_read_state): Prototype.
6047 * cpppch.c: New file.
6048 * flags.h (version_flag): Remove prototype.
6049 * mkdeps.c (deps_save): New.
6050 (deps_restore): New.
6051 * mkdeps.h (deps_save): Prototype.
6052 (deps_restore): Prototype.
6053 * toplev.c (late_init_hook): Delete.
6054 (version_flag): Make static again.
6055 (compile_file): Don't call late_init_hook.
6056 * toplev.h (late_init_hook): Delete.
6057 * doc/cppopts.texi: Document -fpch-deps.
6058 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
6059
6060 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
6061
6062 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
6063 callers.
6064 (c_common_valid_pch): Rename from c_valid_pch, change callers.
6065 (c_common_read_pch): Rename from c_read_pch, change callers.
6066
6067 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
6068 a space between it and its argument.
6069
6070 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
6071
6072 * c-pch.c: New file.
6073 * toplev.h (late_init_hook): Declare.
6074 * toplev.c (late_init_hook): Define.
6075 (version_flag): Make globally visible.
6076 (compile_file): Call late_init_hook.
6077 (init_asm_output): Make output file seekable.
6078 * gcc.c (default_compilers): Update c-header rule.
6079 * flags.h (version_flag): Declare.
6080 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
6081 fields.
6082 * cppfiles.c (struct include_file): Add 'pch' field.
6083 (INCLUDE_PCH_P): New.
6084 (open_file_pch): New.
6085 (stack_include_file): Handle PCH files specially.
6086 (find_include_file): Call open_file_pch instead of open_file.
6087 (_cpp_read_file): Explain why open_file is used instead of
6088 open_file_pch.
6089 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
6090 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
6091 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
6092 in cpplib callbacks.
6093 * c-common.c (pch_file): Correct comment.
6094 (allow_pch): Define.
6095 (c_common_init): Call pch_init.
6096 * c-common.h (allow_pch): Declare.
6097 (pch_init): Declare.
6098 (c_valid_pch): Declare.
6099 (c_read_pch): Declare.
6100 (c_write_pch): Declare.
6101 * Makefile.in (c-pch.o): New.
6102 (C_AND_OBJC_OBJS): Add c-pch.o.
6103 * doc/invoke.texi (Precompiled Headers): Add index entries,
6104 complete truncated paragraph.
6105
6106 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
6107
6108 * c-common.c: (pch_file): Define.
6109 * c-common.h (pch_file): Declare.
6110 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
6111 (missing_arg): Require --output-pch= to have an argument.
6112 (c_common_decode_option): Handle --output-pch=.
6113 * gcc.c: Document new %V.
6114 (default_compilers): Handle compiling C header files.
6115 (do_spec_1): Implement %V.
6116 (main): Handle "gcc foo.h" without trying to run linker.
6117 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
6118 (Overall Options): Document what the driver does with header files,
6119 document new -x option possibilities.
6120 (Invoking G++): More documentation for PCH.
6121 (Precompiled Headers): New.
6122
6123 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
6124
6125 * ggc.h: Don't include varray.h. Rearrange functions to be more
6126 organized.
6127 (ggc_add_root): Delete.
6128 (ggc_mark_rtx): Delete.
6129 (ggc_mark_tree): Delete.
6130 (struct ggc_statistics): Remove contents.
6131 * ggc-common.c: Remove unneeded includes.
6132 (struct ggc_root): Delete.
6133 (roots): Delete.
6134 (ggc_add_root): Delete.
6135 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
6136 (ggc_print_common_statistics): Remove most of the contents.
6137 * Makefile.in (GGC_H): No longer uses varray.h.
6138 (ggc-common.o): Update dependencies.
6139 (c-parse.o): Add varray.h to dependencies.
6140 (c-common.o): Add varray.h.
6141 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
6142 (mark_ident_hash): Rename to ggc_mark_stringpool.
6143 (init_stringpool): Don't use ggc_add_root.
6144 * c-parse.in: Include varray.h.
6145 * c-common.c: Include varray.h.
6146 * objc/Make-lang.in (objc-act.o): Add varray.h.
6147 * objc/objc-act.c: Include varray.h.
6148
6149 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
6150
6151 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
6152 (dw_cfi_oprnd1_desc): Likewise.
6153
6154 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
6155
6156 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
6157 move out of ifdef.
6158 (alpha_links): Use gengtype to mark; move out of ifdef.
6159 (mark_alpha_links_node): Delete.
6160 (mark_alpha_links): Delete.
6161 (alpha_need_linkage): Use GGC to allocate splay tree, struct
6162 alpha_links, strings. Don't use ggc_add_root.
6163 * ggc-common.c (ggc_splay_alloc): New.
6164 (ggc_splay_dont_free): New.
6165 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
6166 (ggc_mark_tree): Likewise.
6167 (splay_tree_new_ggc): New.
6168 (ggc_splay_alloc): Declare.
6169 (ggc_splay_dont_free): Declare.
6170 * dwarf2asm.c: Include gt-dwarf2asm.h.
6171 (mark_indirect_pool_entry): Delete.
6172 (mark_indirect_pool): Delete.
6173 (indirect_pool): Use gengtype to mark.
6174 (dw2_force_const_mem): Don't use ggc_add_root.
6175 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
6176 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
6177 (gt-dwarf2asm.h): Depend on s-gtype.
6178
6179 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
6180
6181 * tree.h (union tree_type_symtab): Mark `die' field.
6182 * Makefile.in (dwarf2out.o): Update dependencies.
6183 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
6184 hash tables.
6185 (dw_cfi_oprnd1_desc): New function.
6186 (dw_cfi_oprnd2_desc): New function.
6187 (indirect_string_alloc): Delete.
6188 (debug_str_do_hash): New function.
6189 (debug_str_eq): New function.
6190 (mark_limbo_die_list): Delete.
6191 (dwarf2out_init): Don't call ggc_add_root.
6192
6193 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>
6194
6195 The following changes are merged from itanium-sched-branch:
6196
6197 2003-01-08 David Edelsohn <edelsohn@gnu.org>
6198
6199 * doc/md.texi: Clarify assignment of units to automata description.
6200
6201 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
6202
6203 * genautomata.c (unit_decl): Remove members
6204 `the_same_automaton_unit' and
6205 `the_same_automaton_message_reported_p'.
6206 (process_unit_to_form_the_same_automaton_unit_lists,
6207 form_the_same_automaton_unit_lists_from_regexp,
6208 form_the_same_automaton_unit_lists, the_same_automaton_lists):
6209 Remove them.
6210 (annotation_message_reported_p): New global variable.
6211 (check_unit_distribution_in_reserv,
6212 check_regexp_units_distribution): New functions.
6213 (check_unit_distributions_to_automata): Rewrite it.
6214
6215 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
6216
6217 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
6218 Use continue instead of break if cycle is too big.
6219
6220 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
6221
6222 * genautomata.c (check_unit_distributions_to_automata): Output at
6223 most one message for a unit.
6224 (process_unit_to_form_the_same_automaton_unit_lists): Check
6225 automaton of units instead of units themself.
6226
6227 * doc/md.texi: Describe the constraint about assigning unit to
6228 automata.
6229
6230 2002-12-20 Jan Hubicka <jH@suse.cz>
6231 Vladimir Makarov <vmakarov@redhat.com>
6232
6233 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
6234 and `in_set_p'.
6235 (gen_cpu_unit): Initialize the new members.
6236 (process_regexp_cycles): Calculate minimal finish cycle too. Set
6237 up `min_occ_cycle_num'.
6238 (evaluate_max_reserv_cycles): Change the function call.
6239 (CLEAR_BIT): New macro.
6240 (states_union, state_shift): Use the mask.
6241 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
6242 (form_reservs_matter): New function.
6243 (make_automaton): Call the function and use the mask.
6244 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
6245 account.
6246
6247 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
6248
6249 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
6250
6251 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
6252
6253 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
6254 for Itanium.
6255
6256 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
6257
6258 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
6259 default cpu.
6260
6261 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
6262 2002-10-31 Dale Johannesen <dalej@apple.com>
6263
6264 * haifa-sched.c (find_set_reg_weight): New function.
6265 (find_insn_reg_weight): Use the new function.
6266 (schedule_block): Do sorting ready queue always
6267 after insn issue.
6268
6269 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
6270
6271 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
6272
6273 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
6274
6275 * haifa-sched.c (choice_entry): New structure.
6276 (choice_stack, cycle_issued_insns): New variables.
6277 (max_issue): Rewrite it.
6278 (choose_ready): Set up ready_try for unknown insns too.
6279 (schedule_block): Allocate and free choice_stack. Set up
6280 and modify cycle_issued_insns.
6281
6282 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
6283 with and without filling the bundle.
6284 (bundling): Combine calls of issue_nops_and_insn.
6285
6286 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
6287
6288 * config/ia64/itanium1.md: New file.
6289
6290 * config/ia64/itanium2.md: New file.
6291
6292 * config/ia64/ia64.md: Move DFA descriptions into the new files.
6293 Remove the old pipeline description.
6294
6295 * config/ia64/ia64.c (ia64_override_options): Add aliases of
6296 itanium processor names.
6297
6298 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
6299
6300 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
6301 (ia64_reorg): Set up queried unit codes for Itanium2 too.
6302
6303 * config/ia64/ia64.md: Add descriptions for Itanium2.
6304
6305 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
6306
6307 * config/ia64/ia64.h (processor_type): New enumeration.
6308 (ia64_tune, ia64_tune_string): New external declarations.
6309 (TARGET_OPTIONS): Add option `tune='.
6310
6311 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
6312 variables.
6313 (ia64_override_options): Set up `ia64_tune'.
6314 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
6315 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
6316 (bundling): Add nops for MM-insns only for Itanium.
6317 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
6318 Itanium.
6319
6320 * config/ia64/ia64.md (cpu): New attribute.
6321 (DFA description): Enable it only for Itanium.
6322
6323 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
6324 Richard Henderson <rth@redhat.com>
6325
6326 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
6327 MASK_EARLY_STOP_BITS.
6328 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
6329 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
6330 `early-stop-bits'.
6331
6332 * config/ia64/ia64.c (ia64_dfa_new_cycle,
6333 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
6334 instead of TARGET_TUNE_STOP_BITS.
6335
6336 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
6337 `-mearly-stop-bits'.
6338
6339 * config/ia64/ia64.c (automata_option "v"): Comment it.
6340
6341 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
6342
6343 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
6344 New macros.
6345 (TARGET_SWITCHES): Add entries for the new option.
6346
6347 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
6348 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
6349 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
6350 global variables.
6351 (ia64_sched_reorder2): Set up `clocks'.
6352 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
6353 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
6354 queue when TARGET_TUNE_STOP_BITS.
6355 (bundling): Insert additional nops for MM-insns.
6356 (final_emit_insn_group_barriers): Add insertion of stop bits
6357 according `stops_p'.
6358 (ia64_reorg): Initiate the new varibales.
6359
6360 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
6361
6362 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
6363
6364 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
6365 insns at the end of block insn scheduling.
6366
6367 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
6368
6369 * sched-deps.c (remove_dependence, group_leader): Remove it.
6370 (add_dependence): Add dependence to group leader to.
6371 (set_sched_group_p): Add dependence to the first insn of the
6372 schedule group too.
6373 (sched_analyze_insn): Make dependence to jump as anti-dependence.
6374 Change true dependence by anti-dependence when
6375 `reg_pending_barrier'.
6376
6377 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
6378 add_branch_dependences): Ignore schedule groups.
6379
6380 * sched-ebb.c (init_ready_list): Ditto.
6381
6382 * (move_insn, set_priorities): Ditto.
6383
6384 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
6385 flag is clear after reload.
6386 (adjust_cost): Change cost only for output dependencies.
6387
6388 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
6389
6390 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
6391
6392 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
6393
6394 * target.h (gcc_target): Add member
6395 `dependencies_evaluation_hook'.
6396
6397 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
6398 macro.
6399 (TARGET_SCHED): Add initiatialization of the new member.
6400
6401 * sched-ebb.c: Include `target.h'.
6402 (schedule_ebb): Call `dependencies_evaluation_hook'.
6403
6404 * sched-rgn.c (schedule_region): Call
6405 `dependencies_evaluation_hook'.
6406
6407 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
6408 New macro.
6409 (ia64_dependencies_evaluation_hook): New function.
6410
6411 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
6412 Describe the new hook.
6413
6414 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
6415
6416 * target.h (gcc_target): Add members
6417 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
6418
6419 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
6420 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
6421 macros.
6422 (TARGET_SCHED): Add initiatialization of the new members.
6423
6424 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
6425 insn scheduling too.
6426 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
6427 initialize `ready_try'.
6428 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
6429 `dfa_new_cycle' says not to do it.
6430
6431 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
6432 bundling.
6433
6434 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
6435
6436 * config/ia64/ia64.c: Include `hashtab.h'.
6437 (ia64_first_cycle_multipass_dfa_lookahead_guard,
6438 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
6439 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
6440 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
6441 bundle_state_eq_p, insert_bundle_state,
6442 initiate_bundle_state_table, finish_bundle_state_table,
6443 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
6444 get_template, get_next_important_insn, bundling): New functions.
6445 (ia64_internal_sched_reorder): Remove it.
6446 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
6447 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
6448 (ia64_safe_itanium_requires_unit0): Remove it.
6449 (group_barrier_needed_p): Place group barrier right before a real
6450 insn.
6451 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
6452 Remove them.
6453 (bundle_name): New variable.
6454 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
6455 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
6456 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
6457 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
6458 temp_dfa_state, prev_cycle_state): New global variables.
6459 (insn_matches_slot, maybe_rotate, finish_last_head,
6460 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
6461 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
6462 find_best_packet, itanium_reorder, dump_current_packet,
6463 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
6464 (sched_data, sched_ready, sched_types): Remove them.
6465 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
6466 `init_insn_group_barriers'.
6467 (ia64_sched_reorder, ia64_sched_reorder2): Call
6468 ia64_dfa_sched_reorder.
6469 (ia64_variable_issue): Rewrite it.
6470 (bundle_state): New structure.
6471 (index_to_bundle_states, bundle_states_num,
6472 allocated_bundle_states_chain, free_bundle_state_chain): New
6473 global variables.
6474 (ia64_sched_finish): Add stop bits and call `bundling' after the
6475 2nd insn scheduling.
6476 (ia64_use_dfa_pipeline_interface): Return zero always.
6477 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
6478 insn scheduling.
6479 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
6480 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
6481 (ia64_reorg): Add bundling insns.
6482
6483 * doc/tm.texi
6484 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
6485 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
6486
6487 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
6488
6489 * config/ia64/ia64.md: Add Itanium1 DFA description.
6490 (itanium_class): Add `nop' and `pre_cycle'. Add
6491 define_function_unit for `nop'.
6492 (nop): Change attribute `itanium_class'.
6493 (pre_cycle): New define_insn.
6494
6495 * config/ia64/ia64-protos.h (bundling_p): New external variable.
6496 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
6497 ia64_produce_address_p): New function prototypes.
6498
6499 * config/ia64/ia64.c (bundling_p): New global variable.
6500 (ia64_use_dfa_pipeline_interface,
6501 ia64_first_cycle_multipass_dfa_lookahead,
6502 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
6503 functions.
6504 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6505 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6506 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6507 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
6508 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
6509 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
6510 (dfa_pre_cycle_insn): New variable.
6511
6512 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
6513
6514 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
6515 constructions.
6516
6517 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
6518 New function prototypes.
6519
6520 * genattrtab.c (main): Process the new constructions.
6521
6522 * genautomata.c (gen_presence_absence_set,
6523 process_presence_absence_names, process_presence_absence_patterns,
6524 add_presence_absence, check_absence_pattern_sets): Add parameter
6525 `final_p'.
6526 (unit_decl): Add new members `final_presence_list' and
6527 `final_absence_list'.
6528 (unit_pattern_rel_decl): Add new member `final_p'.
6529 (gen_final_presence_set, gen_final_absence_set): New functions.
6530 (process_decls): Use member `final_p'.
6531 (temp_reserv): New global variable.
6532 (reserv_sets_are_intersected): Add processing `final_presence_set'
6533 and `final_absence_set'.
6534 (initiate_states): Allocate `temp_reserv'.
6535 (unit_final_presence_set_table, unit_final_absence_set_table): New
6536 gloabal variables.
6537 (initiate_presence_absence_pattern_sets): Initiate them.
6538 (NDFA_to_DFA): Fix typo.
6539 (output_description): Output `final_presence_set' and
6540 `final_absence_set'.
6541
6542 * doc/md.texi (final_presence_set, final_absence_set): Describe
6543 them.
6544
6545 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
6546
6547 * genautomata.c (transform_3): Process a missing case (nothing on
6548 unit place).
6549
6550 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
6551
6552 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
6553 comments about queried units and the minimization.
6554
6555 * doc/md.texi: Ditto.
6556
6557 * genautomata.c (create_composed_state): Return nonzero if the new
6558 state has been created.
6559 (first_cycle_unit_presence): New function.
6560 (state_is_differed): Add new parameter. Use the new function.
6561 Take queried units into account.
6562 (partition_equiv_class): Pass additional parameter to
6563 `state_is_differed'.
6564 (merge_states): Process composed states too.
6565 (build_automaton, create_automata, output_min_issue_delay_table,
6566 output_tables, output_statistics): Output more information.
6567 (output_reserved_units_table): Use function
6568 `first_cycle_unit_presence'.
6569 (output_tables): Output table of queried units even if the
6570 minimization is switched on.
6571 (write_automata): Output code for querying units even if the
6572 minimization is switched on.
6573
6574 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
6575
6576 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
6577 syntax of the constructions.
6578
6579 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
6580 extended syntax of the constructions.
6581
6582 * genautomata.c (unit_rel_decl): Rename it to
6583 `unit_pattern_rel_decl'.
6584 (pattern_set_el, pattern_reserv): New structures.
6585 (pattern_set_el_t, pattern_reserv_t): New types.
6586 (gen_presence_absence_set): New function.
6587 (process_presence_absence): Remove it.
6588 (process_presence_absence_names,
6589 process_presence_absence_patterns): New functions.
6590 (get_presence_absence_set): Remove it.
6591 (initiate_presence_absence_sets): Rename it on
6592 `initiate_presence_absence_pattern_sets'. Use new function
6593 `form_reserv_sets_list'.
6594 (form_reserv_sets_list, check_presence_pattern_sets,
6595 check_absence_pattern_sets, output_pattern_set_el_list): New
6596 functions.
6597 (unit_decl): Change types of members `presence_list' and
6598 `absence_list'.
6599 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
6600 (decl): Change types of members `excl', `presence', and `absence'.
6601 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
6602 at the end of the vector.
6603 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
6604 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
6605 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
6606 (gen_presence_set, gen_absence_set): Use new function
6607 `gen_presence_absence_set'.
6608 (add_presence_absence): Process `pattern_list' instead of
6609 `source_list'.
6610 (process_decls): USe new functions
6611 `process_presence_absence_names' and
6612 `process_presence_absence_patterns'.
6613 (reserv_sets_are_intersected): Use new function
6614 `check_presence_pattern_sets'.
6615 (presence_set, absence_set): Remove them.
6616 (unit_presence_set_table, unit_absence_set_table): New global
6617 variables.
6618 (output_description): Use new function
6619 `output_pattern_set_el_list'.
6620 (generate): Use `initiate_presence_absence_pattern_sets'.
6621
6622 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
6623
6624 * genattr.c (main): Add output of prototype of new interface
6625 function `dfa_clean_insn_cache'.
6626
6627 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
6628 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
6629 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
6630 the generated code.
6631 (write_automata): Call the new function.
6632
6633 Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
6634
6635 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
6636 correctly.
6637
6638 2003-01-09 Paolo Carlini <pcarlini@unitus.it>
6639
6640 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
6641
6642 Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
6643
6644 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
6645 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
6646 (CONSTRAINT_LEN): Provide default definition.
6647 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
6648 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
6649 (EXTRA_CONSTRAINT_STR): Likewise.
6650 (REG_CLASS_FROM_CONSTRAINT): Define.
6651 * genoutput.c (check_constraint_len, constraint_len): New functions.
6652 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
6653 constraint / modifier.
6654 (gen_insn): Call check_constraint_len.
6655 * local-alloc.c (block_alloc): Update to use new macros / pass
6656 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
6657 * ra-build.c (handle_asm_insn): Likewise.
6658 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
6659 (constrain_operands, peep2_find_free_register): Likewise.
6660 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
6661 * regmove.c (find_matches): Likewise.
6662 * reload.c (push_secondary_reload, find_reloads): Likewise.
6663 (alternative_allows_memconst): Likewise.
6664 * reload1.c (maybe_fix_stack_asms): Likewise.
6665 (reload_cse_simplify_operands): Likewise.
6666 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
6667 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
6668 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
6669 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
6670 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
6671 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
6672
6673 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
6674
6675 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
6676
6677 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
6678 length.
6679 (*extzv_1_r_h8300hs): Likewise.
6680 (*extzv_1_r_inv_h8300): Likewise.
6681 (*extzv_1_r_inv_h8300hs): Likewise.
6682
6683 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
6684
6685 * config/h8300/h8300.h (PREDICATE_CODES): New.
6686
6687 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
6688
6689 * config/h8300/h8300.md (*addsi3_upper): New.
6690 (*iorsi3_shift): Likewise.
6691 (two splitters): Likewise.
6692 (*addsi3_shift): Likewise.
6693 (two splitters): Likewise.
6694
6695 2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
6696
6697 * Makefile.in (optabs.o): Add dependency on basic-block.h.
6698 * basic-block.h (control_flow_insn_p): Fuction was exported.
6699 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
6700 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
6701 notes only when the region is contained in a single basic block.
6702
6703 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
6704
6705 PR inline-asm/8832
6706 * tree.h (expand_asm): New prototype.
6707 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
6708 to do so.
6709 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
6710 down to expand_asm.
6711 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
6712 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
6713 (volatile_refs_p) [ASM_INPUT]: Likewise.
6714 (side_effects_p) [ASM_INPUT]: Likewise.
6715
6716 Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
6717
6718 * i386.md (*mul*): FIx constraints; remove confused comment; fix
6719 athlon_decode attributes
6720 (imul/k8 optimization peep2s): New.
6721
6722 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
6723 * i386.md (type attribute): Add ssecomi.
6724 (unit, memory, prefix attributes): Handle ssecomi.
6725 (cvt?2? patterns): Fix athlon_decode attribute
6726 (comi patterns): Set attribute to ssecomi.
6727
6728 PR target/8343
6729 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
6730
6731 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
6732
6733 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
6734 that match register_operands.
6735 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
6736 register_operand the default case.
6737
6738 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
6739
6740 PR c/8032
6741 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
6742 an empty element, do not advance the pointer to unfilled
6743 fields if there are pending initializers.
6744
6745 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
6746
6747 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
6748 (install-gcc-tooldir, install-cpp, installdirs,
6749 install-common, install-driver, install-info, install-man,
6750 install-headers, install-include-dir, install-headers-tar,
6751 install-headers-cpio, install-headers-cp, install-mkheaders,
6752 install-collect2, uninstall): Prepend $(DESTDIR) to
6753 destination paths in all (un)installation commands.
6754 (install-driver): Rewrite $(LN) commands to support DESTDIR
6755 with "ln" as well as with "ln -s".
6756 (installdirs): Simply use mkinstalldirs.
6757 (install-libgcc, install-multilib): Also pass DESTDIR.
6758 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
6759 installation destination variable ldir.
6760 * config/alpha/t-osf4, config/arm/t-netbsd,
6761 config/ia64/t-hpux, config/mips/t-iris5-6,
6762 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
6763 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
6764 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
6765 in the definition of SHLIB_INSTALL.
6766 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
6767 $(libsubdir) in the installation commands.
6768
6769 2003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
6770
6771 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
6772 non-optimizing compile.
6773 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
6774 compile.
6775
6776 2003-01-08 Douglas B Rupp <rupp@gnat.com>
6777
6778 * config/i386/i386.c (ix86_attribute_table): Add new attributes
6779 ms_struct and gcc_struct.
6780 (ix86_handle_struct_attribute): New function.
6781 (ix86_ms_bitfield_layout_p): Update to take new attributes
6782 into account.
6783 * doc/extend.texi: Document new attributes.
6784 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
6785
6786 2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
6787
6788 PR optimization/8750
6789 * config/i386/i386.c (ix86_expand_prologue): Don't allow
6790 scheduling pass to move insns across __alloca call.
6791
6792 2003-01-08 Dale Johannesen <dalej@apple.com>
6793
6794 * config/rs6000/rs6000.md: Replace *store_multiple_string
6795 with *stmsi[3-8].
6796
6797 2003-01-08 Jeff Sturm <jsturm@one-point.com>
6798
6799 PR target/9210
6800 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
6801 Set SYMBOL_REF_FLAG on local data sym_ref.
6802
6803 2003-01-08 Dale Johannesen <dalej@apple.com>
6804
6805 * function.c (assign_parms): Don't set pretend_args_size if
6806 REG_PARM_STACK_SPACE.
6807 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
6808 pretend_args_size.
6809
6810 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
6811
6812 * gcc.hlp: Delete.
6813
6814 Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
6815
6816 * i386.c (ix86_expand_int_addcc): Fix thinko.
6817
6818 2003-01-08 David Edelsohn <edelsohn@gnu.org>
6819
6820 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
6821 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
6822 as hook_bool_tree_hwi_hwi_tree_true.
6823 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
6824 (rs6000_emit_epilogue): Same.
6825 (rs6000_output_mi_thunk): Re-implement as RTL.
6826 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
6827 xcoffout_declare_function if any debugging enabled.
6828
6829 2003-01-08 Chris Demetriou <cgd@broadcom.com>
6830
6831 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
6832 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
6833 * config/mips/mips.h (enum processor_type): Rename
6834 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
6835 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
6836 Add PROCESSOR_M4K.
6837 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
6838 (ISA_MIPS32R2): New define.
6839 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
6840 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
6841 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
6842 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
6843 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
6844 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
6845 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
6846 compiling MIPS16 code.
6847 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
6848 comment.
6849 (ISA_HAS_SEB_SEH): New define.
6850 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
6851 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
6852 processor_type value renaming. Add support for MIPS32R2.
6853 Clean up comments, and move "sb1" entry with other MIPS64 CPU
6854 entries.
6855 (override_options): Reimplement -mipsN option handling so that
6856 it will work correctly for -mips32r2. Avoid branch-likely
6857 instructions on MIPS32R2.
6858 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
6859 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
6860 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
6861 (extendhisi2_hw, extendqisi2_hw): New.
6862 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
6863 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
6864 MIPS32R2, and MIPS64.
6865 (LINK_SPEC): Pass -mips32r2 to linker.
6866 * config/mips/t-isa3264: Built -mips32r2 multilibs.
6867 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
6868 for mips32r2 in the -march description. Alphabetically sort
6869 CPU names in the -march description. Add long-missed -mips32
6870 and -mips64 to MIPS option summary.
6871
6872 * config.gcc: Update copyright years to include 2003.
6873 * config/mips/mips.c: Likewise.
6874 * config/mips/mips.h: Likewise.
6875 * config/mips/mips.md: Likewise.
6876 * config/mips/netbsd.h: Likewise.
6877 * doc/invoke.texi: Likewise.
6878
6879 2003-01-08 Andreas Schwab <schwab@suse.de>
6880
6881 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
6882 variable.
6883 * configure: Regenerated.
6884
6885 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
6886
6887 * config/h8300/h8300.c (output_logical_op): Replace byte/word
6888 extraction of det with b0, b1, w0, w2, etc.
6889 (compute_logical_op_length): Likewise.
6890 (compute_logical_op_cc): Likewise.
6891
6892 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
6893
6894 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
6895 HIGH on all variants.
6896
6897 Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
6898
6899 * Makefile.in (PARTITION_H): New.
6900 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
6901 * basic-block.h: Include hard-reg-set.h.
6902
6903 2003-01-08 Richard Earnshaw <rearnsha@arm.com>
6904
6905 * arm.h (ENABLE_XF_PATTERNS): Delete.
6906 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
6907 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
6908 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
6909 (cmpxf_trap): Delete.
6910 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
6911
6912 Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
6913
6914 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
6915 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
6916 (add??cc): New expanders.
6917 * i386.c (expand_int_addcc): New function.
6918 * i386-protos.h (expand_int_addcc): Declare.
6919
6920 * alias.c (memory_modified_1): New static function.
6921 (memory_modified): New static varaible.
6922 (memory_modified_in_insn_p): New global function.
6923 * rtl.h (memory_modified_in_insn_p): Declare.
6924 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
6925 references.
6926
6927 * expr.h (emit_conditional_add): Declare.
6928
6929 2003-01-07 Janis Johnson <janis187@us.ibm.com>
6930
6931 PR other/8947
6932 * doc/invoke.texi (-malign-double): Explain that the option breaks
6933 binary compatibility.
6934
6935 2003-01-08 Andreas Schwab <schwab@suse.de>
6936
6937 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
6938 should come from the generic *-*-linux* entry.
6939
6940 Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
6941
6942 * cselib.c (cselib_current_insn_in_libcall): New static variable.
6943 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
6944 we are inside libcall.
6945 * cselib.h (elt_loc_list): Add in_libcall.
6946 * gcse.c (do_local_cprop): Do not copy propagate using insns
6947 in libcalls.
6948
6949 2003-01-07 David Edelsohn <edelsohn@gnu.org>
6950
6951 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
6952 not normally affect to issue rate.
6953
6954 Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
6955
6956 * genopinit.c (optabs): Add addc_optab.
6957 * ifcvt.c (noce_try_store_flag): Rename to ...
6958 (noce_try_addcc): ... this one; handle generic conditional increment.
6959 (noce_process_if_block): Update noce_try_addcc call.
6960 * optabs.c (emit_conditional_add): New.
6961 (init_obtabs): Initialize addc_optab.
6962 * optabs.h (optab_index): Add OTI_addcc.
6963 (addcc_optab): New macro.
6964 * md.texi: Document addMcc
6965
6966 PR target/8322
6967 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
6968 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
6969 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
6970
6971 * reload1.c (delete_output_reload): Avoid repeated attempts
6972 to delete insn.
6973
6974 2003-01-07 Andreas Schwab <schwab@suse.de>
6975
6976 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
6977 Move --enable-initfini-array check ...
6978 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
6979 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
6980 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
6981 * configure: Rebuild.
6982
6983 2003-01-07 Richard Henderson <rth@redhat.com>
6984
6985 * alias.c (find_base_value): Only use new_reg_base_value shortcut
6986 if the register is set once.
6987
6988 2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
6989
6990 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
6991 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
6992 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
6993
6994 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
6995 Sunil Davasam <sunil.k.davasam@intel.com>
6996
6997 PR libstdc++/9076
6998 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
6999 DW_CFA_same_value, read next and ignore.
7000
7001 2003-01-07 Richard Henderson <rth@redhat.com>
7002
7003 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
7004
7005 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
7006
7007 * cfg.c: Include alloc-pool.h
7008 (edge_pool): New pool.
7009 (bb_pool): New pool.
7010 (first_deleted_edge): Remove.
7011 (first_deleted_block): Remove.
7012 (init_flow): Alloc/free the pools.
7013 (free_edge): Use pools.
7014 (alloc_block): Ditto.
7015 (expunge_block): Ditto.
7016 (cached_make_edge): Ditto.
7017
7018 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
7019
7020 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
7021
7022 * et-forest.c: Include alloc-pool.h.
7023 (struct et_forest): Add node_pool and occur_pool.
7024 (et_forest_create): Create the new pools.
7025 (et_forest_delete): Delete them.
7026 (et_forest_add_node): Allocate and free using pools.
7027 (et_forest_add_edge): Ditto.
7028 (et_forest_remove_node): Ditto.
7029 (et_forest_remove_edge): Ditto.
7030
7031 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
7032
7033 2003-01-07 Kazu Hirata <kazu@cs.umass.edu>
7034
7035 * config/h8300/h8300.c (output_logical_op): Simplify and
7036 optimize the handling of SImode.
7037 * config/h8300/h8300.c (compute_logical_op_length): Update
7038 accordingly.
7039 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
7040
7041 2003-01-07 Richard Sandiford <rsandifo@redhat.com>
7042
7043 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
7044 big-endian correction to indirect arguments too.
7045
7046 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
7047
7048 Segher Boessenkool <segher@koffie.nl>
7049
7050 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
7051 (alt_reg_names): Ditto, fix formatting.
7052 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
7053
7054 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
7055
7056 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
7057 (output_logical_op): Constify intval and det.
7058 (compute_logical_length): Likewise.
7059 (compute_logical_cc): Likewise.
7060 (output_a_shift): Constify mask.
7061 (h8300_encode_label): Constify len.
7062
7063 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
7064
7065 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
7066 (h8300_expand_epilogue): Likewise.
7067
7068 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
7069
7070 Segher Boessenkool <segher@koffie.nl>
7071
7072 * config/rs6000/altivec.md: Remove spaces from assembler
7073 instruction argument lists.
7074
7075 2003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7076
7077 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
7078 c4x_assembler_function_p.
7079 (c4x_null_epilogue_p): Complement return value, all uses updated.
7080 (c4x_insert_attributes): Add naked.
7081 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
7082 * doc/extend.texi: Update C4x function attributes.
7083
7084 2003-01-06 Richard Henderson <rth@redhat.com>
7085
7086 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
7087 properly when changing "local-ness".
7088 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
7089
7090 2003-01-06 Dale Johannesen <dalej@apple.com>
7091
7092 * config/darwin-protos.h: Add prototypes for new section functions.
7093
7094 2003-01-06 Chris Demetriou <cgd@broadcom.com>
7095
7096 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
7097 to EABI.
7098
7099 2003-01-06 Zack Weinberg <zack@codesourcery.com>
7100
7101 * hwint.h: If the current compiler has no 64-bit type at all,
7102 make HOST_WIDEST_INT 32 bits.
7103
7104 2003-01-06 Eric Christopher <echristo@redhat.com>
7105
7106 * config/mips/mips.md (movdf_internal2): Fix constraints.
7107
7108 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
7109
7110 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
7111
7112 2003-01-06 Richard Sandiford <rsandifo@redhat.com>
7113
7114 * config/mips/mips.md (leadi): Use dla rather than la.
7115
7116 2003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
7117
7118 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
7119 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
7120
7121 2003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
7122
7123 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
7124 redefinition.
7125
7126 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
7127
7128 * config/h8300/h8300.md (*extzv_8_23): New.
7129
7130 2003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7131
7132 * pa64-hpux.h (JCR_SECTION_NAME): Define.
7133 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
7134 USE_EH_FRAME_REGISTRY when defining.
7135
7136 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
7137
7138 * config/h8300/h8300.c (output_a_shift): Do not output a
7139 variable shift.
7140 * config/h8300/h8300.md (two splitters): New.
7141
7142 2003-01-05 Richard Sandiford <rsandifo@redhat.com>
7143
7144 * config/mips/mips.md: Disable the movstrsi define_split.
7145
7146 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7147
7148 * alloc-pool.c: Don't include "libiberty.h".
7149 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
7150 * convert.c (convert_to_real): Hide unused variable.
7151
7152 2003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7153
7154 * Makefile.in (gtyp-gen.h): Const-ify.
7155 * gcov-dump.c (tag_table): Likewise.
7156
7157 2003-01-04 Bruce Korb <bkorb@gnu.org>
7158
7159 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
7160 of *both* the file name and the fix name.
7161
7162 2003-01-04 John David Anglin <dave.anglin@nrc.ca>
7163
7164 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
7165 collect2.
7166 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
7167 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
7168 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
7169 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
7170 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
7171 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
7172 elfos.h.
7173 (EH_FRAME_IN_DATA_SECTION): Delete define.
7174 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
7175 (STARTFILE_SPEC): Use crtbegin.o.
7176 (ENDFILE_SPEC): Use crtend.o.
7177 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
7178 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
7179 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
7180 DTOR_LIST_BEGIN): Define.
7181 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
7182 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
7183 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
7184
7185 2002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
7186
7187 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
7188 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
7189 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
7190 Cleanup handling of replacement text.
7191 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
7192
7193 2003-01-04 Bruce Korb <bkorb@gnu.org>
7194
7195 * fixinc/tests/base/math.h: removed obsolete results
7196 * fixinc/tests/base/stdlib.h: ditto
7197 * fixinc/tests/base/sys/param.h: ditto
7198 * fixinc/tests/base/sys/stat.h: ditto
7199 * fixinc/tests/base/time.h: ditto
7200 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
7201 * fixinc/tests/base/sys/byteorder.h: ditto
7202 * fixinc/inclhack.def: Remove superfluous backslashes
7203
7204 2003-01-04 Kazu Hirata <kazu@cs.umass.edu>
7205
7206 * config/h8300/h8300-protos.h: Add prototypes for
7207 the new functions defined below.
7208 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
7209 define.
7210 (dosize): Emit RTL instead of assembly code.
7211 (push): Likewise.
7212 (pop): Likewise.
7213 (h8300_output_function_prologue): Remove.
7214 (h8300_expand_prologue): New.
7215 (h8300_expand_epilogue): New.
7216 (h8300_output_function_epilogue): Do only the reset of
7217 pragma_saveall.
7218 * config/h8300/h8300.md (push_h8300): New.
7219 (push_h8300hs): Likewise.
7220 (pop_h8300): Likewise.
7221 (pop_h8300hs): Likewise.
7222 (*stm_h8300s_2): Change the name to stm_h8300s_2.
7223 (*stm_h8300s_3): Change the name to stm_h8300s_3.
7224 (*stm_h8300s_4): Change the name to stm_h8300s_4.
7225 (*ldm_h8300s_2): New.
7226 (*ldm_h8300s_3): Likewise.
7227 (*ldm_h8300s_4): Likewise.
7228 (return): Likewise.
7229 (*return_1): Likewise.
7230 (prologue): Likewise.
7231 (epilogue): Likewise.
7232 (monitor_prologue): Likewise.
7233
7234 2003-01-03 Dale Johannesen <dalej@apple.com>
7235
7236 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
7237 machopic_picsymbol_stub1.
7238 (EXTRA_SECTION_FUNCTIONS): Ditto.
7239 * rs6000/rs6000.c: Update copyright.
7240 (machopic_output_stub): Use them. Remove an insn from stub code.
7241
7242 2003-01-02 Jason Merrill <jason@redhat.com>
7243
7244 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
7245
7246 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
7247 static/external decls.
7248
7249 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
7250 outermost scope.
7251 * c-decl.c (c_make_fname_decl): Push the decls there, too.
7252
7253 2003-01-03 Kazu Hirata <kazu@cs.umass.edu>
7254
7255 * config/h8300/h8300-protos.h: Add a prototype for
7256 h8300_current_function_interrupt_function_p.
7257 * config/h8300/h8300.c (interrupt_handler): Remove.
7258 (os_task): Likewise.
7259 (monitor): Likewise.
7260 (pragma_interrupt): New.
7261 (WORD_REG_USED): Use
7262 h8300_current_function_interrupt_function_p.
7263 (dosize): Likewise.
7264 (h8300_output_function_prologue): Likewise.
7265 Do not set interrupt_handler, os_task, monitor.
7266 (h8300_output_function_prologue): Use
7267 h8300_current_function_interrupt_function_p.
7268 Do not set interrupt_handler, os_task, monitor.
7269 (h8300_current_function_interrupt_function_p): New.
7270 (h8300_pr_interrupt): Set pragma_interrupt.
7271 (h8300_insert_attributes): Reset pragma_interrupt.
7272
7273 2003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7274
7275 * doc/install.texi (Configuration): Fix markup for reference to
7276 gcc/config.gcc.
7277
7278 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
7279
7280 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
7281 (*iorhi3_two_qi): Likewise.
7282 (*iorsi3_zexthi): Likewise.
7283 (*xorhi3_zextqi): Likewise.
7284 (*xorsi3_zexthi): Likewise.
7285 (*xorsi3_zextqi): Likewise.
7286
7287 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
7288
7289 * config/h8300/h8300.c (stack_pointer_operand): New.
7290 (const_int_gt_2_operand): Likewise.
7291 (const_int_ge_8_operand): Likewise.
7292 * config/h8300/h8300.md (a splitter): Likewise.
7293 (a peephole2): Likewise.
7294 * config/h8300/h8300-protos.h: Add prototypes for the new
7295 functions above.
7296
7297 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
7298
7299 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
7300 objc/objc-act.h: Fix copyright years.
7301
7302 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
7303
7304 * doc/passes.texi: Fix documentation for -fssa-ccp
7305
7306 2003-01-02 Neil Booth <neil@daikokuya.co.uk>
7307
7308 * gccbug.in: Update for new categories.
7309
7310 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7311
7312 * config/h8300/h8300.md: Reorder some patterns.
7313
7314 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7315
7316 * config/h8300/h8300.c (output_logical_op): Fix a warning.
7317
7318 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
7319
7320 * config/darwin-protos.h, config/c4x/c4x-protos.h,
7321 config/cris/cris-protos.h, config/i370/i370-protos.h,
7322 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
7323 config/v850/v850-protos.h: Use struct, and don't conditionally
7324 compile on GCC_C_PRAGMA_H.
7325
7326 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7327
7328 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
7329 * config/h8300/h8300-protos.h: Likewise.
7330 * config/sh/sh-protos.h: Likewise.
7331
7332 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7333
7334 * config/arm/arm-protos.h: Use struct cpp_reader instead of
7335 cpp_reader.
7336 * config/h8300/h8300-protos.h: Likewise.
7337 * config/sh/sh-protos.h: Likewise.
7338
7339 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
7340
7341 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
7342 arm_pr_long_calls_off): Use struct.
7343 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
7344 : Similarly.
7345 Don't include cpplib.h.
7346 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
7347 sh_pr_nosave_low_regs): Similarly.
7348
7349 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7350
7351 * config/h8300/h8300.c: Include cpplib.h.
7352
7353 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
7354
7355 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
7356 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
7357 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
7358 "GCC" in the copyright header.
7359
7360 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
7361
7362 * c-pragma.c (c_register_pragma): New.
7363 (init_pragma): Use it.
7364 * c-pragma.h (cpp_register_pragma): Don't declare.
7365 (c_register_pragma): New.
7366 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
7367 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
7368 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
7369 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7370 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
7371 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
7372 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
7373 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
7374 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
7375 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
7376 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
7377 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
7378
7379 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
7380
7381 * config/h8300/h8300-protos.h: Update the prototypes.
7382 * config/h8300/h8300.c (const_le_2_operand): Change to
7383 const_int_le_2_operand.
7384 (const_int_le_6_operand): Change to const_int_le_6_operand.
7385 * config/h8300/h8300.md (two peepholes): Update the function
7386 names.
7387
7388 2002-12-31 Tom Tromey <tromey@redhat.com>
7389
7390 * doc/install.texi (Testing): Fixed typo.
7391
7392 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
7393
7394 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
7395 (TRAMPOLINE_SIZE): Support the normal mode.
7396 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
7397
7398 2002-12-31 Mark Mitchell <mark@codesourcery.com>
7399
7400 * c-common.h (pending_lang_change): Declare.
7401
7402 2002-12-31 Jerry Quinn <jlquinn@optonline.net>
7403
7404 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
7405 descriptions.
7406
7407 2002-12-31 Jerry Quinn <jlquinn@optonline.net>
7408
7409 * gcc/doc/invoke.texi (Optimization Options): List the options
7410 enabled by each -O flag.
7411
7412 2002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7413
7414 * doc/install.texi (Configuration): Explicitly refer
7415 gcc/config.gcc for a list of cpu models.
7416
7417 2002-12-31 Kazu Hirata <kazu@cs.umass.edu>
7418
7419 * config/h8300/h8300.h: Fix comment typos.
7420
7421 2002-12-30 David Edelsohn <edelsohn@gnu.org>
7422
7423 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
7424
7425 2002-12-30 Tom Tromey <tromey@redhat.com>
7426
7427 * doc/install.texi (Testing): Mention Jacks.
7428
7429 2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
7430
7431 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
7432
7433 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
7434
7435 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
7436 cases.
7437 (compute_logical_op_length): Update to reflect the change in
7438 output_logical_op.
7439 (compute_logical_op_cc): Likewise.
7440
7441 2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
7442
7443 * doc/service.texi: Uncomment and update FAQ link.
7444
7445 2002-12-30 Andreas Jaeger <aj@suse.de>
7446
7447 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
7448
7449 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
7450
7451 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
7452
7453 2002-12-30 Kazu Hirata <kazu@cs.umass.edu>
7454
7455 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
7456 are clearing the most significant byte.
7457 (compute_logical_op_length): Update to reflect the change in
7458 output_logical_op.
7459 (compute_logical_op_cc): Likewise.
7460
7461 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
7462
7463 * config/h8300/h8300.md: Give internal names to anonymous
7464 insns.
7465
7466 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
7467
7468 * config/h8300/h8300.md: Reorder some insns.
7469
7470 2002-12-29 Kazu Hirata <kazu@cs.umass.edu>
7471
7472 * config/h8300/h8300-protos.h: Add prototypes for
7473 const_int_qi_operand and const_int_hi_operand.
7474 * config/h8300/h8300.c (const_int_qi_operand): New.
7475 (const_int_hi_operand): Likewise.
7476 * config/h8300/h8300.md (three peepholes): New.
7477
7478 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
7479
7480 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
7481 Use @copying.
7482
7483 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
7484
7485 * configure.in: Increase makeinfo version requirement to 4.[2-9].
7486 * configure: Regenerate.
7487 * doc/install.texi: Update Texinfo version requirement.
7488
7489 2002-12-28 Andreas Jaeger <aj@suse.de>
7490
7491 * config/i386/i386.c (x86_function_profiler): Mark labelno as
7492 possibly unused.
7493
7494 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
7495 correct format.
7496
7497 2002-12-27 Kazu Hirata <kazu@cs.umass.edu>
7498
7499 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
7500 *iorhi_ashift_8.
7501 (*iorhi_lshiftrt_8): New.
7502
7503 2002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
7504
7505 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
7506
7507 2002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7508
7509 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
7510
7511 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
7512
7513 * config/h8300/h8300-protos.h: Fix comment typos.
7514 Update copyright.
7515 * config/h8300/h8300.c: Fix comment typos.
7516
7517 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
7518
7519 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
7520
7521 2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
7522
7523 * config/i386/athlon.md: Fix comment typos.
7524 * config/i386/crtdll.h: Likewise.
7525 * config/i386/djgpp.h: Likewise.
7526 * config/i386/i386-interix.h: Likewise.
7527 * config/i386/i386.c: Likewise.
7528 * config/i386/i386.h: Likewise.
7529 * config/i386/i386.md: Likewise.
7530 * config/i386/k6.md: Likewise.
7531 * config/i386/mingw32.h: Likewise.
7532 * config/i386/pentium.md: Likewise.
7533 * config/i386/sco5.h: Likewise.
7534 * config/i386/winnt.c: Likewise.
7535 * config/i386/xmmintrin.h: Likewise.
7536
7537 2002-12-26 Jose Renau <renau@cs.uiuc.edu>
7538
7539 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
7540 INSN_P before checking to see if it is dead.
7541 (mark_all_insn_unnecessary): Similarly.
7542 (ssa_eliminate_dead_code): Similarly.
7543 * rtl.h (struct rtx_def): Update comments for in_struct usage
7544 in dead code elimination pass.
7545 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
7546
7547 2002-12-26 Andreas Schwab <schwab@suse.de>
7548
7549 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
7550
7551 2002-12-25 David Edelsohn <edelsohn@gnu.org>
7552
7553 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
7554 tartet_flags_explicit.
7555 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
7556 Compact target_flags bits.
7557 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
7558 (TARGET_SWITCHES): Delete references to *_SET flags.
7559
7560 Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
7561
7562 * i386.md (memory attribute): Fix setcc attribute.
7563
7564 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
7565
7566 * output.h: Fix comment typos.
7567 * predict.c: Likewise.
7568 * print-tree.c: Likewise.
7569 * profile.c: Likewise.
7570 * ra-build.c: Likewise.
7571 * ra-colorize.c: Likewise.
7572 * ra-debug.c: Likewise.
7573 * ra-rewrite.c: Likewise.
7574 * ra.c: Likewise.
7575 * ra.h: Likewise.
7576 * real.c: Likewise.
7577 * recog.c: Likewise.
7578 * reg-stack.c: Likewise.
7579 * regclass.c: Likewise.
7580
7581 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
7582
7583 * config/h8300/h8300.c (print_operand_address): Do not negate
7584 a negative number when printing one.
7585
7586 2002-12-25 Kazu Hirata <kazu@cs.umass.edu>
7587
7588 * config/h8300/h8300-protos.h: Add prototypes for
7589 output_plussi, compute_plussi_length, and compute_plussi_cc.
7590 * config/h8300/h8300.c (output_plussi): New.
7591 (compute_plussi_length): Likewise.
7592 (compute_plussi_cc): Likewise.
7593 * config/h8300/h8300.md (addsi_h8300h): Call
7594 output_plussi, compute_plussi_length, and compute_plussi_cc.
7595
7596 2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
7597
7598 * config/h8300/h8300.md (two peepholes): Use match_dup instead
7599 of match_operand in the new patterns.
7600
7601 2002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
7602
7603 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
7604
7605 2002-12-24 Nathan Sidwell <nathan@codesourcery.com>
7606
7607 * configure.in (enable-coverage): Add SELF_COVERAGE.
7608 * profile.c (end_branch_prob): Use SELF_COVERAGE.
7609
7610 2002-12-24 Jim Wilson <wilson@redhat.com>
7611
7612 * alias.c (record_set): Handle multi-reg hard registers.
7613
7614 2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
7615
7616 * regmove.c: Fix comment typos.
7617 * reload.c: Likewise.
7618 * reload1.c: Likewise.
7619 * resource.c: Likewise.
7620 * rtl.def: Likewise.
7621 * rtl.h: Likewise.
7622 * rtlanal.c: Likewise.
7623 * sched-deps.c: Likewise.
7624 * sched-rgn.c: Likewise.
7625 * sibcall.c: Likewise.
7626 * simplify-rtx.c: Likewise.
7627 * ssa-ccp.c: Likewise.
7628 * ssa.c: Likewise.
7629 * stmt.c: Likewise.
7630 * stor-layout.c: Likewise.
7631 * system.h: Likewise.
7632 * tlink.c: Likewise.
7633 * toplev.c: Likewise.
7634 * tracer.c: Likewise.
7635 * tree-inline.c: Likewise.
7636 * tree.c: Likewise.
7637 * tree.h: Likewise.
7638 * unroll.c: Likewise.
7639 * varasm.c: Likewise.
7640
7641 2002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
7642
7643 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
7644 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
7645 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
7646 DG/UX entries.
7647 * doc/md.texi: Remove AMD 29K entries.
7648 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
7649 1.38.1, NewsOS, RT PC, WE32K entries.
7650
7651 2002-12-23 Aldy Hernandez <aldyh@redhat.com>
7652
7653 PR/8763
7654 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
7655 (altivec_vspltisw_v4sf): Name pattern.
7656 (altivec_vslw_v4sf): New pattern.
7657
7658 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
7659
7660 * doc/include/gcc-common.texi: Define DEVELOPMENT.
7661
7662 2002-12-23 Mark Mitchell <mark@codesourcery.com>
7663
7664 * stor-layout.c (update_alignment_for_field): Correct handling of
7665 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
7666 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
7667 bitfield does not affect alignment.
7668
7669 2002-12-23 David Edelsohn <edelsohn@gnu.org>
7670
7671 * expr.c (expand_assignment): Apply special treatment to
7672 ARRAY_TYPE.
7673
7674 2002-12-23 Kazu Hirata <kazu@cs.umass.edu>
7675
7676 * config/h8300/h8300-protos.h: Update the prototype of
7677 expand_a_shift.
7678 * config/h8300/h8300.c (expand_a_shift): Change the return
7679 type to void.
7680 * config/h8300/h8300.md: Update all the uses of
7681 expand_a_shift.
7682
7683 2002-12-22 Nathan Sidwell <nathan@codesourcery.com>
7684
7685 * tree.c (save_expr): Allow either side of a dyadic operand to be
7686 constant.
7687
7688 * doc/portability.texi (portability): Update portability goals.
7689
7690 2002-12-23 Kazu Hirata <kazu@cs.umass.edu>
7691
7692 * config/h8300/h8300.c (output_a_shift): Remove unused code.
7693
7694 2002-12-22 Mark Mitchell <mark@codesourcery.com>
7695
7696 * stor-layout.c (update_alignment_for_field): Guard use of
7697 ADJUST_FIELD_ALIGN with #ifdef.
7698
7699 * stor-layout.c (update_alignment_for_field): Use
7700 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
7701 bitfield when PCC_BITFIELD_TYPE_MATTERS.
7702
7703 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
7704
7705 * genautomata.c: Fix comment typos.
7706
7707 Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
7708
7709 * params.def (tracer-min-branch-probability-feedback): Fix default.
7710 * final.c (compute_alignments): Use profile to avoid code bloat.
7711
7712 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
7713
7714 * config/h8300/h8300.c (get_shift_alg): Make shift insn
7715 sequences end with a valid cc0 whenever possible.
7716
7717 2002-12-22 Kazu Hirata <kazu@cs.umass.edu>
7718
7719 * config/h8300/h8300.md (negsf2): New.
7720 (*negsf2_h8300): Likewise.
7721 (*negsf2_h8300hs): Likewise.
7722
7723 2002-12-21 Geoffrey Keating <geoffk@apple.com>
7724
7725 * integrate.c (output_inline_function): Don't hold private
7726 pointers to 'struct function' over GC calls.
7727
7728 2002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
7729
7730 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
7731 NO_FPSCR_VALUES.
7732 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
7733
7734 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
7735
7736 * config/h8300/h8300.md (zero_extendqisi2): Correct the
7737 length.
7738
7739 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
7740
7741 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
7742 second alternative "#".
7743 (*zero_extendqihi2_h8300hs): Likewise.
7744 (a define_split): New.
7745
7746 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
7747
7748 * config/h8300/h8300-protos.h: Update the prototype for
7749 split_adds_subs.
7750 Add prototypes for const_le_2_operand and const_le_6_operand.
7751 * config/h8300/h8300.c (split_adds_subs): Add an argument to
7752 specify whether inc/dec should be used when possible.
7753 (const_le_2_operand): New.
7754 (const_le_6_operand): Likewise.
7755 * config/h8300/h8300.md (two peepholes): New.
7756
7757 2002-12-21 Kazu Hirata <kazu@cs.umass.edu>
7758
7759 * config/fr30/fr30.md: Fix a comment typo.
7760 * config/i386/i386.c: Likewise.
7761 * config/ip2k/ip2k.h: Likewise.
7762
7763 2002-12-20 Jim Wilson <wilson@redhat.com>
7764
7765 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
7766 (__ev_subw, __ev_subiw): New.
7767 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
7768 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
7769
7770 2002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
7771
7772 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
7773 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
7774 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
7775 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
7776
7777 2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
7778
7779 * config/h8300/h8300-protos.h: Add prototypes for
7780 incdec_operand and eqne_operator.
7781 * config/h8300/h8300.c (incdec_operand): New.
7782 (eqne_operator): Likewise.
7783 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
7784 (CONST_OK_FOR_O): Likewise.
7785 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
7786 CONST_OK_FOR_O.
7787 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
7788 (addhi3_incdec): New.
7789 (addsi3_incdec): Likewise.
7790 (two peepholes): Likewise.
7791
7792 2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
7793
7794 * config/h8300/h8300.c (dosize): Remove warnings.
7795 (print_operand): Likewise.
7796
7797 2002-12-20 Richard Henderson <rth@redhat.com>
7798
7799 * config/alpha/alpha.c (decl_has_samegp): New.
7800 (samegp_function_operand): Use it. Rename from
7801 current_file_function_operand.
7802 (direct_call_operand): Handle -msmall-text via symbol->jump.
7803 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
7804 (tls_symbolic_operand_type): Likewise.
7805 (alpha_encode_section_info): Likewise. Handle -msmall-text.
7806 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
7807 (alpha_end_function): Set symbol->jump for functions defined in
7808 the text section.
7809 * config/alpha/alpha-protos.h: Update.
7810 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
7811 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
7812 (PREDICATE_CODES): Update.
7813 * config/alpha/alpha.md (call patterns): Update for
7814 samegp_function_operand rename; use !samegp reloc if
7815 TARGET_EXPLICIT_RELOCS.
7816 * doc/invoke.text: Document -msmall-text and -mlarge-text.
7817
7818 2002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
7819
7820 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
7821 all registers capable of holding a double float.
7822 (*rcond): change name of "reverse branch" insns to
7823 something more meaningful.
7824 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
7825 comparisons properly.
7826 (*ffs): Change operand 0 from write to read-modify-write.
7827 (*ffsssi2): Drop constraints from define_expand.
7828
7829 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
7830 MOVE_RATIO as default for store operations.
7831
7832 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
7833 LONG_REGS class.
7834 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
7835 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
7836 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
7837
7838 * config/ns32k/STATUS: New File
7839 * config/ns32k/NOTES: New file.
7840
7841 2002-12-20 Hartmut Penner <hpenner@de.ibm.com>
7842
7843 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
7844 option for S/390 and zSeries.
7845 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
7846 s390_arch_string): New variables.
7847 (override_options): Checking for options and setting of
7848 appropriate target_flags, cpu and arch flags.
7849 * config/s390/s390.h: (processor_type): New enum.
7850 (TARGET_SWITCHES): New switches -mesa/zarch.
7851 * config/s390/s390.md: New attribute 'cpu'.
7852
7853 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
7854
7855 * c-pretty-print.h: Fix comment typos.
7856 * integrate.c: Likewise.
7857 * varasm.c: Likewise.
7858 * config/c4x/c4x.h: Likewise.
7859 * config/c4x/c4x.md: Likewise.
7860 * config/fr30/fr30.md: Likewise.
7861 * config/frv/frv.c: Likewise.
7862 * config/h8300/h8300.c: Likewise.
7863 * config/i386/i386.c: Likewise.
7864 * config/i386/i386.h: Likewise.
7865 * config/ia64/ia64.c: Likewise.
7866 * config/ia64/ia64.h: Likewise.
7867 * config/ip2k/ip2k.md: Likewise.
7868 * config/m68hc11/m68hc11-crt0.S: Likewise.
7869 * config/m68hc11/m68hc11.h: Likewise.
7870 * config/m68hc11/m68hc11.md: Likewise.
7871 * config/m68hc11/m68hc12.h: Likewise.
7872 * config/mcore/mcore.md: Likewise.
7873 * config/mips/mips.c: Likewise.
7874 * config/mips/mips.md: Likewise.
7875 * config/mmix/mmix-modes.def: Likewise.
7876 * config/pa/pa.c: Likewise.
7877 * config/rs6000/rs6000.c: Likewise.
7878 * config/rs6000/rs6000.h: Likewise.
7879 * config/rs6000/rs6000.md: Likewise.
7880
7881 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
7882
7883 * config/h8300/h8300.md (output_a_shift): Clean up the code to
7884 output shifts using rotation.
7885
7886 2002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7887
7888 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
7889
7890 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
7891
7892 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
7893 pointer.
7894 (pushqi_h8300hs): Likewise.
7895 (pushhi_h8300): Likewise.
7896 (pushhi_h8300hs): Likewise.
7897
7898 Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
7899
7900 * sched-rgn.c (init_regions): Update comment.
7901
7902 2002-12-19 David Edelsohn <edelsohn@gnu.org>
7903
7904 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
7905 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
7906 attributes.
7907 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
7908 (get_vrsave_internal,set_vrsave_internal): Same.
7909 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
7910 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
7911 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
7912
7913 2002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
7914 Danny Smith <dannysmith@users.sourceforge.net>
7915 Eric Kohl <ekohl@rz-online.de>
7916
7917 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
7918 attributes incompatible with fastcall attribute.
7919 (ix86_handle_regparm_attribute): Likewise.
7920
7921 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
7922 fastcall types.
7923
7924 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
7925 attributes.
7926 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
7927 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
7928 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
7929 i386_pe_output_labelref rather than here.
7930 (gen_fastcall_suffix): New function. Decorates a label name with the
7931 fastcall prefix (@) and the stdcall suffix.
7932 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
7933 has a fastcall attribute.
7934 (i386_pe_output_labelref): New function. Outputs a label reference.
7935 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
7936 valid attribute.
7937 (ix86_return_pops_args): Fastcall functions pop the stack.
7938 (init_cumulative_args): Reserve registers ECX and EDX if function has
7939 fastcall attribute.
7940 (function_arg): Use registers ECX and EDX if function has fastcall
7941 attribute.
7942 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
7943 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
7944 (FASTCALL_PREFIX): Define as '@'.
7945 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
7946 attributes.
7947 * doc/extend.texi: Add documentation of fastcall attribute.
7948
7949 2002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
7950
7951 * configure.in: FORBUILD when build!=host changed from
7952 ../$build-alias to ../build-$build_alias to match change made
7953 in top directory.
7954 * configure: Regenerated.
7955
7956 2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
7957
7958 PR optimization/8988
7959 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
7960 the biv when eliminating.
7961
7962 2002-12-19 Devang Patel <dpatel@apple.com>
7963 * gcc.c (struct default_compiler): Recognizes input file name with
7964 .CPP extension as C++ source files
7965 * cp/lang-spec.h: Same
7966 * doc/invoke.texi: Add documentation for .CPP support.
7967
7968 2002-12-19 Aldy Hernandez <aldyh@redhat.com>
7969
7970 PR 8553
7971 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
7972 registers.
7973 ("absv16qi2"): Same.
7974 ("absv4si2"): Same.
7975 ("absv4sf2"): Same.
7976 ("altivec_abss_v16qi"): Same.
7977 ("altivec_abss_v8hi"): Same.
7978 ("altivec_abss_v4si"): Same.
7979
7980 2002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
7981
7982 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
7983 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
7984
7985 2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
7986
7987 PR target/8340
7988 * stmt.c (expand_asm_operands): Produce an error when
7989 the PIC register is clobbered.
7990
7991 2002-12-18 Daniel Berlin <dberlin@dberlin.org>
7992
7993 * Makefile.in (OBJS): Add alloc-pool.o
7994 (alloc-pool.o): New object.
7995
7996 * alloc-pool.c: New file.
7997 * alloc-pool.h: New file.
7998
7999 2002-12-18 Loren James Rittle <ljrittle@acm.org>
8000
8001 * gcc.c (validate_switches): Robustify against skipping past '\0'.
8002
8003 2002-12-18 Geoffrey Keating <geoffk@apple.com>
8004
8005 * config.gcc: Set extra_objs in the generic Darwin rule,
8006 not in the machine-specific rules.
8007
8008 2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
8009
8010 * ChangeLog: Follow spelling conventions.
8011 * ChangeLog.2: Likewise.
8012 * ChangeLog.4: Likewise.
8013 * ChangeLog.5: Likewise.
8014 * cppexp.c: Likewise.
8015 * df.c: Likewise.
8016 * gcov.c: Likewise.
8017 * gengtype.c: Likewise.
8018 * reload1.c: Likewise.
8019 * sched-rgn.c: Likewise.
8020 * stmt.c: Likewise.
8021 * stor-layout.c: Likewise.
8022 * timevar.c: Likewise.
8023 * toplev.c: Likewise.
8024 * tree.h: Likewise.
8025 * varasm.c: Likewise.
8026 * config/fr30/fr30.md: Likewise.
8027 * config/i386/i386.c: Likewise.
8028 * config/ia64/ia64.c: Likewise.
8029 * config/pa/pa.c: Likewise.
8030
8031 2002-12-18 Roger Sayle <roger@eyesopen.com>
8032
8033 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
8034
8035 2002-12-18 Aldy Hernandez <aldyh@redhat.com>
8036
8037 PR 8551
8038 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
8039 macro.
8040 (vec_cmplt C++ functions): Reverse arguments.
8041
8042 2002-12-18 Geoffrey Keating <geoffk@apple.com>
8043
8044 * config/rs6000/t-rs6000: Move contents to t-fprules,
8045 add rules for dependencies of rs6000.o and to build rs6000-c.o
8046 * config/rs6000/t-fprules: New file from t-rs6000.
8047 * config/rs6000/t-beos: Remove soft-fp rules.
8048 * config/rs6000/t-ppccomm: Likewise.
8049 * config/rs6000/t-newas: Likewise.
8050 * config/rs6000/t-rs6000-c-rule: Delete.
8051 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
8052 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
8053 Create generic Darwin rules.
8054
8055 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
8056
8057 2002-12-18 Doug Evans <dje@sebabeach.org>
8058
8059 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
8060 and LIT_NAME_P.
8061 (move_src_operand): Remove compile-time warning.
8062 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
8063
8064 2002-12-18 Jason Merrill <jason@redhat.com>
8065
8066 * unwind-dw2-fde.c (frame_downheap): Split out from...
8067 (frame_heapsort): Here.
8068
8069 2002-12-17 Jason Merrill <jason@redhat.com>
8070
8071 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
8072 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
8073
8074 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
8075
8076 * calls.c (expand_call): Don't try to be clever about expanding
8077 the return slot address.
8078
8079 2002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
8080
8081 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
8082 Define.
8083
8084 2002-12-17 Jason Merrill <jason@redhat.com>
8085
8086 * genmultilib: Use 'cd ./foo'.
8087
8088 2002-12-17 Kazu Hirata <kazu@cs.umass.edu>
8089
8090 * doc/c-tree.texi: Restore deliberate spelling mistakes.
8091
8092 2002-12-17 Kazu Hirata <kazu@cs.umass.edu>
8093
8094 * doc/c-tree.texi: Fix typos and follow spelling conventions.
8095 * doc/cpp.texi: Likewise.
8096 * doc/extend.texi: Likewise.
8097 * doc/gty.texi: Likewise.
8098 * doc/install.texi: Likewise.
8099 * doc/invoke.texi: Likewise.
8100 * doc/md.texi: Likewise.
8101 * doc/passes.texi: Likewise.
8102 * doc/rtl.texi: Likewise.
8103 * doc/sourcebuild.texi: Likewise.
8104 * doc/tm.texi: Likewise.
8105
8106 2002-12-17 Jerry Quinn <jlquinn@optonline.net>
8107
8108 * doc/invoke.texi: Minor spelling and grammar fixes.
8109
8110 2002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
8111
8112 * config/s390/s390.c (s390_output_constant_pool): Replace
8113 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
8114
8115 Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
8116
8117 * convert.c (convert_to_real): Disable function transformation for
8118 now.
8119
8120 2002-12-16 Geoffrey Keating <geoffk@apple.com>
8121
8122 * gcc.c (handle_braces): Allow '@' as a switch name.
8123
8124 2002-12-16 Jason Merrill <jason@redhat.com>
8125
8126 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
8127 with special struct-return ABIs.
8128
8129 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
8130 doesn't match the begin SCOPE_STMT in partialness.
8131
8132 2002-12-16 Geoffrey Keating <geoffk@apple.com>
8133
8134 * genmultilib: Create temporary files in unique subdirectory.
8135
8136 * gcc.c (validate_switches): Allow '@' as a switch name.
8137
8138 2002-12-16 Loren J. Rittle <ljrittle@acm.org>
8139
8140 * Makefile.in (gcov-iov.h): Improve portability.
8141
8142 Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
8143
8144 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
8145 gas
8146 * mips.md (tablejump insn): Likewise.
8147
8148 2002-12-16 Mark Mitchell <mark@codesourcery.com>
8149
8150 * doc/include/gcc-common.texi: Change version number to 3.4.
8151
8152 2002-12-16 Bruce Korb <bkorb@gnu.org>
8153
8154 * fixinc/fixlib.h: add: #include <signal.h>
8155 * fixinc/fixincl.c: remove: #include <signal.h>
8156
8157 Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
8158
8159 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
8160 (EXTRA_CONSTRAINT): Use it.
8161 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
8162
8163 2002-12-15 Zack Weinberg <zack@codesourcery.com>
8164
8165 * config.gcc (need_64bit_hwint): New variable.
8166 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
8167 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
8168 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
8169 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
8170 Set it.
8171 (powerpc*-*-darwin*): Unset it.
8172 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
8173 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
8174 deleted/nonexistent xm-*.h headers.
8175 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
8176 target set need_64bit_hwint in config.gcc.
8177 * configure, config.in: Regenerate.
8178
8179 * hwint.h: Overhaul. Don't bother trying int for
8180 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
8181 decision to force 64-bit HOST_WIDE_INT on
8182 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
8183 not visible at this point. Don't allow prior definition of
8184 any macro defined by this file.
8185
8186 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
8187 HOST_BITS_PER_WIDE_INT.
8188 * config/c4x/c4x.h: Adjust redefinition of
8189 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
8190 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
8191 config/i386/xm-i386-interix.h: Delete file.
8192
8193 2002-12-14 Rodney Brown <rbrown64@csc.com.au>
8194 John David Anglin <dave@hiauly1.hia.nrc.ca>
8195
8196 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
8197 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
8198
8199 2002-12-14 Zack Weinberg <zack@codesourcery.com>
8200
8201 * mkconfig.sh: Correct comment. Add copyright boilerplate.
8202
8203 2002-12-14 Zack Weinberg <zack@codesourcery.com>
8204
8205 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
8206 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
8207 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
8208 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
8209 config/v850/t-v850: Correct dependencies and normalize
8210 compilation commands for files that include coretypes.h and tm.h.
8211
8212 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
8213 not config.h and system.h.
8214
8215 Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
8216
8217 * i386.c (flags_reg_operand): New function.
8218 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
8219 * i386.md (cmov splitter, movqicc): Use new predicate.
8220
8221 Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
8222
8223 * i386.md (movqicc splitter): Fix template.
8224
8225 2002-12-13 Jason Merrill <jason@redhat.com>
8226
8227 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
8228 * calls.c (expand_call): Handle it.
8229 * tree-inline.c (struct inline_data): Remove target_exprs field.
8230 (optimize_inline_calls): Don't initialize it.
8231 (expand_call_inline): Don't modify it. Handle
8232 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
8233 (declare_return_variable): Take return slot addr.
8234 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
8235 to return_slot_addr.
8236 * langhooks-def.h, langhooks.c: Adjust.
8237 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
8238 a decl with no DECL_INITIAL.
8239
8240 * expr.c (expand_expr): Don't discard the target of a call which
8241 returns in memory.
8242
8243 2002-12-13 Neil Booth <neil@daikokuya.co.uk>
8244
8245 * cppinit.c (path_include): Take an environment variable name.
8246 Tidy up.
8247 (init_standard_includes): Simplify environment handling, and
8248 move to ...
8249 (cpp_read_main_file): ...here as -nostdinc should not affect
8250 environment variable paths.
8251
8252 2002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
8253
8254 * pa.c (output_millicode_call): Correct typo.
8255 (output_call): Likewise.
8256
8257 Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
8258
8259 * config/mn10300/mn10300.c (print_operand) <case N>: Check
8260 operand's range. Print value directly, without aid from
8261 output_address.
8262 <case U>: New.
8263 <case S>: Make sure argument to fprintf has the right type.
8264 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
8265 (EXTRA_CONSTRAINT): Adjust.
8266 * config/mn10300/mn10300.md: Add new all-QImode pattern for
8267 bclr. Use %U for immediate operands of bset and bclr.
8268 (iorqi3): New expand, with insns for AM33 and mn10300.
8269
8270 Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
8271
8272 * sh.c (sh_register_operand): New function.
8273 (prepare_move_operands): Use it.
8274 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
8275 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
8276 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
8277 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
8278 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
8279 (movv2si_i): Likewise.
8280
8281 2002-12-13 Jim Wilson <wilson@redhat.com>
8282
8283 * doc/extend.texi (Complex Numbers): Update info on debug info.
8284
8285 2002-12-13 Kazu Hirata <kazu@cs.umass.edu>
8286
8287 * config/h8300/h8300.md (addhi3_h8300): Remove the last
8288 alternative.
8289
8290 2002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8291
8292 * hooks.h (hook_tree_tree_bool_false): Declare
8293 hook_bool_tree_tree_false instead.
8294
8295 2002-12-12 Devang Patel <dpatel@apple.com>
8296
8297 * doc/invoke.texi: Document Darwin linker options, -bundle
8298 -bind_at_load, -all_load and -arch_errors_fatal
8299
8300 2002-12-12 Jim Wilson <wilson@redhat.com>
8301
8302 * dbxout.c (dbxout_fptype_value): New.
8303 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
8304
8305 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
8306
8307 * c-decl.c: Fix a comment typo.
8308 * cfg.c: Likewise.
8309 * cfgcleanup.c: Likewise.
8310 * cfglayout.c: Likewise.
8311 * cfgrtl.c: Likewise.
8312 * c-typeck.c: Likewise.
8313 * dominance.c: Likewise.
8314 * dwarf2asm.c: Likewise.
8315 * dwarfout.c: Likewise.
8316 * expmed.c: Likewise.
8317 * expr.c: Likewise.
8318 * final.c: Likewise.
8319 * flow.c: Likewise.
8320 * function.c: Likewise.
8321 * gcc.c: Likewise.
8322 * genautomata.c: Likewise.
8323 * integrate.c: Likewise.
8324 * loop.c: Likewise.
8325 * loop.h: Likewise.
8326 * output.h: Likewise.
8327 * profile.c: Likewise.
8328 * ra.h: Likewise.
8329 * reload1.c: Likewise.
8330 * reload.c: Likewise.
8331 * sched-rgn.c: Likewise.
8332 * stmt.c: Likewise.
8333 * tree.h: Likewise.
8334 * vmsdbgout.c: Likewise.
8335
8336 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
8337
8338 * config/h8300/h8300.md: Add a new peephole2.
8339
8340 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
8341
8342 * config/h8300/h8300.md (a peephole2): Accept a constant
8343 that's accepted by CONST_OK_FOR_J.
8344
8345 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
8346
8347 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
8348 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
8349 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
8350 (*addhi_h8300hs): Likewise.
8351
8352 Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
8353
8354 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
8355 (sh_register_move_cost): Add clause for SImode fp-fp moves.
8356 Increase cost for moves involving multiple general purpose registers.
8357 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
8358 TARGET_FMOVD.
8359 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
8360 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
8361 (enum reg_class reg_class_from_letter): No longer const.
8362 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
8363 REGCLASS_HAS_GENERAL_REG.
8364 Handle SImode moves from/to fp registers.
8365 ! TARGET_SHMEDIA && TARGET_FMOVD.
8366 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
8367 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
8368
8369 2002-12-12 Andreas Schwab <schwab@suse.de>
8370
8371 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
8372 change and some warnings.
8373
8374 2002-12-12 Kazu Hirata <kazu@cs.umass.edu>
8375
8376 * doc/md.texi (pushm): Fix a typo.
8377
8378 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
8379
8380 * config/mips/mips.c (mips_output_conditional_branch): Support
8381 PIC-safe out-of-range branch and branch-likely.
8382 * config/mips/mips.md (attr length): PIC-safe out-of-range
8383 branches are longer.
8384 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
8385 unused code to support indirect jumps.
8386
8387 2002-12-11 Zack Weinberg <zack@codesourcery.com>
8388
8389 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
8390 $(tm_file_list).
8391
8392 2002-12-11 David Edelsohn <edelsohn@gnu.org>
8393
8394 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
8395
8396 Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
8397
8398 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
8399
8400 2002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8401
8402 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
8403 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
8404 BIGGEST_ALIGNMENT.
8405 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
8406 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
8407
8408 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
8409
8410 * doc/invoke.texi: Correct dump file names.
8411
8412 2002-12-09 Steve Ellcey <sje@cup.hp.com>
8413
8414 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
8415 name to globalize_label or assemble_name.
8416
8417 Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
8418
8419 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
8420 if not TARGET_SHMEDIA.
8421
8422 Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
8423
8424 * sh.h (REG_CLASS_HAS_FP_REG): New.
8425 (REGISTER_MOVE_COST) Use it. Put body into a function and
8426 move it into:
8427 * sh.c (sh_register_move_cost).
8428 * sh-protos.h (sh_register_move_cost): Declare.
8429
8430 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
8431 (sh_adjust_cost): Always return a value.
8432
8433 Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
8434
8435 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
8436 (REGISTER_MOVE_COST): Use it.
8437
8438 2002-12-11 Richard Henderson <rth@redhat.com>
8439
8440 * tree.h (MODULE_LOCAL_P): Kill.
8441 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
8442
8443 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
8444
8445 * config/h8300/h8300.md (two define_peephole2): New.
8446
8447 2002-12-11 Kazu Hirata <kazu@cs.umass.edu>
8448
8449 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
8450 (CONST_OK_FOR_K): Likewise.
8451 (CONST_OK_FOR_M): Likewise.
8452 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
8453
8454 2002-12-11 Neil Booth <neil@daikokuya.co.uk>
8455
8456 * c-common.c (builtin_define_type_max): Handle unsigned
8457 types too.
8458
8459 2002-12-10 David Edelsohn <edelsohn@gnu.org>
8460
8461 * haifa-sched.c (rank_for_schedule): Correct style.
8462
8463 2002-12-10 Per Bothner <pbothner@apple.com>
8464
8465 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
8466 directive_index into an unsigned field and a new is_directive field.
8467 * cppinit.c (mark_named_operators): Update to set new fields.
8468 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
8469 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
8470 No longer need to subtract 1 from directive_index.
8471 (_cpp_init_directives): No longer need to add 1 to directive_index.
8472 * cpptrad.c (scan_out_logical_line): Use is_directive field.
8473
8474 2002-12-10 Roger Sayle <roger@eyesopen.com>
8475
8476 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
8477 check for evaluating sqrt of a constant at compile time.
8478 * simplify-rtx.c (simplify_unary_operation): Likewise.
8479
8480 2002-12-10 Janis Johnson <janis187@us.ibm.com>
8481
8482 PR other/8882
8483 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
8484
8485 2002-12-10 Devang Patel <dpatel@appple.com>
8486
8487 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
8488 * doc/invoke.texi: Add new "Darwin Options" section.
8489
8490 2002-12-10 Jim Wilson <wilson@redhat.com>
8491
8492 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
8493 memory.
8494
8495 2002-12-10 Andrew Haley <aph@redhat.com>
8496
8497 * cse.c (cse_insn): Don't cse past a basic block boundary.
8498
8499 2002-12-10 Jakub Jelinek <jakub@redhat.com>
8500
8501 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
8502 -shared.
8503 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
8504 * config/alpha/linux.h (LIB_SPEC): Likewise.
8505 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
8506 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
8507 * config/sparc/linux.h (LIB_SPEC): Likewise.
8508 * config/sparc/linux64.h (LIB_SPEC): Likewise.
8509
8510 2002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
8511
8512 * doc/invoke.texi: Document UltraSparc III option.
8513
8514 2002-12-09 Richard Henderson <rth@redhat.com>
8515
8516 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
8517 __tune_pentium2__ and __tune_pentium3__ as necessary.
8518
8519 2002-12-09 Richard Henderson <rth@redhat.com>
8520
8521 * target.h (gcc_target): Add cannot_force_const_mem.
8522 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
8523 (TARGET_INITIALIZER): Add it.
8524 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
8525 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
8526 * reload1.c (reload): Likewise.
8527 * hooks.c (hook_bool_rtx_false): New.
8528 * hooks.h: Declare it.
8529
8530 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
8531 (TARGET_CANNOT_FORCE_CONST_MEM): New.
8532 (ix86_expand_move): Remove de-const-pooling hack.
8533
8534 Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
8535
8536 * toplev.c (dump_file): Fix order to match reality.
8537
8538 2002-12-08 Geoffrey Keating <geoffk@apple.com>
8539
8540 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
8541 (store_multiple): Likewise.
8542
8543 2002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8544
8545 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
8546 function pointers in page 0.
8547
8548 2002-12-09 Steve Ellcey <sje@cup.hp.com>
8549
8550 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
8551 definition
8552 (MEMBER_TYPE_FORCES_BLK): Move.
8553 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
8554 aggregate arguments.
8555 (ia64_function_value): Use PARALLEL to return aggregate values.
8556
8557 2002-12-09 Steve Ellcey <sje@cup.hp.com>
8558
8559 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
8560 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
8561 * calls.c (store_unaligned_arguments_into_pseudos) Remove
8562 FUNCTION_ARG_REG_LITTLE_ENDIAN.
8563 * stmt.c (expand_return): Ditto.
8564 * expr.c (move_block_from_reg): Ditto.
8565 (copy_blkmode_from_reg): Ditto.
8566 * expmed.c (store_bit_field): Ditto.
8567
8568 2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
8569
8570 * config.gcc: Added tic4x-* target as an alias to c4x-*
8571
8572 Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
8573
8574 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
8575 constructing insn directly.
8576
8577 2002-12-06 Per Bothner <pbothner@apple.com>
8578
8579 * cpplib.h (struct cpp_hashnode): Change field directive_index from
8580 char to an int bit-field, for hosts where char is unsigned.
8581
8582 2002-12-07 Roger Sayle <roger@eyesopen.com>
8583 Richard Henderson <rth@redhat.com>
8584
8585 * real.c (ieee_extended_motorola_format,
8586 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8587 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
8588 Provide appropriate values for new signbit field.
8589
8590 2002-12-07 Roger Sayle <roger@eyesopen.com>
8591
8592 * real.h (real_format): Add signbit field.
8593 * real.c (ieee_single_format, ieee_double_format,
8594 ieee_extended_motorola_format, ieee_extended_intel_96_format,
8595 ieee_extended_intel_128_format, ibm_extended_format,
8596 ieee_quad_format, vax_f_format, vax_d_format,
8597 vax_g_format, i370_single_format, i370_double_format,
8598 c4x_single_format, c4x_extended_format, real_internal_format):
8599 Provide suitable signbit value, or -1 to avoid bit twiddling.
8600
8601 * optabs.c (expand_unop): Try implementing negation of
8602 floating point modes by flipping the sign bit.
8603 (expand_abs): Try implementing abs of floating point modes
8604 by clearing the sign bit.
8605
8606 Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
8607
8608 * i386.c (ix86_expand_int_movcc): Use force_operand instead
8609 of constructing insn directly.
8610
8611 2002-12-07 Kazu Hirata <kazu@cs.umass.edu>
8612
8613 * config/h8300/h8300.md (*iorhi_shift_8): New.
8614
8615 2002-12-06 Bernd Schmidt <bernds@redhat.com>
8616
8617 * doc/invoke.texi: Document FRV port options.
8618 * doc/md.texi: Document FRV register classes.
8619
8620 2002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8621
8622 * doc/install.texi (Configuration): Improve description of cases
8623 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
8624
8625 2002-12-06 Per Bothner <pbothner@apple.com>
8626
8627 * cpplib.h (NODE_MACRO_ARG): New flag.
8628 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
8629 Remove value.operator field. Move arg_index field to value union.
8630 (directive_index): Make signed, since also used for C++ operators.
8631 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
8632 check for duplicate parameter. Set NODE_MACRO_ARG flag.
8633 Save node->value, and set node->value.arg_index.
8634 (_cpp_create_definition): For each paramater, restore node->value.
8635 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
8636 * cpptrad.c (scan_out_logical_line): Likewise.
8637 (scan_out_logical_line): Check for directive > 0.
8638 * cpplib.c (cpp_handle_directive): Likewise.
8639 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
8640 by negative of directive_index.
8641 * cppinit.c (mark_named_operators): Likewise.
8642
8643 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
8644
8645 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
8646
8647 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
8648 FPU.
8649 (push): Generate push_fpscr.
8650 (pop): Generate pop_fpscr.
8651 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
8652 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
8653
8654 Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
8655
8656 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
8657 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
8658
8659 Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
8660
8661 * sh.md (movdi_i): Name. Remove inappropriate comment.
8662
8663 Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
8664 Merged from basic improvements branch (excerpt):
8665
8666 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
8667 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8668
8669 2002-12-06 Jakub Jelinek <jakub@redhat.com>
8670
8671 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
8672
8673 Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
8674
8675 * i386.md (dimode peep2s): Re-add "&& 1".
8676
8677 Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
8678
8679 * i386.c (ix86_expand_prologue): Add comment, do not use
8680 fast prologues for cold and normal functions.
8681
8682 Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
8683
8684 * i386.c (x86_rep_movl_optimal): New variable.
8685 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
8686 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
8687
8688 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8689 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8690 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8691 generate unnecesary subregs.
8692
8693 2002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
8694
8695 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
8696 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
8697
8698 2002-12-05 Dale Johannesen <dalej@apple.com>
8699
8700 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
8701
8702 2002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
8703
8704 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
8705 PROFILE_HOOK.
8706 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
8707
8708 2002-12-05 Aldy Hernandez <aldyh@redhat.com>
8709
8710 * config/rs6000/spe.h (__ev_mwlufi): Remove.
8711 (__ev_mwlufia): Remove.
8712 (__ev_mwlumfaaw): Remove.
8713 (__ev_mwlusfaaw): Remove.
8714 (__ev_mwlumfanw): Remove.
8715 (__ev_mwlusfanw): Remove.
8716
8717 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
8718
8719 * config/h8300/h8300.md (*andorsi3_shift_8): New.
8720
8721 2002-12-05 Kazu Hirata <kazu@cs.umass.edu>
8722
8723 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
8724 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
8725 (get_shift_alg): Return optimal assembly instructions for the
8726 shifts mentioned above.
8727
8728 Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
8729
8730 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
8731 condtiional moves.
8732
8733 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
8734
8735 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
8736 implement ashiftrt:HI by 13 bits on H8S.
8737
8738 2002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8739
8740 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
8741 * pa.md (canonicalize_funcptr_for_compare): Output library call to
8742 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
8743 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
8744 CTOR_LIST_BEGIN): New defines.
8745 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
8746 (fptr.c): Add make rules.
8747
8748 2002-12-04 Geoffrey Keating <geoffk@apple.com>
8749
8750 * combine.c (combine_simplify_rtx): Add new canonicalizations.
8751 * doc/md.texi (Insn Canonicalizations): Document new
8752 canonicalizations for multiply/add combinations.
8753 * config/rs6000/rs6000.md: Add and modify floating add/multiply
8754 patterns to ensure they're used whenever they can be.
8755
8756 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
8757
8758 * config/h8300/h8300.c: Update the comments related to shifts.
8759
8760 2002-12-04 Chris Demetriou <cgd@broadcom.com>
8761
8762 * config/mips/mips.md (get_fnaddr): Correct length attribute.
8763
8764 2002-12-04 Kazu Hirata <kazu@cs.umass.edu>
8765
8766 * config/h8300/h8300.md (*extzv_8_8): New.
8767 (*extzv_8_16): Likewise.
8768
8769 2002-12-04 Jason Merrill <jason@redhat.com>
8770
8771 PR c++/8461, c++/8625
8772 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
8773 references.
8774 * tree-inline.c (initialize_inlined_parameters): Likewise.
8775
8776 * tree.c (variably_modified_type_p): Just return an error_mark_node.
8777
8778 2002-12-04 Chris Demetriou <cgd@broadcom.com>
8779
8780 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
8781 macro instruction in a branch delay slot, to avoid assembler
8782 warnings.
8783
8784 2002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
8785
8786 PR c/7622
8787 * c-semantics (genrtl_scope_stmt): Do not output inlined
8788 nested functions that contain no code.
8789
8790 Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
8791
8792 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
8793 to be forced into nonfallthru.
8794
8795 2002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
8796
8797 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
8798
8799 2002-12-03 Aldy Hernandez <aldyh@redhat.com>
8800
8801 * config/rs6000/spe.md (*movv1di_const0): New pattern.
8802
8803 2002-12-03 Richard Henderson <rth@redhat.com>
8804
8805 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
8806
8807 2002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
8808
8809 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
8810 Initialize tmp.using_obstack to 0.
8811
8812 2002-12-03 Andreas Schwab <schwab@suse.de>
8813
8814 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
8815 (EH_RETURN_STACKADJ_RTX): Define.
8816 (EH_RETURN_HANDLER_RTX): Define.
8817 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8818 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
8819 registers and don't save fixed registers.
8820 (m68k_output_function_prologue): Use it.
8821 (use_return_insn): Likewise.
8822 (m68k_output_function_epilogue): Likewise.
8823
8824 2002-12-03 Kazu Hirata <kazu@cs.umass.edu>
8825
8826 * config/h8300/h8300.c (single_one_operand): Fix a warning.
8827 (single_zero_operand): Likewise.
8828
8829 2002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
8830
8831 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
8832 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
8833 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
8834 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
8835 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
8836 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
8837 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
8838 doc/install-old.texi: Replace hconfig.h with bconfig.h.
8839 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
8840
8841 2002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
8842
8843 * config/rs6000/rs6000.md (ffssi): Convert to expander.
8844 (ffsdi): Likewise.
8845 (cntlzw2, cntlzd2): New patterns.
8846
8847 2002-12-02 H.J. Lu <hjl@gnu.org>
8848
8849 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
8850 (mips*-*-linux*): Remove mips/t-linux.
8851
8852 Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
8853
8854 * i386.c (ix86_expand_int_movcc): Avoid overflow.
8855
8856 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
8857
8858 * config/h8300/h8300.c (dosize): Replace argument op with
8859 sign.
8860 (h8300_output_function_prologue): Update the call to dosize.
8861 (h8300_output_function_epilogue): Likewise.
8862
8863 2002-12-02 Bob Wilson <bob.wilson@acm.org>
8864
8865 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
8866
8867 2002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
8868
8869 * configure.in: Use "missing" script to generate warning if
8870 flex or bison programs not found, instead of invoking "false".
8871 * configure: Rebuilt.
8872
8873 Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
8874
8875 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
8876
8877 Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
8878
8879 * i386.c (ix86_expand_int_movcc): Avoid overflow.
8880
8881 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
8882
8883 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
8884 (push): Likewise.
8885 (pop): Likewise.
8886 (h8300_output_function_prologue): Likewise.
8887 (h8300_output_function_epilogue): Likewise.
8888
8889 Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
8890
8891 * expmed.c (store_bit_field): Use int_mode_for_mode to find
8892 corresponding mode of non-integer mode, unless it is VOIDmode.
8893
8894 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
8895
8896 * config/h8300/h8300.md (stm_h8300s_2): New.
8897 (stm_h8300s_3): Likewise.
8898 (stm_h8300s_4): Likewise.
8899 (five define_peephole2): Likewise.
8900
8901 2002-12-02 Kazu Hirata <kazu@cs.umass.edu>
8902
8903 * ra-build.c: Fix a comment typo.
8904
8905 Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
8906
8907 * i386.c (ix86_expand_int_movcc): fix
8908 reversed BRANCH_COST test; be curefull about infinite recursion.
8909
8910 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
8911
8912 * config/h8300/h8300.c (h8300_output_function_prologue):
8913 Remove variable idx.
8914 (h8300_output_function_epilogue): Likewise.
8915
8916 2002-12-01 Zack Weinberg <zack@codesourcery.com>
8917
8918 * config/frv/xm-frv.h: Delete, unnecessary.
8919
8920 2002-12-01 Kazu Hirata <kazu@cs.umass.edu>
8921
8922 * config/h8300/h8300.md: Add comments for define_peephole2.
8923
8924 2002-12-01 Mark Mitchell <mark@codesourcery.com>
8925
8926 * builtin-types.def (BT_SIZE): Use size_type_node.
8927 * builtins.c (fold_builtin): Make the builtin strlen returns a
8928 size_t, not a sizetype.
8929 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
8930 c_size_type_node.
8931 (c_alignof_expr): Likewise.
8932 (c_common_nodes_and_builtins): Likewise.
8933 * c-common.h (CTI_C_SIZE_TYPE): Remove.
8934 (c_size_type_node): Likewise.
8935 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
8936 * tree.h (TI_SIZE_TYPE): New enumeral.
8937 (size_type_node): Likewise.
8938
8939 2002-11-30 Zack Weinberg <zack@codesourcery.com>
8940
8941 * configure.in: Don't put ${tm_file} into host_xm_file,
8942 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
8943 Take location of tm-preds.h into account when calculating
8944 tm_p_file_list.
8945 * configure: Regenerate.
8946 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
8947 arguments. Do not provide rtx, rtvec, tree, or GTY here.
8948 Remove special case code for tm_p.h and *config.h; add new
8949 special case code for tm.h and tconfig.h. Clean up a bit.
8950
8951 * Makefile.in (tm_file, tm_file_list): New variables set from
8952 @-substitutions.
8953 (GCONFIG_H): Deleted.
8954 (GTM_H, TM_H): New.
8955 (CONFIG_H): Is now just config.h $(host_xm_file_list).
8956 (TM_P_H): Move up with the other mkconfig.sh-generated
8957 headers; don't mention tm-preds.h explicitly.
8958 (tm.h, cs-tm.h): New rule.
8959 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
8960 invocations of mkconfig.sh for changes to that program.
8961 (mostlyclean): Delete print-rtl1.c.
8962 (clean): Delete tm.h.
8963 Update dependencies for the files listed below.
8964
8965 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
8966
8967 * coretypes.h: New file.
8968 * system.h: #define malloc to xmalloc and realloc to xrealloc
8969 when FLEX_SCANNER or YYBISON is defined, independent of the
8970 value of GCC_VERSION.
8971 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
8972 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
8973 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
8974 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
8975 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
8976 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
8977 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
8978 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
8979 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
8980 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
8981 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
8982 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
8983 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
8984 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
8985 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
8986 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
8987 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
8988 genconstants.c, genemit.c, genextract.c, genflags.c,
8989 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
8990 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
8991 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
8992 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
8993 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
8994 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
8995 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
8996 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
8997 print-tree.c, profile.c, protoize.c, ra-build.c,
8998 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
8999 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
9000 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
9001 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
9002 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
9003 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
9004 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
9005 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
9006 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
9007 xcoffout.c, config/darwin-c.c, config/darwin.c,
9008 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
9009 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
9010 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
9011 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
9012 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
9013 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
9014 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
9015 config/i960/i960-c.c, config/i960/i960.c,
9016 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
9017 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
9018 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
9019 config/mips/irix6-libc-compat.c, config/mips/mips.c,
9020 config/mmix/mmix.c, config/mn10200/mn10200.c,
9021 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
9022 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
9023 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
9024 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
9025 config/sparc/sparc.c, config/stormy16/stormy16.c,
9026 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
9027 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
9028 Include coretypes.h and tm.h.
9029
9030 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
9031 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
9032 genrecog.c: Include coretypes.h and tm.h from the file
9033 generated by this program.
9034
9035 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
9036 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
9037 coretypes.h and tm.h, and tsystem.h when not already included.
9038 No need to include stddef.h nor stdlib.h.
9039
9040 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
9041 include auto-host.h or ansidecl.h/
9042 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
9043 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
9044 include auto-host.h, ansidecl.h, or system.h.
9045 * fixinc/server.c: Likewise. Also, do not include signal.h,
9046 and do not redefine volatile.
9047
9048 Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
9049
9050 * i386.md (movdf_integer): Always enable in 64bit.
9051 (movdf_nointeger): Always disable in 64bit.
9052
9053 2002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
9054
9055 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
9056 pseudo register number plus 1.
9057
9058 Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
9059
9060 * expmed.c (store_bit_field): Use int_mode_for_mode to find
9061 corresponding mode of non-integer mode, unless it is VOIDmode.
9062
9063 2002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
9064
9065 * cpplib.c (_cpp_test_assertion): Default *value to 0.
9066
9067 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
9068
9069 2002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
9070
9071 * config/s390/t-crtstuff: New target makefile fragment.
9072 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
9073
9074 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
9075
9076 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
9077 alternatives to correct the length when the memory operand is
9078 either pre_dec or post_inc.
9079
9080 2002-11-29 Kazu Hirata <kazu@cs.umass.edu>
9081
9082 * config/h8300/h8300.md (an anonymous pattern): Give an
9083 internal name *tst_extzv_bitqi_1_n.
9084 Accept bit_operand instead of bit_memory_operand.
9085 Do not accept bit tests with the MSB.
9086 (*tst_extzv_memqi_1_n): New.
9087
9088 Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
9089
9090 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
9091 sharing when operand is SUBREG.
9092
9093 Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
9094
9095 * athlon.md (athlon-decodev): New reservation unit.
9096 (athlon-direct0): New reservation.
9097 (athlon-vector): New use athlon-decodev.
9098 (athlon-double, athlon-direct): Better model.
9099 (athlon_imul_k8): Use athlon-direct0.
9100 (athlon_movlpd_load): New insn reservation.
9101
9102 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
9103
9104 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9105 Fix a comment typo.
9106 (h8300_tiny_constant_address_p): Likewise.
9107
9108 2002-11-28 Michael Matz <matz@suse.de>
9109
9110 * doc/passes.texi: Mention the other register allocator.
9111
9112 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
9113
9114 * config/h8300/h8300.md (6 new peephole2 patterns): New.
9115
9116 2002-11-28 Jakub Jelinek <jakub@redhat.com>
9117
9118 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
9119 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
9120 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
9121
9122 2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
9123
9124 * config/h8300/h8300.c (h8300_and_costs): New.
9125 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
9126 * config/h8300/h8300-protos.h: Add a prototype for
9127 h8300_and_costs.
9128
9129 Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
9130
9131 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
9132 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
9133 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
9134 * i386.md (truncdfsf patterns and splitters): Use
9135 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
9136
9137 2002-11-27 Zack Weinberg <zack@codesourcery.com>
9138
9139 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
9140 pointer argument in the prototypes of the following builtins
9141 be (const TYPE *) rather than (TYPE *):
9142 + __builtin_altivec_ld_internal_4sf
9143 + __builtin_altivec_ld_internal_4si
9144 + __builtin_altivec_ld_internal_8hi
9145 + __builtin_altivec_ld_internal_16qi
9146 + __builtin_altivec_lvsl
9147 + __builtin_altivec_lvsr
9148 + __builtin_altivec_lvebx
9149 + __builtin_altivec_lvehx
9150 + __builtin_altivec_lvewx
9151 + __builtin_altivec_lvxl
9152 + __builtin_altivec_lvx
9153 + __builtin_altivec_dst
9154 + __builtin_altivec_dstt
9155 + __builtin_altivec_dstst
9156 + __builtin_altivec_dststt
9157
9158 2002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9159
9160 * except.c (default_exception_section): Move variable into the
9161 scope where it is used.
9162
9163 2002-11-27 Krister Walfridsson <cato@df.lth.se>
9164
9165 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
9166 correct version.
9167
9168 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
9169
9170 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
9171
9172 2002-11-27 Kazu Hirata <kazu@cs.umass.edu>
9173
9174 * config/h8300/h8300.c (h8300_shift_costs): New.
9175 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
9176 * config/h8300/h8300-protos.h: Add a prototype for
9177 h8300_shift_costs.
9178
9179 2002-11-27 Jim Wilson <wilson@redhat.com>
9180
9181 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
9182 in output template.
9183
9184 2002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
9185
9186 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
9187 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
9188 DLL_IMPORT_EXPORT_PREFIX, not '@'.
9189 (i386_pe_dllimport_name_p): Likewise.
9190 (i386_pe_mark_dllexport): Likewise.
9191 (i386_pe_mark_dllimport): Likewise.
9192 (i386_pe_encode_section_info): Likewise.
9193 (i386_pe_strip_name_encoding): Likewise.
9194
9195 2002-11-27 Richard Henderson <rth@redhat.com>
9196
9197 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
9198 (nm && NF == 3): Set sawsymbol true.
9199 (END): Exit if no symbols seen.
9200 (output): Fix map syntax error if no globals for the version.
9201
9202 Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
9203
9204 * builtins.def (DEF_C99_BUILTIN): Fix.
9205
9206 2002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
9207
9208 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
9209 (all): Add .size and .type information.
9210
9211 Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
9212
9213 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
9214 partial_reg_stall target.
9215
9216 Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
9217
9218 * i386.md (movhicc): Allow general operand.
9219 (movqicc): New expander.
9220 (movqicc_noc): New pattern.
9221 * i386.c (ix86_expand_carry_flag_compare): New function.
9222 (ix86_expand_int_movcc): Optimize harder using sbb; support more
9223 HImode conversion; support QImode conditional moves
9224
9225 Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
9226
9227 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
9228 (ix86_expand_prologue): Multiply the count by amount of registers to be
9229 pushed.
9230
9231 Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
9232
9233 * i386.c (override_options): Error about wrong -mcpu on x86-64
9234 compilation.
9235
9236 2002-11-26 NIIBE Yutaka <gniibe@m17n.org>
9237
9238 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
9239
9240 Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
9241
9242 * i386-protos.h (x86_extended_QIreg_mentioned_p,
9243 x86_extended_reg_mentioned_p): Declare.
9244 * i386.c (extended_reg_mentioned_1): New static function.
9245 (x86_extended_QIreg_mentioned_p,
9246 x86_extended_reg_mentioned_p): New global functions.
9247 * i386.h (REX_SSE_REGNO_P): New macro.
9248 * i386.md (prefix_rex): New attribute.
9249 (length attribute): Add rex.
9250
9251 2002-11-26 Andrew Haley <aph@redhat.com>
9252
9253 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
9254 from_Unwind_Find_Enclosing_Function.
9255 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
9256 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
9257 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
9258 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
9259 * unwind.h (_Unwind_FindEnclosingFunction): Add.
9260
9261 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
9262
9263 * config/s390/s390.c (390_output_constant_pool): Set alignment
9264 before label in 64 bit mode, behind otherwise.
9265
9266 2002-11-26 Richard Henderson <rth@redhat.com>
9267
9268 * c-common.c (handle_visibility_attribute): Accept "default".
9269 * tree.h (enum symbol_visibility): New.
9270 (decl_visibility): Declare.
9271 * target.h (gcc_target.visibility): Take visibility arg as integer.
9272 * varasm.c (default_assemble_visibility): Likewise.
9273 (decl_visibility): New.
9274 (maybe_assemble_visibility): Use it.
9275 * output.h (default_assemble_visibility): Update prototype.
9276 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
9277 visibility arg as integer.
9278 * doc/extend.texi: Document default visibility.
9279
9280 2002-11-26 Kazu Hirata <kazu@cs.umass.edu>
9281
9282 * config/h8300/h8300.c: Adjust spacing.
9283 * config/h8300/h8300.h: Likewise.
9284
9285 2002-11-26 Richard Henderson <rth@redhat.com>
9286
9287 * hooks.c (hook_bool_void_false, hook_void_tree_int,
9288 hook_void_FILEptr_constcharptr): Rename so that the return
9289 type is first.
9290 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
9291 hook_bool_tree_false): New.
9292 * hooks.h: Update.
9293 * langhooks-def.h: Update for renames.
9294 * target-def.h: Likewise.
9295 * tree.c (default_comp_type_attributes,
9296 default_set_default_type_attributes, default_insert_attributes,
9297 default_function_attribute_inlinable_p,
9298 default_ms_bitfield_layout_p): Remove.
9299 * tree.h: Update.
9300
9301 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
9302
9303 * pa-protos.h (function_value): New prototype.
9304 * pa.c (function_value): Use a PARALLEL to return small aggregates on
9305 TARGET_64BIT.
9306 * pa.h (FUNCTION_VALUE): Use function_value.
9307 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
9308 call_value_internal_reg, sibcall_value_internal_symref,
9309 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
9310 value.
9311
9312 2002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
9313
9314 * expr.c (gen_group_rtx, emit_group_move): New functions.
9315 * expr.h (gen_group_rtx, emit_group_move): Prototype.
9316 * function.c (expand_function_start): Use gen_group_rtx to create a
9317 PARALLEL rtx to hold the return value when the real return rtx is a
9318 PARALLEL.
9319 (expand_function_end): Use emit_group_move to move the return value
9320 from a PARALLEL to the real return registers.
9321 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
9322 in PARALLELs.
9323
9324 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
9325
9326 * config/t-libc-ok: Fix typo.
9327
9328 2002-11-26 Jakub Jelinek <jakub@redhat.com>
9329
9330 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
9331 before AC_PROG_CC.
9332 * configure: Rebuilt.
9333
9334 2002-11-26 Nathan Sidwell <nathan@codesourcery.com>
9335
9336 * c-decl.c: (start_struct): Commonize flag setting.
9337
9338 2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
9339
9340 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
9341 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
9342 RS6000_CPU_CPP_ENDIAN_BUILTINS.
9343 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
9344
9345 2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
9346
9347 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
9348 insns.
9349 * config/s390/s390.c (struct machine_function): Introduction of
9350 struct machine_function.
9351 (s390_output_symbolic_const): Use of cfun.
9352 (s390_optimize_prolog): Likewise.
9353 (s390_fixup_clobbered_return_reg): Likewise.
9354 (s390_frame_info): Likewise.
9355 (s390_emit_prologue, s390_emit_epilogue): Likewise.
9356 (s390_init_machine_status): New function.
9357 (override_options): call s390_init_machine_status.
9358 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
9359 prototype.
9360
9361 2002-11-26 Jakub Jelinek <jakub@redhat.com>
9362
9363 * varasm.c (output_constant_pool): For pool constants in mergeable
9364 section ensure each constant is padded to multiple of entity size.
9365
9366 2002-11-26 Jakub Jelinek <jakub@redhat.com>
9367
9368 * varasm.c (default_exception_section): Move to...
9369 * except.c (default_exception_section): ... here. Make
9370 .gcc_except_table read-only if it is not expected to have any
9371 dynamic relocations and linker handles it.
9372 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
9373 if it is not expected to have any dynamic relocations and linker
9374 handles it.
9375 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
9376 when linking read-only and read-write sections together.
9377 * configure, config.in: Rebuilt.
9378 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
9379 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
9380
9381 Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
9382
9383 * i386.md (pushsf_rex64): Fix typo.
9384
9385 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
9386
9387 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
9388 new function.
9389 (__ev_create_ufix32_fs): Same.
9390 (__ev_get_sfix32_fs_internal): New.
9391 (__ev_get_sfix32_fs): Define to use function.
9392 (__ev_get_ufix32_fs_internal): New.
9393 (__ev_get_ufix32_fs): Define to use function.
9394 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
9395 (__ev_get_lower_ufix32_fs): Same.
9396 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
9397 (__ev_get_lower_sfix32_fs): Same.
9398 (__ev_set_sfix32_fs_internal): New.
9399 (__ev_set_ufix32_fs_internal): New.
9400 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
9401 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
9402 (__ev_set_upper_sfix32_fs): Call function.
9403 (__ev_set_lower_sfix32_fs): Same.
9404 (__ev_set_upper_ufix32_fs): Same.
9405 (__ev_set_lower_ufix32_fs): Same.
9406
9407 2002-11-25 Douglas B Rupp <rupp@gnat.com>
9408
9409 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
9410
9411 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
9412
9413 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
9414 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
9415 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
9416 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
9417 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
9418 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
9419 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
9420 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
9421 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
9422 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
9423 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
9424 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
9425 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
9426 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
9427 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
9428 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
9429 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
9430 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
9431 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
9432 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
9433 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
9434 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
9435 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
9436 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
9437 defining.
9438 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
9439 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
9440
9441 2002-11-25 Dave Pitts <dpitts@cozx.com>
9442
9443 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
9444
9445 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
9446
9447 * config/h8300/h8300.md (an anonymous pattern): New.
9448
9449 2002-11-25 Richard Henderson <rth@redhat.com>
9450
9451 * alias.c (find_base_value): Use new_reg_base_value if it's live.
9452 (copying_arguments): Make boolean.
9453
9454 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
9455
9456 * gcc.c (static_spec_functions): Add if-exists-else spec
9457 function.
9458 (if_exists_else_spec_function): New function.
9459 * doc/invoke.texi: Document the if-exists-else spec function.
9460
9461 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
9462 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
9463
9464 2002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
9465
9466 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
9467 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
9468 "${tmake_file} rs6000/t-netbsd".
9469 * config/rs6000/netbsd.h: Rewrite.
9470 * config/rs6000/t-netbsd: New file.
9471
9472 2002-11-25 Kazu Hirata <kazu@cs.umass.edu>
9473
9474 * config/h8300/h8300.md (an anonymous pattern): Relax the
9475 condition for the pattern.
9476
9477 2002-11-25 Aldy Hernandez <aldyh@redhat.com>
9478
9479 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
9480 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
9481 evmwlssfanw, evmwlsmfanw.
9482
9483 * config/rs6000/rs6000.c (bdesc_2arg): Same.
9484
9485 * config/rs6000/spe.md: Same for patterns.
9486
9487 2002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
9488
9489 PR c/8639
9490 * fold-const.c (extract_muldiv): Don't propagate division unless
9491 both arguments are multiples of C.
9492
9493 2002-11-25 Andrew Haley <aph@redhat.com>
9494
9495 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
9496 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
9497 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
9498 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
9499
9500 Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
9501
9502 * i386.c (x86_use_ffreep): New global variable.
9503 * i386.h (x86_use_frfeep): Declare
9504 (TARGET_USE_FFREEP): New macro
9505 * i386.md (movs?f*): Use freep when asked for.
9506 (push?f): Remove dead code.
9507
9508 2002-11-24 Kazu Hirata <kazu@cs.umass.edu>
9509
9510 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
9511 target help message.
9512
9513 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
9514
9515 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
9516 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
9517 crtbeginT.o".
9518 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
9519 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
9520 to "" for a.out configurations.
9521 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
9522
9523 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
9524
9525 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
9526 NETBSD_CPP_SPEC directly.
9527 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
9528 netbsd_endfile_spec.
9529 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
9530
9531 2002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
9532
9533 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
9534 NETBSD_STARTFILE_SPEC.
9535 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
9536 (ENDFILE_SPEC): Likewise.
9537 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
9538
9539 2002-11-24 Andreas Schwab <schwab@suse.de>
9540
9541 * Makefile.in (install-driver): Remove versioned link before
9542 trying to create it.
9543
9544 * config/m68k/m68k.c: Fix typo in last change defining
9545 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
9546
9547 2002-11-23 H.J. Lu <hjl@gnu.org>
9548
9549 * aclocal.m4: Include ../config/accross.m4.
9550 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
9551 (gcc_AC_C_COMPILE_ENDIAN): Removed.
9552 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
9553 instead of $ac_cv_c_compile_endian.
9554
9555 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
9556 AC_COMPILE_CHECK_SIZEOF.
9557 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
9558 * configure: Rebuild.
9559
9560 2002-11-23 Kazu Hirata <kazu@cs.umass.edu>
9561
9562 * config/h8300/h8300.c (print_operand): Update the use of
9563 h8300_tiny_constant_address_p.
9564 (h8300_adjust_insn_length): Likewise.
9565 (h8300_tiny_constant_address_p): Check if the given rtx is a
9566 variable declared with __attribute__ ((tiny_data)).
9567
9568 2002-11-22 Dale Johannesen <dalej@apple.com>
9569
9570 * toplev.c (rest_of_compilation): Fix comments.
9571
9572 2002-11-22 Geoffrey Keating <geoffk@apple.com>
9573
9574 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
9575 allow mmap from /dev/zero. Don't make decisions for the host
9576 based on presence or absence of /dev/zero on the build machine.
9577 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
9578 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
9579 * configure: Regenerate.
9580
9581 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
9582
9583 * gcc.c (make_relative_prefix, split_directories)
9584 (free_split_directories): Removed.
9585
9586 2002-11-22 Daniel Jacobowitz <drow@mvista.com>
9587
9588 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
9589 * configure: Regenerated.
9590
9591 2002-11-22 Kazu Hirata <kazu@cs.umass.edu>
9592
9593 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
9594 length computation when xor.l is output.
9595
9596 2002-11-21 Douglas B Rupp <rupp@gnat.com>
9597
9598 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
9599 (call_vms_1, call_value_vms_1): Cleanup syntax.
9600
9601 Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
9602
9603 * athlon.md (define_atuomaton): Add athlon_load.
9604 (athlon-double): New reservation.
9605 (athlon-ieu0): New CPU unit.
9606 (athlon-load?): Use athlon_load automaton.
9607 (*_k8 reservations): New.
9608 (other insn revervations): Activate for K8.
9609
9610 Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
9611
9612 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
9613
9614 2002-11-21 Jim Wilson <wilson@redhat.com>
9615
9616 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
9617 vectors to SI.
9618
9619 2002-11-21 Bob Wilson <bob.wilson@acm.org>
9620
9621 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
9622 * config/xtensa/xtensa.c (struct machine_function): Add
9623 incoming_a7_copied flag.
9624 (xtensa_copy_incoming_a7): Define.
9625 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
9626 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
9627
9628 Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
9629
9630 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
9631 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
9632 x86_64_nonmemory_operand, x86_64_movabs_operand,
9633 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9634 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
9635 (local_symbolic_operand): Do not care the 64bit limits.
9636 (x86_64_sign_extended_value): Remove allow_rip support.
9637 (legitimate_pic_address_disp_p): Handle all cases allowed
9638 with RIP addressing.
9639 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
9640 (legitimize_pic_address): Reorganize.
9641 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
9642
9643 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
9644
9645 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
9646 * config/arm/netbsd-elf.h: New file.
9647
9648 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
9649
9650 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
9651 subtarget_asm_float_spec.
9652 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
9653 defaults from...
9654 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
9655
9656 2002-11-21 Nick Clifton <nickc@redhat.com>
9657
9658 * config/fr30/fr30.md (movsf_constant_store): Move code to
9659 detect 0.0 into fr30.c.
9660 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
9661 Prototype.
9662 * config/fr30/fr30.c (fr30_const_double_is_zero): New
9663 function. Return true if the rtx is 0.0.
9664
9665 2002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
9666
9667 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
9668 if -mlittle-endian is specified.
9669
9670 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
9671
9672 PR optimization/2903
9673 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
9674 (anddi_notsesidi_di): Likewise.
9675
9676 2002-11-21 Kazu Hirata <kazu@cs.umass.edu>
9677
9678 * config/h8300/h8300.c (print_operand): Use
9679 h8300_eightbit_constant_address_p and
9680 h8300_tiny_constant_address_p.
9681 (h8300_adjust_insn_length): Likewise.
9682 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
9683 (TINY_CONSTANT_ADDRESS_P): Likewise.
9684 (OK_FOR_U): Use eightbit_constant_address_p.
9685
9686 2002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
9687
9688 * config/s390/libgcc-libc.ver: Add multilib support.
9689 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
9690 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
9691 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
9692 EXTRA_MULTILIB_PARTS): Define.
9693
9694 2002-11-21 Richard Earnshaw <rearnsha@arm.com>
9695
9696 * arm.c (arm_get_frame_size): A leaf function does not need its
9697 stack padding to an aligned boundary if it has no frame.
9698 (thumb_get_frame_size): Likewise.
9699
9700 Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
9701
9702 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
9703 (override_options): Likewise.
9704
9705 Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
9706
9707 * config.gcc: Add k8 target alias support
9708 * i386.c (_cost): Declare costs for various variants of divides and
9709 multiplies.
9710 (k8_cost): New.
9711 (m_K8, m_ATHLON_K8): New macros.
9712 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
9713 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
9714 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
9715 x86_integer_DFmode_moves, x86_partial_reg_dependency,
9716 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
9717 x86_prologue_using_move, x86_epilogue_using_move,
9718 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
9719 x86_sse_typeless_stores): Set for K8
9720 (override_options): Add k8 support; fix athlon alignment;
9721 complain about non-x86-64 capable CPU being used in x86-64 compilation.
9722 (ix86_issue_rate): Set for K8.
9723 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
9724 x86_machine_dependent_reorg): Handle K8 like
9725 * i386.h
9726 (x86_costs): Change mult_init and divide into array.
9727 (TARGET_K8, TARGET_ATHLON): New macros.
9728 (MODE_INDEX): New macro.
9729 (RTX_COST): Use new costs.
9730 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
9731 (TARGET_CPU_DEFAULT_NAMES): Add k8
9732 (TARGET_CPU_DEFAULT_k8): New constant
9733 (enum processor_type): Add PROCESSOR_K8.
9734 * i386.md (cpu attribute): Add k8.
9735
9736 * invoke.texi: Document -march=k8.
9737
9738 * i386.md (type attribute): Add leave
9739 (mode attribute): Remove unknownfp.
9740 (length_immediate, modrm, memory attributes): Handle leave correctly.
9741 (fp comparison patterns): Determine FP mode.
9742 (leave, leave_rex64): Remove special cases.
9743 * ppro.md (ppro_uops, ppro_p2): Add leave
9744 * pentiun.md (pent_pop): Handle leave too.
9745 * k6.md (k6_load): Handle leave.
9746 * athlon.md (athlon_leave, athlon_pop): Fix.
9747 (athlon_decode): Handle leave.
9748
9749 2002-11-20 Steve Ellcey <sje@cup.hp.com>
9750
9751 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
9752 to component type using GET_MODE_INNER.
9753 * expr.c (emit_move_insn_1): Ditto.
9754 * optabs.c (expand_binop): Ditto.
9755 (expand_unop): Ditto.
9756 (expand_complex_abs): Ditto.
9757
9758 2002-11-20 Douglas B Rupp <rupp@gnat.com>
9759
9760 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
9761
9762 2002-11-20 DJ Delorie <dj@redhat.com>
9763
9764 * config/stormy16/stormy16.c (s16builtins,
9765 xstormy16_init_builtins, xstormy16_expand_builtin): New.
9766 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
9767
9768 2002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
9769
9770 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
9771 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
9772 (executing gencheck, genconfigs, genconditions, genflags,
9773 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
9774 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
9775 gengtype, genprotos): Prepend $(RUN_GEN).
9776 * configure.in: Move host compiler tests before --enable-checking
9777 tests.
9778 (--enable-checking=valgrind): New.
9779 * config.in, configure: Regenerate.
9780 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
9781 Define as empty.
9782 (read_include_file): When doing the mmap+1 trick,
9783 valgrind-annotate the byte after the mmap:ed area as readable.
9784 (purge_cache): Remove above annotation.
9785 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
9786 VALGRIND_PATH -q to each command.
9787
9788 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
9789 Define as empty.
9790 (ggc_realloc): Update valgrind annotations.
9791 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
9792 Define as empty.
9793 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
9794 valgrind-annotate memory.
9795
9796 2002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
9797
9798 * recog.c (constrain_operands): Prefer exact match over reloadable
9799 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
9800
9801 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
9802 operands in Pmode.
9803
9804 2002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
9805
9806 PR c/8518
9807 * c-decl.c (duplicate_decls): Outline the second definition
9808 of an extern inline function in all cases.
9809
9810 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
9811
9812 * stor-layout.c (place_field): Update rli->offset as well as
9813 rli->bitpos.
9814
9815 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
9816
9817 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
9818
9819 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
9820
9821 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
9822 into a libcall block.
9823 (divsi3): Likewise divsi3_i4_media.
9824
9825 2002-11-20 Richard Sandiford <rsandifo@redhat.com>
9826
9827 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
9828 out another register.
9829
9830 2002-11-20 Jakub Jelinek <jakub@redhat.com>
9831
9832 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
9833 (not just mask) are set in C.
9834
9835 2002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
9836
9837 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
9838
9839 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9840
9841 * profile.c (index_counts_file): Fix obvious mistake.
9842
9843 2002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9844
9845 * Makefile.in (profile.o): Add hashtab.h dependency.
9846 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
9847 * profile.c: Include hashtab.h.
9848 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
9849 cleanup_counts_index, index_counts_file, struct section_reference,
9850 struct da_index_entry, counts_file_name, counts_file_index): New.
9851 (get_exec_counts, init_branch_prob): Modified.
9852
9853 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
9854
9855 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
9856 to tmake_file. Remove setting gas and gnu_ld here.
9857 * config/sh/libgcc-glibc.ver: New file.
9858 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
9859 (SHLIB_MAPFILES): New.
9860 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
9861 (MD_STARTFILE_PREFIX): Likewise.
9862 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
9863 (DWARF2_UNWIND_INFO): Redefine.
9864 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9865 (LINK_EH_SPEC): Redefine.
9866 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
9867 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
9868 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
9869 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
9870 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
9871 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
9872 SH_DWARF_FRAME_FPSCR): Likewise.
9873 * config/sh/sh-protos.h (sh_set_return_address): Declare.
9874 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
9875 registers if the current function calls EH return.
9876 (sh_expand_epilogue): Handle EH stack adjustments.
9877 (sh_set_return_address): New function.
9878 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
9879 Don't abort even if the number is mapped to -1.
9880 (EH_RETURN_DATA_REGNO): Define.
9881 (EH_RETURN_STACKADJ_RTX): Define.
9882 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
9883 (eh_return): New pattern.
9884 (eh_set_ra_di, eh_set_ra_si): Likewise.
9885 Add splitter to perform EH return after reload.
9886
9887 Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
9888
9889 * stor-layout.c (excess_unit_span): New function.
9890 (place_field): Use it.
9891
9892 2002-11-19 Andreas Schwab <schwab@suse.de>
9893
9894 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
9895 not valid in C++.
9896
9897 2002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
9898
9899 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
9900 * configure: Regenerate.
9901
9902 Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
9903
9904 * convert.c (strip_float_extensions): New function.
9905 (convert_to_real): Optimize some cases.
9906
9907 2002-11-19 Andreas Jaeger <aj@suse.de>
9908
9909 * loop.c (record_giv): Initialize not_replaceable.
9910 (check_final_value): Likewise.
9911
9912 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9913
9914 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
9915 MASK_H8300S.
9916
9917 2002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
9918
9919 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
9920 only if -mh or -ms present.
9921 (h8300_eightbit_constant_address_p): Support the normal mode.
9922 (h8300_tiny_constant_address_p): Likewise.
9923 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
9924 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
9925 (Pmode): Evaluate to HImode for the normal mode.
9926 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
9927 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
9928 (ASM_WORD_OP): Evaluate to word for the normal mode.
9929 * config/h8300/h8300.md (tablejump_normal_mode): New.
9930 (indirect_jump_normal_mode): New.
9931 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
9932 directory.
9933 (MULTILIB_DIRNAMES): Create target dependent directory
9934 'normal'.
9935 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
9936 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
9937
9938 Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
9939
9940 * i386.md (length_immediate): Do not refer to insn address.
9941 (jcc*, jmp patterns): Compute length explicitly.
9942
9943 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
9944
9945 PR c/8588
9946 * optabs.c (expand_binop): Convert CONST_INTs in shift
9947 operations too.
9948
9949 2002-11-19 Roger Sayle <roger@eyesopen.com>
9950
9951 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
9952
9953 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9954
9955 * config/h8300/h8300.md (an anonymous pattern): Relax the
9956 condition to accept the same operands and/or subregs.
9957
9958 2002-11-19 Daniel Jacobowitz <drow@mvista.com>
9959
9960 * config/sh/sh.c (gen_shl_and): Revert previous patch.
9961 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
9962 reload_completed.
9963
9964 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9965
9966 * config/h8300/h8300.c (print_operand): Update the use of
9967 EIGHTBIT_CONSTANT_ADDRESS_P.
9968 (h8300_adjust_insn_length): Likewise.
9969 (h8300_eightbit_constant_address_p): Check if the given rtx is
9970 a variable with __attribute__((eightbit_data)).
9971 * config/h8300/h8300.h (OK_FOR_U): Update the use of
9972 EIGHTBIT_CONSTANT_ADDRESS_P.
9973
9974 2002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9975
9976 * doc/contrib.texi (Contributors): Add self as second contact in
9977 addition to Jeff Law.
9978
9979 2002-11-19 Andreas Jaeger <aj@suse.de>
9980
9981 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
9982 find_alloca_call to right place.
9983
9984 2002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9985
9986 * cppfiles.c: Fix formatting.
9987
9988 2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
9989
9990 * gcc.c (The Specs Language): Document spec functions.
9991 (static_spec_functions, lookup_spec_function)
9992 (eval_spec_function, handle_spec_function)
9993 (if_exists_spec_function, alloc_args): New.
9994 (execute): Abort if processing_spec_function is true.
9995 (do_spec_1): Hand off spec to handle_spec_function if %:
9996 is encountered. If processing_spec_function is true,
9997 end any pending argument when the end of the string is reached.
9998 (main): Use alloc_args to allocate the initial argument vector.
9999 * gcc.h (struct spec_function): New.
10000 (lang_specific_spec_functions): New extern.
10001
10002 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
10003 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
10004 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
10005
10006 * doc/invoke.texi: Document spec functions.
10007
10008 * cppspec.c (lang_specific_spec_functions): New.
10009 * gccspec.c: Likewise.
10010
10011 2002-11-18 Steve Ellcey <sje@cup.hp.com>
10012
10013 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
10014 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
10015 (fixunstfsi_libfunc): Change.
10016 (fixunstfdi_libfunc): Change.
10017 (sdiv_optab): Don't zero out SImode handler.
10018 (udiv_optab): Don't zero out SImode handler.
10019 (smod_optab): Don't zero out SImode handler.
10020 (umod_optab): Don't zero out SImode handler.
10021
10022 2002-11-18 Neil Booth <neil@daikokuya.co.uk>
10023
10024 PR preprocessor/8524
10025 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
10026 Add a new one in its place, which hopefully works.
10027 (skip_rest_of_line): Change test for bottom-of-context-stack.
10028
10029 Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
10030
10031 * i386.md (addqi_1_slp): Fix output template.
10032 (subqi_1_slp): Fix type.
10033
10034 Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
10035
10036 * calls.c (alloca_call_p): New global function.
10037 * tree.h (alloca_call_p): New.
10038 * tree-inline.c (inlinable_function_p): Do not inline when
10039 function calls alloca.
10040 (find_alloca_call, find_alloca_call_1): New functions.
10041
10042 2002-11-18 Kazu Hirata <kazu@cs.umass.edu>
10043
10044 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
10045 bst. Update the insn length.
10046 (*andorhi3): Likewise.
10047 (*andorsi3): Likewise.
10048
10049 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
10050
10051 * config/sh/sh-protos.h (sh_mark_label): Declare.
10052 * config/sh/sh.c (sh_mark_label): New function, taken from
10053 movdi_const, but fixing the case when the address has an addend.
10054 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
10055
10056 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
10057
10058 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
10059 (add_constant): Set it.
10060 (dump_table): Don't reorder a constant if part_of_sequence_p.
10061 (machine_dependent_reorg): Assume that float constants will
10062 stay in their original order if used as a sequence.
10063
10064 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
10065
10066 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
10067 in compact code.
10068
10069 2002-11-18 Richard Sandiford <rsandifo@redhat.com>
10070
10071 * config/sh/sh.md (initialize_trampoline): Do not force the
10072 trampoline address into R0_REGS here.
10073
10074 Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
10075
10076 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
10077 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
10078 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
10079 generate unnecesary subregs.
10080
10081 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
10082
10083 * df.c: Fix formatting.
10084
10085 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
10086
10087 * config/h8300/h8300.md (two anonymous patterns): Fix insn
10088 lengths.
10089
10090 2002-11-17 Daniel Jacobowitz <drow@mvista.com>
10091
10092 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
10093 is not an arith_reg_operand.
10094
10095 2002-11-17 Graham Stott <graham.stott@btinternet.com>
10096
10097 * real.c (real_to_decimal): Fix buffer overrun when buffer size
10098 is smaller than representation.
10099
10100 2002-11-17 Kazu Hirata <kazu@cs.umass.edu>
10101
10102 * builtins.c: Fix formatting.
10103
10104 Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
10105
10106 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
10107 floats?dff2_i387):
10108 Work around regclass stupidity.
10109 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
10110
10111 Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
10112
10113 * i386.md (fop_df_6): New pattern.
10114 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
10115 (fop_xf_6): Rewrite
10116 (fop_xf_7): Delete.
10117 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
10118 (fop_tf_6): Rewrite
10119 (fop_tf_7): Delete.
10120
10121 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10122
10123 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
10124
10125 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10126
10127 * config/h8300/h8300.md: Fix formatting.
10128
10129 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10130
10131 * config/h8300/h8300.md: Replace spaces with tabs.
10132 * config/h8300/t-h8300: Remove a trailing empty line.
10133
10134 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10135
10136 * tlink.c: Fix formatting.
10137
10138 2002-11-16 David Edelsohn <edelsohn@gnu.org>
10139
10140 PR 8362
10141 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
10142 * config/rs6000/rs6000.md (movti_string): Remove output modifier
10143 when scratch register never needed.
10144 (ldmsi[3-8]): New patterns.
10145
10146 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10147
10148 * hard-reg-set.h: Follow spelling conventions.
10149 * real.c: Likewise.
10150 * target.h: Likewise.
10151
10152 2002-11-16 Jakub Jelinek <jakub@redhat.com>
10153
10154 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
10155
10156 2002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10157
10158 * optabs.c: Fix formatting.
10159
10160 Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
10161
10162 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
10163 * i386.md (attribute type): Add type shift1 and rotate1.
10164 (*_slp): Rewrite to have just two operands to avoid reload problems.
10165
10166 2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
10167
10168 * config/h8300/h8300.md (4 anonymous patterns): New.
10169
10170 2002-11-15 Geoffrey Keating <geoffk@apple.com>
10171
10172 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
10173 * doc/invoke.texi: Correct description of what needs to be done to
10174 force collection at every ggc_collect call.
10175
10176 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
10177
10178 * config/s390/s390.c (optimization_options): Set
10179 flag_asynchronous_unwind_tables to 1 by default.
10180
10181 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
10182
10183 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10184
10185 Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
10186
10187 * i386-protos.h (x86_function_profiler): New function
10188 * i386.h (MCOUNT_NAME): New.
10189 (PROFILE_COUNT_REGISTER): New.
10190 (FUNCTION_PROFILER): Move offline to ...
10191 * i386.c (x86_function_profiler) ... here; fix 64bit support
10192 * beos-elf.h (FUNCTION_PROFILER): Kill.
10193 (MCOUNT_NAME): New.
10194 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
10195 (MCOUNT_NAME): New.
10196 (PROFILE_COUNT_REGISTER): New.
10197 * linux.h (FUNCTION_PROFILER): Kill.
10198 (MCOUNT_NAME): New.
10199 * x86-64.h (FUNCTION_PROFILER): Kill.
10200 (MCOUNT_NAME): New.
10201 * freebsd.h (FUNCTION_PROFILER): Kill.
10202 (MCOUNT_NAME): New.
10203
10204 2002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
10205
10206 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
10207 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
10208 * config/arm/arm.c (arm_va_arg,
10209 arm_function_arg_pass_by_reference): New.
10210 * config/arm/arm-protos.h: Add prototypes.
10211
10212 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
10213
10214 * gthr-single.h: Fix formatting.
10215
10216 2002-11-14 Zack Weinberg <zack@codesourcery.com>
10217
10218 * tree.c (tree_vec_elt_check_failed): New function.
10219 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
10220 (TREE_VEC_ELT): Use it.
10221
10222 * tree-inline.c (optimize_inline_calls): Don't copy a
10223 zero-length vector.
10224
10225 2002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
10226
10227 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
10228
10229 2002-11-14 Jakub Jelinek <jakub@redhat.com>
10230
10231 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
10232 both operands contain local relocations.
10233 (categorize_decl_for_section): Don't use mergeable sections if
10234 initializer has any relocations.
10235
10236 2002-11-14 Kazu Hirata <kazu@cs.umass.edu>
10237
10238 * gthr-vxworks.h: Fix formatting.
10239
10240 2002-11-13 Janis Johnson <janis187@us.ibm.com>
10241
10242 * doc/install.texi (Testing): Document extra Java testing.
10243 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
10244
10245 2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
10246
10247 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
10248 beginning of the spec.
10249 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
10250 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
10251 regarding problems with global constructors when using GNU ld.
10252
10253 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
10254
10255 * gthr-solaris.h: Fix formatting.
10256
10257 2002-11-13 Kazu Hirata <kazu@cs.umass.edu>
10258
10259 * gthr-posix.h: Fix formatting.
10260
10261 2002-11-12 Devang Patel <dpatel@apple.com>
10262 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
10263 (process_command): Same.
10264 * doc/invoke.texi: Info about these two new options.
10265
10266 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
10267
10268 * config/h8300/h8300.md (*andorsi3): New.
10269
10270 2002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10271
10272 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
10273
10274 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
10275
10276 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
10277 expressions appropriately.
10278
10279 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
10280
10281 * gthr-win32.h: Fix formatting.
10282
10283 2002-11-12 Kazu Hirata <kazu@cs.umass.edu>
10284
10285 * config/h8300/h8300.c (single_one_operand): Correctly compute
10286 mask when mode is SImode.
10287 (single_zero_operand): Likewise.
10288 * config/h8300/h8300.md (two new anonymous insns): New.
10289
10290 2002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10291
10292 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
10293 to that entire project.
10294
10295 2002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10296
10297 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
10298 directories.
10299
10300 2002-11-11 Zack Weinberg <zack@codesourcery.com>
10301
10302 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
10303 * doc/invoke.texi: Document them.
10304
10305 * ggc-page.c: Include params.h. Remove definitions of
10306 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
10307 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
10308 (init_gcc): Don't set G.allocated_last_gc here.
10309 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
10310 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
10311 perform collection.
10312 * ggc-simple.c: Similarly.
10313 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
10314 dependencies.
10315
10316 2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
10317
10318 * gthr-dce.h: Fix formatting.
10319
10320 2002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10321
10322 PR c/8467
10323 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
10324 mode of DECL_RTL case.
10325
10326 2002-11-11 Janis Johnson <janis187@us.ibm.com>
10327
10328 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
10329
10330 Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
10331
10332 * i386.c (construct_container): Fix handling of SSE_CLASS.
10333
10334 2002-11-10 Joel Sherrill <joel@gcc.gnu.org>
10335
10336 * config/m68k/t-crtstuff (crti.o): Use this...
10337 ($(T)crti.o): ... instead.
10338 (crtn.o): Use this...
10339 ($(T)crtn.o): ... instead.
10340
10341 2002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
10342
10343 PR c/8439
10344 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
10345 if there is something new to be simplified.
10346
10347 2002-11-10 H.J. Lu <hjl@gnu.org>
10348
10349 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
10350 * expr.c (PUSH_ARGS_REVERSED): Likewise.
10351
10352 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
10353
10354 2002-11-10 Zack Weinberg <zack@codesourcery.com>
10355
10356 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
10357 * config/rs6000/linux.h, config/rs6000/linux64.h,
10358 config/rs6000/windiss.h: ... not here.
10359
10360 2002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
10361
10362 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
10363 __ABICALLS__ if TARGET_ABICALLS.
10364
10365 Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
10366
10367 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
10368
10369 2002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
10370
10371 * c-decl.c (grokdeclarator): Make error for duplicate type
10372 qualifiers into a pedwarn, disabled for C99.
10373
10374 2002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
10375
10376 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
10377 as FUNCTION_ARG_PASS_BY_REFERENCE.
10378
10379 2002-11-09 Zack Weinberg <zack@codesourcery.com>
10380
10381 * doc/install.texi: Add *-*-vxworks* specific installation
10382 instructions.
10383
10384 * config/vxlib.c: Rewrite using generation numbers to identify
10385 valid TSD keys.
10386
10387 Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
10388
10389 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
10390
10391 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
10392
10393 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
10394
10395 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
10396 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
10397 * pa.c (output_millicode_call): Use symbol difference rather than
10398 $PIC_pcrel$0 when using HP assembler.
10399 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
10400 not elfos.h (i.e., gas) is being used.
10401 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
10402 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
10403 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
10404 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
10405 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
10406 using elfos.h.
10407 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
10408 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
10409 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
10410 using elfos.h.
10411 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
10412 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
10413 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
10414 Don't define when not using elfos.h.
10415 (ASM_DECLARE_RESULT): Don't define.
10416 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
10417 doesn't work on hppa64-hp-hpux11.
10418 (hppa*-hp-hpux11): Update.
10419
10420 2002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
10421
10422 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
10423 to the assembler if -mno-abicalls was specified.
10424
10425 2002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
10426
10427 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
10428 ASM_OUTPUT_DEF): Delete.
10429
10430 2002-11-09 Neil Booth <neil@daikokuya.co.uk>
10431
10432 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
10433
10434 2002-11-08 Roger Sayle <roger@eyesopen.com>
10435
10436 * real.c (real_sqrt): Update comment with bibliographic reference.
10437
10438 Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
10439
10440 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
10441
10442 Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
10443
10444 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
10445
10446 Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
10447
10448 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
10449 (expand_builtin): Likewise.
10450 * builtins.def: Add
10451 __builtin_floor, __builtin_floorf, __builtin_floorl
10452 __builtin_ceil, __builtin_ceilf, __builtin_ceill
10453 __builtin_round, __builtin_roundf, __builtin_roundl
10454 __builtin_trunc, __builtin_truncf, __builtin_truncl
10455 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
10456 * genopinit.c (optabs): Initialize the new optabs.
10457 * optab.c (init_optabs): Likewise.
10458 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
10459 OTI_round, OTI_nearbyint.
10460 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
10461 * doc/md.texi: Document new named patterns.
10462 * doc/extend.texi (builtin functions) Document
10463 floor, floorf, floorl, ceil, ceilf,
10464 ceill, round, roundf, roundl, trunc,
10465 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
10466
10467 Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
10468
10469 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
10470
10471 2002-11-08 Dale Johannesen <dalej@apple.com>
10472
10473 * dbxout.c (dbxout_type): Fix stabs info for vector types.
10474
10475 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
10476
10477 PR preprocessor/8497
10478 PR preprocessor/8501
10479 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
10480 start a directive. In assembler, #NUM is not a line directive.
10481
10482 2002-11-08 Neil Booth <neil@daikokuya.co.uk>
10483
10484 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
10485 buffers.
10486
10487 2002-11-08 Kazu Hirata <kazu@cs.umass.edu>
10488
10489 * config/h8300/h8300.md (two anonymous test insns): New.
10490
10491 Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
10492
10493 * jump.c (mark_jump_label): Handle subregs of label_refs.
10494
10495 Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
10496
10497 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
10498 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
10499
10500 2002-11-07 David Mosberger <davidm@hpl.hp.com>
10501
10502 * config/ia64/crtend.asm: Include "auto-host.h".
10503 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
10504 * config/ia64/crtbegin.asm: Similarly.
10505 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
10506 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
10507
10508 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
10509 * configure.in: Use it if --enable-initfini-array not specified.
10510 * doc/install.texi (Configuration): Document --enable-initfini-array.
10511 * configure, config.in: Rebuild.
10512
10513 2002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
10514
10515 * config/arm/arm-protos.h (arm_get_frame_size)
10516 (thumb_get_frame_size): New prototypes.
10517 * config/arm/arm.c (arm_get_frame_size)
10518 (thumb_get_frame_size): New functions.
10519 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
10520 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
10521 arm_get_frame_size.
10522 (thumb_expand_prologue, thumb_expand_epilogue): Use
10523 thumb_get_frame_size.
10524 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
10525 (machine_function): Add frame_size member.
10526 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
10527
10528 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
10529
10530 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
10531 Adjust code to use portable unsigned bit manipulation.
10532 (insn_flags, tune_flags): Change type to unsigned.
10533 (struct processors): Make flags unsigned long.
10534 (arm_override_options): Change type of count and current_bit_count
10535 to unsigned.
10536
10537 2002-11-07 Richard Earnshaw <rearnsha@arm.com>
10538
10539 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
10540
10541 Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
10542
10543 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
10544
10545 Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
10546
10547 * reg-stack.c (compensate_edge): Fix sanity check.
10548
10549 2002-11-05 Geoffrey Keating <geoffk@apple.com>
10550
10551 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
10552 crt2.o. Rearrange t-darwin makefiles.
10553 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
10554 * unwind-dw2-fde-darwin.c: New.
10555 * unwind-dw2-fde-glibc.c: Correct comment.
10556 * unwind-dw2-fde.c (__register_frame_info_bases)
10557 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
10558 (classify_object_over_fdes): Use last_fde.
10559 (add_fdes): Likewise.
10560 (linear_search_fdes): Likewise.
10561 * unwind-dw2-fde.h (struct object)
10562 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
10563 (last_fde): New.
10564 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
10565 (ENDFILE_SPEC): No crtend.o.
10566 * config/t-darwin: New.
10567 * config/i386/t-darwin: Delete.
10568 * config/darwin-crt2.c: New.
10569 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
10570 or config/t-darwin.
10571
10572 2002-11-06 Douglas B Rupp <rupp@gnat.com>
10573
10574 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
10575 MASK_MS_BITFIELD_LAYOUT
10576 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
10577 MS bitfields for Objective-C.
10578 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
10579 defines.
10580
10581 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
10582 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
10583 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
10584
10585 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
10586 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
10587 (TARGET_SWITCHES): Add above mask.
10588
10589 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
10590 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
10591 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
10592 flags for interix.
10593
10594 Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
10595
10596 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
10597 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
10598 assembler.
10599 * config/mips/mips.md (tablejump_internal3): Output .cpadd
10600 before jump on ABI_N32 too.
10601 (tablejump_internal4): Ditto on ABI_64. Increase maximum
10602 length to match.
10603
10604 Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
10605
10606 * i386.md (negsf splitter): Accept memory operand in second register.
10607 (abssf/absdf splitters): Simplify
10608 (sse_loadss, sse_loadsd): Turn into expander.
10609
10610 2002-11-06 David Edelsohn <edelsohn@gnu.org>
10611
10612 PR target/8480
10613 * config/rs6000/rs6000.md (movdi_internal64): Discourage
10614 FPR to FPR moves.
10615
10616 2002-11-06 Janis Johnson <janis187@us.ibm.com>
10617
10618 * doc/contrib.texi: Merge in the list from the Java web pages.
10619
10620 2002-11-06 David O'Brien <obrien@FreeBSD.org>
10621
10622 * config/sparc/freebsd: Fix typo.
10623
10624 2002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
10625
10626 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
10627
10628 2002-11-06 Alexandre Oliva <aoliva@redhat.com>
10629
10630 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
10631 non-SImode addresses.
10632
10633 Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
10634
10635 * i386.md (float_truncate SSE splitter): Ensure that operand is not
10636 stack register.
10637 (float SSE splitters): Reorder conditional.
10638
10639 2002-11-05 Bob Wilson <bob.wilson@acm.org>
10640
10641 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
10642
10643 2002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
10644
10645 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
10646 (STARTFILE_SPEC): Remove p and pg options.
10647
10648 2002-11-05 Andrew Haley <aph@redhat.com>
10649
10650 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
10651 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
10652
10653 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
10654
10655 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
10656 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
10657
10658 2002-11-04 Zack Weinberg <zack@codesourcery.com>
10659
10660 * gthr-vxworks.h: Rewritten from scratch.
10661 * config/vxlib.c: New file.
10662 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
10663 * config/rs6000/t-vxworks: Add config/vxlib.c to
10664 LIB2FUNCS_EXTRA here too, because of clash with
10665 config/rs6000/t-ppccomm.
10666
10667 2002-11-04 Dale Johannesen <dalej@apple.com>
10668
10669 * doloop.c (doloop_modify_runtime): Fix loop count computation
10670 for unrolled loops.
10671 * loop.c (loop_invariant_p): Support calling from unroller.
10672
10673 2002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
10674
10675 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
10676 for comparison.
10677
10678 2002-11-04 Aldy Hernandez <aldyh@redhat.com>
10679
10680 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
10681
10682 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
10683 (CLASS_CANNOT_CHANGE_MODE): Remove.
10684 (CANNOT_CHANGE_MODE_CLASS): New.
10685
10686 * config/alpha/alpha.h: Same.
10687
10688 * config/ia64/ia64.h: Same.
10689
10690 * config/mips/mips.h: Same.
10691
10692 * config/s390/s390.h: Same.
10693
10694 * config/sh/sh.h: Same.
10695
10696 * config/pa/pa64-regs.h: Same.
10697
10698 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
10699
10700 * config/sh/sh.c (sh_cannot_change_mode_class): New.
10701
10702 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
10703 prototype.
10704
10705 * config/mips/mips.c (mips_cannot_change_mode_class): New.
10706
10707 * doc/tm.texi (Register Classes): Remove
10708 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
10709 Document CANNOT_CHANGE_MODE_CLASS.
10710
10711 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
10712 (push_reload): Same.
10713
10714 * simplify-rtx.c (simplify_subreg): Same.
10715
10716 * reload1.c (choose_reload_regs): Same.
10717
10718 * recog.c (register_operand): Same.
10719
10720 * regrename.c (mode_change_ok): Change to use new
10721 CANNOT_CHANGE_MODE_CLASS infrastructure.
10722
10723 * regclass.c (cannot_change_mode_set_regs): New.
10724 Declare subregs_of_mode.
10725 (regclass): Use subregs_of_mode.
10726 Remove references to reg_changes_mode.
10727 (init_reg_sets_1): Remove class_can_change_mode and
10728 reg_changes_mode code.
10729 (invalid_mode_change_p): New.
10730 (dump_regclass): Use invalid_mode_change_p instead of
10731 class_can_change_mode.
10732 (regclass): Same.
10733 (record_operand_costs): Do not set reg_changes_mode.
10734
10735 * local-alloc.c (struct qty): Remove changes_mode field.
10736 (alloc_qty): Remove changes_mode initialization.
10737 (update_qty_class): Remove set of changes_mode.
10738 (find_free_reg): Use subregs_of_mode.
10739
10740 * global.c (find_reg): Use subregs_of_mode info.
10741
10742 * rtl.h (cannot_change_mode_set_regs): New prototype.
10743 (invalid_mode_change_p): Same.
10744 (REG_CANNOT_CHANGE_MODE_P): New macro.
10745
10746 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
10747 REG_CHANGES_MODE.
10748 (life_analysis): Clear subregs_of_mode.
10749
10750 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
10751 Remove use of CLASS_CANNOT_CHANGE_MODE.
10752 (simplify_set): Same.
10753 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
10754 REG_CHANGES_MODE.
10755
10756 * regs.h: Add extern for subregs_of_mode;
10757 Include hard-reg-set and basic-block.
10758 (REG_CHANGES_MODE): Delete.
10759
10760 2002-11-03 Roger Sayle <roger@eyesopen.com>
10761
10762 * real.c (real_sqrt): New function to calculate square roots.
10763 * real.h (real_sqrt): Add function prototype.
10764 * builtins.c (fold_builtin): Fold sqrt of constant argument.
10765 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
10766 of constant argument.
10767
10768 2002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10769
10770 * jump.c (never_reached_warning): Don't set contains_insn until the
10771 first line note is seen.
10772
10773 2002-11-03 David Edelsohn <edelsohn@gnu.org>
10774
10775 * config/rs6000/rs6000.md (movti_string): Use string instructions.
10776
10777 2002-11-03 Roger Sayle <roger@eyesopen.com>
10778
10779 PR c/7128
10780 * c-typeck.c (c_expand_asm_operands): Defend against
10781 error_mark_nodes in the output argument to avoid ICE.
10782
10783 2002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
10784
10785 PR middle-end/8408
10786 * genrecog.c (preds): Handle ADDRESSOF.
10787 (validate_pattern): Mark it as an lvalue.
10788
10789 2002-11-02 David Edelsohn <edelsohn@gnu.org>
10790
10791 * config/rs6000/rs6000.c (rs6000_override_options): Use string
10792 instructions when optimizing for size.
10793
10794 2002-11-02 Kazu Hirata <kazu@cs.umass.edu>
10795
10796 * config/h8300/h8300.h: Fix comment typos.
10797 * config/h8300/h8300.md: Likewise.
10798 * config/h8300/lib1funcs.asm: Likewise.
10799
10800 2002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10801
10802 Revert this change:
10803
10804 *doc/install.texi (Installing GCC: Configuration): Clarify
10805 the only supported ways to configure gcc.
10806
10807 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
10808
10809 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
10810 instead of 'O' for the constraint for the second operand.
10811
10812 2002-11-01 Mark Mitchell <mark@codesourcery.com>
10813
10814 PR c++/8391
10815 * toplev.c (rest_of_compilation): Do not refuse to output code for
10816 an inline function in a local class.
10817
10818 2002-11-01 David O'Brien <obrien@FreeBSD.org>
10819
10820 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
10821 (TRANSFER_FROM_TRAMPOLINE): Reformat.
10822 Add comment.
10823
10824 2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
10825
10826 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
10827
10828 2002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
10829
10830 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
10831
10832 2002-11-01 Steve Ellcey <sje@cup.hp.com>
10833
10834 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
10835 (MASK_INLINE_DIV_THR): Remove.
10836 (TARGET_INLINE_DIV_LAT): Remove.
10837 (TARGET_INLINE_DIV_THR): Remove.
10838 (TARGET_INLINE_DIV): Remove.
10839 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
10840 (MASK_INLINE_FLOAT_DIV_THR): New macro.
10841 (MASK_INLINE_INT_DIV_LAT): New macro.
10842 (MASK_INLINE_INT_DIV_THR): New macro.
10843 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
10844 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
10845 (TARGET_INLINE_INT_DIV_LAT): New macro.
10846 (TARGET_INLINE_INT_DIV_THR): New macro.
10847 (TARGET_INLINE_FLOAT_DIV): New macro.
10848 (TARGET_INLINE_INT_DIV): New macro.
10849 * config/ia64/ia64.md (divsi3): Change to use new macros.
10850 (modsi3): Ditto.
10851 (udivsi3): Ditto.
10852 (umodsi3): Ditto.
10853 (divsi3_internal): Ditto.
10854 (divdi3): Ditto.
10855 (moddi3): Ditto.
10856 (udivdi3): Ditto.
10857 (umoddi3): Ditto.
10858 (divdi3_internal_lat): Ditto.
10859 (divdi3_internal_thr): Ditto.
10860 (divsf3): Ditto.
10861 (divsf3_internal_lat): Ditto.
10862 (divsf3_internal_thr): Ditto.
10863 (divdf3): Ditto.
10864 (divdf3_internal_lat): Ditto.
10865 (divdf3_internal_thr): Ditto.
10866 (divtf3): Ditto.
10867 (divtf3_internal_lat): Ditto.
10868 (divtf3_internal_thr): Ditto.
10869 * config/ia64/ia64.c (ia64_override_options): Change
10870 to check new macros for conflicts in settings.
10871 * doc/invoke.texi (-minline-divide-min-latency): Remove.
10872 (-minline-divide-max-throughput): Remove.
10873 (-minline-float-divide-min-latency): New.
10874 (-minline-float-divide-max-throughput): New.
10875 (-minline-int-divide-min-latency): New.
10876 (-minline-int-divide-max-throughput): New.
10877
10878 2002-11-01 Richard Earnshaw (rearnsha@arm.com)
10879
10880 PR target/7856
10881 * arm.c (use_return_insn): Don't use a return insn if there are
10882 saved integer regs, but LR is not one of them.
10883
10884 Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
10885
10886 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
10887 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
10888
10889 Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
10890
10891 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
10892 (movps, movpd splitters): Use canonical form.
10893 (movv2di): Fix merge problem.
10894
10895 Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
10896
10897 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
10898
10899 2002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
10900
10901 PR optimization/6162
10902 * doc/md.texi: Document restriction on commutative operand
10903 specification.
10904
10905 2002-10-31 Eric Christopher <echristo@redhat.com>
10906
10907 * explow.c (convert_memory_address): Use shallow_copy_rtx.
10908
10909 2002-10-31 Steve Ellcey <sje@cup.hp.com>
10910
10911 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
10912
10913 2002-10-31 Steve Ellcey <sje@cup.hp.com>
10914
10915 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
10916
10917 Thu Oct 31 Dale Johannesen <dalej@apple.com>
10918
10919 * config/rs6000/darwin.h: Correct formatting in previous.
10920
10921 Thu Oct 31 Dale Johannesen <dalej@apple.com>
10922
10923 * config/rs6000/darwin.h: Enable -falign-xxx options.
10924
10925 Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
10926
10927 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
10928 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
10929 * i386.c (optimization_options): Set flag_omit_frame_pointer,
10930 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
10931 Do not clear -momit-leaf-frame-pointer when profiling.
10932 (ix86_frame_pointer_required): Frame pointer is always required when
10933 profiling.
10934
10935 Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
10936
10937 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
10938
10939 Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
10940
10941 * sh.h (binary_logical_operator): Declare.
10942 * sh.c (binary_logical_operator): New function.
10943 * sh.md (xordi3+1): New combiner splitter pattern.
10944
10945 2002-10-31 David O'Brien <obrien@FreeBSD.org>
10946
10947 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10948 __enable_execute_stack function.
10949
10950 2002-10-30 Zack Weinberg <zack@codesourcery.com>
10951
10952 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
10953 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
10954 * unwind-sjlj.c (fc_key_dtor): Delete.
10955 (fc_key_init): Adjust __gthread_key_create call to match.
10956
10957 2002-10-30 Aldy Hernandez <aldyh@redhat.com>
10958
10959 * c-common.c: Add GTY to vector_type_node_list.
10960
10961 2002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
10962
10963 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
10964 * pa-protos.h (attr_length_millicode_call, attr_length_call,
10965 pa_init_machine_status): Declare new global functions.
10966 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
10967 implement new functions.
10968 (attr_length_millicode_call, attr_length_call): Implement.
10969 (total_code_bytes): Change type to long.
10970 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
10971 Reset counter if flag_function_sections.
10972 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
10973 (output_cbranch): Move call to gen_label_rtx.
10974 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
10975 delay slot in all variants, shorten pc-relative calls.
10976 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
10977 slot usage and exposure, various new call variants, and shortened
10978 sequences for some variants on TARGET_PA_20.
10979 Miscellaneous format changes.
10980 * pa.h (total_code_bytes): Change type to long.
10981 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
10982 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
10983 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
10984 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
10985 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
10986 stores on TARGET_ELF32.
10987 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
10988 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
10989 canonicalize_funcptr_for_compare expanders): Calculate attribute length
10990 attr_length_millicode_call().
10991 (call_internal_symref, call_value_internal_symref): Clobber register 1.
10992 Calculate attribute length using attr_length_call().
10993 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
10994 to delay slot.
10995 (sibcall, sibcall_value): Rewrite.
10996 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
10997 register 1. Use attr_length_call().
10998 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
10999 New patterns.
11000 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
11001 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
11002 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
11003 * doc/invoke.texi (mlong-calls): Document.
11004
11005 2002-10-30 Roger Sayle <roger@eyesopen.com>
11006
11007 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
11008 handling of cases where one or both branches of the conditional
11009 have void type, i.e. throw an exception or don't return.
11010 (fold): Only apply (and undo) type conversion to the non-void
11011 branches of a COND_EXPR.
11012
11013 2002-10-30 Mark Mitchell <mark@codesourcery.com>
11014
11015 PR c++/8333
11016 * varasm.c (asm_output_aligned_bss): Do not call
11017 ASM_GLOBALIZE_LABEL.
11018
11019 2002-10-30 David Edelsohn <edelsohn@gnu.org>
11020 Torbjorn Granlund <tege@swox.com>
11021
11022 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
11023 for addressibility.
11024 (load_toc_v4_PIC_1b): Same.
11025
11026 2002-10-30 Kazu Hirata <kazu@cs.umass.edu>
11027
11028 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
11029 Truncate the addresses for H8/300 using HImode.
11030
11031 Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
11032
11033 * i386.md (negdf splitter): Fix construction of the constant.
11034
11035 Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
11036
11037 * i386.md (negsf, negdf): Reorganize to use vector modes
11038 for SSE variants.
11039 (abssf, absdf): Use force_reg.
11040 (movv4sf, movv2df): New splitters.
11041 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
11042 * i386.c (zero_extended_scalar_load_operand
11043
11044 * i386-protos.h (ix86_expand_call): Update prototype.
11045 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
11046 (ix86_expand_call): Use r11 for indirect sibcalls.
11047 * i386.md (call, call_value, untyped_call, call_value_pop):
11048 update x86_expand_call call.
11049 (sibcall, sibcall_value): new patterns
11050 (call_rex64, call_value_rex64): Do not accept sibcalls.
11051 (sibcall_rex64, sibcall_value_rex64,
11052 sibcall_rex64_v, sibcall_value_rex64_v): New.
11053
11054 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
11055
11056 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
11057 before final pass.
11058
11059 2002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
11060
11061 * toplev.c (rest_of_type_compilation): Return early in case of
11062 errors.
11063 (check_global_declarations): Don't call debug_hooks->global_decl
11064 in case of errors.
11065
11066 2002-10-28 Andreas Bauer <baueran@in.tum.de>
11067
11068 * doc/c-tree.texi (Tree overview): Fix typos.
11069
11070 2002-10-29 Phil Edwards <pme@gcc.gnu.org>
11071
11072 * Makefile.in (gnucompare*): Only record bad comparisons
11073 if there really was a bad comparison.
11074
11075 Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
11076
11077 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
11078 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
11079 * md.texi (machine dependent constraints): Document 'C'
11080
11081 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
11082
11083 * i386.c (ix86_expand_vector_move): Fix.
11084
11085 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
11086 * i386.md (sse2_maskmovdqu_rex64): New pattern
11087
11088 PR target/8322
11089 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
11090 (ix86_init_mmx_sse_builtins): Fix type.
11091
11092 2002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
11093
11094 * gthr-posix.h: Include <unistd.h> for feature tests.
11095 (sched_get_priority_max, sched_get_priority_min)
11096 (pthread_getschedparam, pthread_setschedparam): Only use
11097 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
11098 (__gthread_objc_thread_set_priority): Don't treat all nonzero
11099 returns from sched_get_priority_max and sched_get_priority_min
11100 as an error.
11101
11102 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
11103
11104 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
11105 MASK_QUICKCALL.
11106
11107 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
11108
11109 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
11110 (h8300_tiny_constant_address_p): Likewise.
11111 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
11112 h8300_eightbit_constant_address_p.
11113 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
11114 * config/h8300/h8300-protos.h: Add the prototypes for the two
11115 new functions.
11116
11117 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
11118
11119 * reload1.c (update_eliminables): Unconditionally check if
11120 frame_pointer_needed has changed.
11121
11122 Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
11123
11124 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
11125 before final pass.
11126
11127 2002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
11128
11129 PR optimization/8334
11130 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
11131 check for zero operands explicitly.
11132
11133 2002-10-29 Richard Sandiford <rsandifo@redhat.com>
11134
11135 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
11136 memory after adjusting to BLKmode.
11137
11138 2002-10-29 Kazu Hirata <kazu@cs.umass.edu>
11139
11140 * config/h8300/h8300.h (MASK_*): New.
11141 (TARGET_*): Use MASK_*.
11142
11143 2002-10-28 Zack Weinberg <zack@codesourcery.com>
11144
11145 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
11146 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
11147 config/rs6000/vxworks.h: New files.
11148 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
11149
11150 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
11151 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
11152 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
11153 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
11154 sparc-*-vxsim*): Delete stanzas.
11155 * gthr-vxworks.h: Rip out all substantive code and just
11156 include gthr-single.h.
11157
11158 * config/alpha/vxworks.h, config/arm/vxarm.h,
11159 config/i386/vxi386.h, config/i960/t-vxworks960,
11160 config/i960/vx960-coff.h, config/i960/vx960.h,
11161 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
11162 config/mips/vxworks.h, config/rs6000/vxppc.h,
11163 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
11164 config/sparc/vxsim.h, config/sparc/vxsparc.h,
11165 config/sparc/vxsparc64.h: Delete files.
11166
11167 2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
11168
11169 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
11170 tm_defines if pthreads are enabled.
11171 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
11172 if NETBSD_ENABLE_PTHREADS is defined.
11173
11174 2002-10-28 Kazu Hirata <kazu@cs.umass.edu>
11175
11176 * ChangeLog.1: Fix typos.
11177 * cse.c: Fix a comment typo.
11178 * reload1.c: Likewise.
11179
11180 2002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
11181
11182 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
11183 * fixinc/tests/base/_G_config.h: New file.
11184
11185 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
11186
11187 * combine.c: Fix comment formatting.
11188 * loop.c: Likewise.
11189 * real.c: Likewise.
11190 * regclass.c: Likewise.
11191 * regmove.c: Likewise.
11192 * regrename.c: Likewise.
11193 * reg-stack.c: Likewise.
11194 * reload1.c: Likewise.
11195 * reload.c: Likewise.
11196 * reload.h: Likewise.
11197 * unroll.c: Likewise.
11198
11199 2002-10-27 Kazu Hirata <kazu@cs.umass.edu>
11200
11201 * reload1.c (reload): Fix a comment typo.
11202
11203 Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
11204
11205 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
11206
11207 2002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11208
11209 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
11210 * dwarf2out.c: Include hashtab.h.
11211 (is_main_source): New static variable.
11212 (attr_checksum, die_checksum): Modified to handle die references.
11213 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
11214 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
11215 record_comdat_symbol_number): New static functions.
11216 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
11217 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
11218 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
11219 declarations added.
11220
11221 2002-10-26 Kazu Hirata <kazu@cs.umass.edu>
11222
11223 * config/h8300/h8300.c (initial_offset): Change to
11224 h8300_initial_elimination_offset.
11225 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
11226 h8300_initial_elimination_offset.
11227 * config/h8300/h8300-protos.h: Update the prototype.
11228
11229 2002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
11230
11231 * config/mmix/mmix.h (LIBCALL_VALUE): Use
11232 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
11233 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
11234 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
11235 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
11236 and RTX_CODE.
11237 (mmix_function_value_regno_p): Declare.
11238
11239 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
11240 invalid for floating point mode result, with fix.
11241
11242 Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
11243
11244 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
11245 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
11246 (stage1_build): Likewise.
11247
11248 2002-10-25 Mike Stump <mrs@apple.com>
11249
11250 Fixes gcc.dg/warn-1.c.
11251 * c-typeck.c (warn_for_assignment): Don't print argument number,
11252 if zero.
11253
11254 Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
11255
11256 * toplev.c (dump_file_index): Add DFI_ce3.
11257 (dump_file_info): Likewise.
11258 (rest_of_compilation): Run first ifcvt pass before tracer.
11259
11260 2002-10-25 Steve Ellcey <sje@cup.hp.com>
11261
11262 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
11263
11264 2002-10-25 Richard Henderson <rth@redhat.com>
11265
11266 * real.c (real_to_decimal): If the >1 tens reduction loop results
11267 in a negative exponent, fall into the <1 pten computation.
11268
11269 2002-10-25 Zack Weinberg <zack@codesourcery.com>
11270
11271 PR middle-end/6994
11272 * c-objc-common.c (inline_forbidden_p): Can not inline
11273 functions containing structures or unions containing VLAs.
11274 * tree-inline.c (walk_tree): For all class 't' nodes, walk
11275 TYPE_SIZE and TYPE_SIZE_UNIT.
11276 (copy_tree_r): Copy types if they are variably modified.
11277
11278 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
11279
11280 * config/s390/s390.md: Remove old-style peepholes.
11281
11282 2002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
11283
11284 * config/s390/s390.c (s390_decompose_address): Do not range check the
11285 displacement if base or index is the argument pointer register.
11286
11287 2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
11288
11289 PR other/3337
11290 PR bootstrap/6763
11291 PR bootstrap/8122
11292 * fixinc/inclhack.def (libc1_G_va_list): New fix.
11293 * fixinc/fixincl.x: Regenerate.
11294 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
11295 ifndef IN_LIBGCC2. Wrap it together with signal.h and
11296 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
11297 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
11298 * config.in, configure: Regenerate.
11299
11300 2002-10-24 Igor Shevlyakov <igor@microunity.com>
11301
11302 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
11303
11304 2002-10-24 Richard Henderson <rth@redhat.com>
11305
11306 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
11307
11308 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
11309
11310 * config/h8300/h8300.c (initial_offset): Simplify by using
11311 round_frame_size.
11312
11313 2002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
11314
11315 * doc/install.texi (avr): Update required binutils version.
11316
11317 2002-10-24 Theodore A. Roth <troth@openavr.org>
11318
11319 * doc/install.texi: Point avr users at more up-to-date information.
11320
11321 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
11322
11323 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
11324 to pull operands out of the literal pool where possible.
11325
11326 2002-10-24 Denis Chertykov <denisc@overta.ru>
11327
11328 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
11329
11330 2002-10-24 Steve Ellcey <sje@cup.hp.com>
11331
11332 * expr.c (convert_move): If unsignedp is less then zero there
11333 is no equivalent code.
11334
11335 2002-10-24 Zack Weinberg <zack@codesourcery.com>
11336
11337 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
11338
11339 2002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
11340
11341 * config/s390/s390.h: Rework comments; re-sort target macro definitions
11342 according to the sequence they are defined in the manual.
11343 (POINTER_BOUNDARY): Remove.
11344
11345 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
11346
11347 * config/h8300/h8300.c (round_frame_size): Replace 8 with
11348 BITS_PER_UNIT.
11349
11350 2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
11351
11352 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
11353 64-bit safe.
11354 (TINY_CONSTANT_ADDRESS_P): Likewise.
11355
11356 2002-10-24 Richard Henderson <rth@redhat.com>
11357
11358 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
11359 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
11360 vcall offset.
11361
11362 2002-10-24 Richard Henderson <rth@redhat.com>
11363
11364 PR opt/7944
11365 * reload.c (find_reloads_toplev): Mode of X is not important
11366 when simplifying subregs of constants.
11367
11368 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
11369
11370 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
11371 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
11372 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
11373 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
11374 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
11375
11376 2002-10-24 Richard Sandiford <rsandifo@redhat.com>
11377
11378 * optabs.c (expand_binop): Don't reuse the shift target in the
11379 middle of shift sequences.
11380
11381 Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
11382
11383 * i386.md (abs splitters): Do not produce nested subregs.
11384
11385 Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
11386
11387 * i386.md (movti_rex64): Fix constraints.
11388
11389 Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
11390
11391 * i386.md (abssf,absdf): Use vector operands for SSE
11392 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
11393 vector operand.
11394
11395 2002-10-23 Ziemowit Laski <zlaski@apple.com>
11396
11397 * objc/objc-act.c (get_static_reference): Remove unneeded
11398 TYPE_BINFO initialization.
11399 (get_object-reference): Likewise.
11400 (build_constructor): Tighten precondition check.
11401 (finish_message_expr): Likewise.
11402
11403 2002-10-23 Jakub Jelinek <jakub@redhat.com>
11404
11405 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
11406 after CONST test.
11407
11408 2002-10-23 Steve Ellcey <sje@cup.hp.com>
11409
11410 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
11411 in HFAs.
11412
11413 2002-10-23 Richard Henderson <rth@redhat.com>
11414
11415 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
11416 (alpha_output_mi_thunk_osf): Handle vcall_offset.
11417
11418 2002-10-23 Zack Weinberg <zack@codesourcery.com>
11419
11420 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
11421 var_mod_type_p.
11422 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
11423 hook_tree_bool_false.
11424
11425 * tree.c (variably_modified_type_p): Moved here from
11426 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
11427 language-specific cases. Due to this, must weaken some 'if
11428 and only if' checks to merely 'if'.
11429 * tree.h: Prototype variably_modified_type_p.
11430
11431 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
11432
11433 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
11434
11435 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
11436 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
11437
11438 * config/s390/s390-protos.h (fp_operand): Remove.
11439 * config/s390/s390.c (fp_operand): Remove.
11440 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
11441 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
11442 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
11443 (movdi_31, movdf_31 splitters): Likewise.
11444
11445 * config/s390/s390.h (IEEE_FLOAT): Remove.
11446 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
11447 (INT_REGNO_P): Rename to ...
11448 (GENERAL_REGNO_P): ... this.
11449 (FLOAT_REGNO_P): Rename to ...
11450 (FP_REGNO_P): ... this.
11451 (ADDR_REGNO_P): New macro.
11452 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
11453 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
11454 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
11455 (HARD_REGNO_NREGS): Adapt to macro renaming.
11456 (HARD_REGNO_MODE_OK): Likewise.
11457
11458 2002-10-23 David Edelsohn <edelsohn@gnu.org>
11459 Geoff Keating <geoffk@apple.com>
11460
11461 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
11462 (rs6000_memory_move_cost): New function.
11463 * config/rs6000/rs6000-protos.h: Declare them.
11464 * config/rs6000/rs6000.h: Use them.
11465
11466 2002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
11467
11468 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
11469 inlining it into other libgcc2 routines.
11470 (__udivmoddi4): Likewise.
11471
11472 2002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
11473
11474 * doc/sourcebuild.texi (Test Suites): Improve.
11475
11476 2002-10-22 Stan Shebs <shebs@apple.com>
11477
11478 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
11479 case for Darwin.
11480
11481 2002-10-22 Jim Wilson <wilson@redhat.com>
11482
11483 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
11484
11485 Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
11486
11487 PR other/8289
11488 * xmmintrin.h: Add const to the argument of loads.
11489
11490 * i386.md (pushv2di): New pattern.
11491 PR target/6890
11492 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
11493
11494 2002-10-22 Richard Henderson <rth@redhat.com>
11495
11496 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
11497 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
11498 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
11499 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
11500 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11501 (TARGET_ASM_OUT): Update.
11502 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
11503 (hook_bool_tree_hwi_hwi_tree_true): New.
11504 (default_can_output_mi_thunk_no_vcall): New.
11505 * hooks.h: Declare them.
11506 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
11507
11508 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11509 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
11510 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
11511 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
11512 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
11513 config/stormy16/stormy16.c: Similarly.
11514
11515 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
11516 Handle 64-bit properly. Streamline.
11517 (x86_output_mi_vcall_thunk): Remove.
11518 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
11519 (x86_can_output_mi_thunk): New.
11520 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
11521 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11522 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
11523
11524 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
11525 output_mi_thunk; make static; always use function_section.
11526 (TARGET_ASM_OUTPUT_MI_THUNK): New.
11527 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11528 (rs6000_ra_ever_killed): Test no_new_pseudos not
11529 targetm.asm_out.output_mi_thunk in conjunction with thunks.
11530 * config/rs6000/rs6000-protos.h: Update.
11531 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
11532 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
11533 xcoffout_declare_function when using rs6000_output_mi_thunk.
11534
11535 * config/s390/s390.c (s390_output_mi_thunk): Rename from
11536 s390_output_mi_vcall_thunk.
11537 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
11538 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11539
11540 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
11541 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11542 * config/vax/vax-protos.h: Update.
11543 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
11544
11545 Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
11546
11547 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
11548 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
11549 * i386.md (movti_internal): Use 'C'
11550
11551 * xmmintrin.h (_mm_cmplt_epi*): New.
11552
11553 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
11554
11555 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
11556 ("*movdf_64"): Likewise.
11557 ("*lshrdi3_64"): Likewise.
11558 ("blockage"): Add length attribute.
11559 ("lit"): Likewise.
11560
11561 Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
11562
11563 * i386.md: FIx typo.
11564 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
11565 (sse2_umulv2siv2di3): Fix predicate.
11566 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
11567 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
11568 * xmmintrin.h (_mm_mul_epu16): Rename to...
11569 (_mm_mul_epu32): This one.
11570 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
11571
11572 (contains_128bit_aligned_vector_p): Undo accidental checkin.
11573
11574 2002-10-22 Eric Christopher <echristo@redhat.com>
11575
11576 * config/sparc/sparc.h: Add #error.
11577
11578 2002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
11579
11580 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
11581 [s390x-*-linux*]: Likewise.
11582 * config/s390/t-linux: Remove.
11583 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
11584
11585 Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
11586
11587 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
11588 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
11589 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
11590 * i386.md (mmx_punpck?dq): Simplify.
11591 (sse2_pubpcklqdq): Fix.
11592 (sse2_pubpckhqdq): New.
11593 * xmmintrin.h (_mm_unpackhi_epi32): New.
11594
11595 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
11596 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
11597
11598 2002-10-22 Nathan Sidwell <nathan@codesourcery.com>
11599
11600 PR c++/7209
11601 * fold_const.c (fold_binary_op_with_conditional_arg): Always
11602 build compound_expr if we used save_expr.
11603
11604 2002-10-22 Alan Modra <amodra@bigpond.net.au>
11605
11606 * output.h (SECTION_NOTYPE): Define.
11607 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
11608 init array sections.
11609 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
11610 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
11611 merge TLS support.
11612
11613 2002-10-21 Richard Henderson <rth@redhat.com>
11614
11615 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
11616 the function type, not the return type.
11617
11618 2002-10-21 Richard Henderson <rth@redhat.com>
11619
11620 * real.c (sticky_rshift_significand): Return inexact, don't
11621 or it in immediately.
11622 (sub_significands): Accept incomming carry.
11623 (div_significands, rtd_divmod): Update for sub_significands change.
11624 (round_for_format): Update for sticky_rshift_significand change.
11625 (do_add): Don't involve the inexact bit in addition, do give the
11626 inexact bit as the subtraction carry-in.
11627 (encode_internal, decode_internal, real_internal_format): New.
11628 * real.h (real_internal_format): Declare.
11629
11630 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
11631
11632 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
11633 don't define sdiv_qrnnd.
11634
11635 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
11636
11637 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
11638 using IN_RANGE.
11639 (TINY_CONSTANT_ADDRESS_P): Likewise.
11640
11641 Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
11642
11643 * i386.c (builtin_description): Add punpcklqdq and movdq2q
11644 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
11645 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
11646 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
11647 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
11648 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
11649 __builtin_ia32_setzero128.
11650 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
11651 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
11652 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
11653 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
11654 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
11655 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
11656 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
11657 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
11658 sse2_movq): New patterns.
11659 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
11660 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
11661 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
11662 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
11663 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
11664 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
11665 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
11666 (_mm_insert_epi16): Fix.
11667
11668 2002-10-21 Dale Johannesen <dalej@apple.com>
11669
11670 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
11671 unsafe math reversals correctly for RTL generation.
11672 (output_cbranch): Replace rs6000_reverse_condition call
11673 by its former definition.
11674
11675 2002-10-21 Jakub Jelinek <jakub@redhat.com>
11676
11677 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
11678 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
11679 from constant pool or LABEL_REFs as sign extended if allow_rip.
11680 Change all +-1GB limits to +-16MB.
11681 (x86_64_general_operand, x86_64_szext_general_operand,
11682 x86_64_nonmemory_operand, x86_64_movabs_operand,
11683 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
11684 legitimate_address_p, ix86_expand_int_movcc): Update callers.
11685 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
11686 in CM_SMALL_PIC model.
11687 (legitimate_pic_address_disp_p): Don't check offsets before
11688 calling local_symbolic_operand.
11689 (legitimize_pic_address): Force offsets bigger than +-16MB into
11690 register.
11691 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
11692 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
11693 prototype.
11694
11695 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
11696 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
11697 * configure: Rebuilt.
11698 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
11699 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
11700 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
11701 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
11702 -fpic.
11703 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
11704 non-pic code if TARGET_64BIT.
11705 (legitimize_address): Generate 64-bit TLS sequences.
11706 (output_pic_addr_const): Support x86-64 TLS operators.
11707 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
11708 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
11709 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
11710 (output_addr_const_extra): Support x86-64 TLS operators.
11711 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
11712 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
11713 unconditionally.
11714 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
11715 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
11716 (*tls_global_dynamic_sun): Renamed to...
11717 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
11718 (tls_global_dynamic): Renamed to...
11719 (tls_global_dynamic_32): ... this.
11720 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
11721 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
11722 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
11723 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
11724 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
11725 (tls_local_dynamic_base_dynamic): Renamed to...
11726 (tls_local_dynamic_base_dynamic_32): ... this.
11727 (tls_local_dynamic_base_dynamic_64,
11728 *tls_local_dynamic_base_dynamic_64): New.
11729 (*tls_local_dynamic_once): Renamed to...
11730 (*tls_local_dynamic_32_once): ... this.
11731
11732 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
11733
11734 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
11735 __divdi3, __umoddi3, or __moddi3.
11736
11737 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
11738
11739 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
11740 instead of just opt_index as switch expression.
11741
11742 * calls.c (store_one_arg): Change type of 'excess_align'
11743 to unsigned int.
11744
11745 * profile.c (output_gcov_string): Change type of 'temp'
11746 to size_t.
11747
11748 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
11749
11750 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
11751 (__fixunssfdi, __fixsfdi): Likewise.
11752 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
11753 (s390_single_qi): Likewise.
11754 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
11755 unsigned comparison warning.
11756 (s390_return_addr_rtx): New function.
11757 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
11758 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
11759 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
11760
11761 2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
11762
11763 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
11764 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
11765 (s390_output_mi_thunk): Remove.
11766 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
11767
11768 2002-10-21 Kazu Hirata <kazu@cs.umass.edu>
11769
11770 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
11771
11772 2002-10-20 Zack Weinberg <zack@codesourcery.com>
11773
11774 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
11775 inverted test in the conditional determining the possibility
11776 of sibcalls in PIC mode.
11777
11778 2002-10-20 Richard Henderson <rth@redhat.com>
11779
11780 * target.h (struct gcc_target): Line wrap.
11781
11782 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
11783 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
11784 * config/alpha/alpha.h: ... not here.
11785 * config/alpha/alpha-protos.h: Update.
11786
11787 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
11788 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
11789 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
11790 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
11791 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
11792 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
11793 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
11794 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
11795 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
11796 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
11797 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
11798 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
11799 config/sparc/sparc.c, config/sparc/sparc.h,
11800 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
11801 config/stormy16/stormy16.h: Similarly.
11802
11803 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
11804 selection logic from call patterns.
11805
11806 2002-10-20 Mark Mitchell <mark@codesourcery.com>
11807
11808 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
11809
11810 2002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11811
11812 PR other/8202
11813 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
11814 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
11815 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
11816 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
11817
11818 2002-10-20 Roger Sayle <roger@eyesopen.com>
11819
11820 PR c/761
11821 * toplev.c (flag_unsafe_profile_arcs): Remove.
11822 (flag_bounded_pointers): Remove.
11823 (flag_bounds_check): Correct comments.
11824 (lang_independent_options): Remove -funsafe-profile-arcs and
11825 -fbounded-pointers. Correct -fbounds-check comments.
11826
11827 * flags.h: Correct flag_schedule_interblock comments.
11828 (flag_bounded_pointers): Remove prototype.
11829 (flag_bounds_check): Correct comments.
11830
11831 * c-opts.c (c_common_init_options): No need to mark
11832 flag_bounds_check as unspecified.
11833 (c_common_post_options): And no need to set it from
11834 flag_bounded_pointers if its still unspecified.
11835
11836 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
11837 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
11838 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
11839 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
11840
11841 Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
11842 Angela Marie Thomas <angela@releasedominatrix.com>
11843 Brendan Kehoe <brendan@zen.org>
11844 Nick Clifton <nickc@redhat.com>
11845 Andrew Haley <aph@redhat.com>
11846
11847 * configure.in (--with-sysroot): New. Don't inhibit libc if
11848 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
11849 and CROSS_SYSTEM_HEADER_DIR.
11850 * configure: Rebuilt.
11851 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
11852 (TARGET_SYSTEM_ROOT): New.
11853 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
11854 CROSS_SYSTEM_HEADER_DIR.
11855 (install-gcc-tooldir): New target.
11856 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
11857 if SYSTEM_HEADER_DIR does not exist and it's not the default
11858 sys-include directory.
11859 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
11860 (install-mkheaders): Likewise.
11861 * gcc.c (target_system_root): New variable.
11862 (add_sysrooted_prefix): New function.
11863 (process_command): Recompute run-time target_system_root from
11864 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
11865 does not exist.
11866 (do_spec_1): Process 'R' spec.
11867 (main): Add md_exec_prefix to exec_prefixes regardless of
11868 startfile_prefix_spec. Use add_sysrooted_prefix for
11869 startfile_prefixes, and don't skip the default ones when cross
11870 compiling with sysroot enabled. Removed unused case of
11871 non-absolute standard_startfile_prefix.
11872 * config/interix.h: Remove the only potential, yet disabled,
11873 occurrence of non-absolute (empty) standard_startfile_prefix.
11874 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
11875 linking.
11876 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
11877 * doc/install.texi (--with-sysroot): Document.
11878 (--with-headers, --with-libs): Deprecate.
11879
11880 2002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11881 Mark Mitchell <mark@codesourcery.com>
11882
11883 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
11884 match target.h.
11885 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
11886 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
11887 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
11888 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
11889 x86_output_mi_thunk): Likewise.
11890 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
11891 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
11892 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
11893 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
11894 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
11895 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
11896 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
11897 Likewise.
11898 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
11899
11900 * target.h (gcc_target): Update output_mi_thunk and
11901 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
11902 vcall_index.
11903
11904 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
11905 TARGET_ASM_OUTPUT_MI_THUNK in comments.
11906 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
11907 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
11908 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
11909 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
11910 signature.
11911 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
11912 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
11913 TARGET_ASM_OUTPUT_MI_THUNK in comments.
11914 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
11915 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
11916 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
11917 TARGET_ASM_OUTPUT_MI_THUNK in comments.
11918 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
11919 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
11920
11921 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
11922 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
11923
11924 2002-10-19 Brad Lucier <lucier@math.purdue.edu>
11925
11926 * real.c (do_add): Fix 0+0 sign corner case.
11927 (do_divide): Fix Inf/0 corner case.
11928
11929 Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
11930
11931 * i386.c (classify_argument): Pass MMX arguments in memory
11932 (ix86_expand_builtin): Expand proper address mode for cflush.
11933 * i386.md (movdqa): Fix typo.
11934 (sse2_cflush): Accept DImode addresses.
11935
11936 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
11937 (_mm_max_sd): Fix pasto.
11938 (_mm_storeh_pd, _mm_storel_pd): Fix.
11939
11940 * i386.c (bdesc_comi): Fix to match specification.
11941 (ix86_expand_sse_comi): Emit the comparison properly.
11942 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
11943 Do not use comparison operator.
11944 (vnmaskcmp): Fix template.
11945
11946 * xmmintrin.h (_mm_cvtps_pi16): Fix.
11947
11948 2002-10-19 Sebastian Pop <s.pop@laposte.net>
11949
11950 * dependence.c : Removed.
11951 * Makefile.in : Remove dependence.o.
11952
11953 Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
11954
11955 * mmintrin.h (__m64): typedef it to v2si.
11956 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
11957 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
11958 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
11959 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
11960 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
11961 * xmmintrin.h (_mm_setzero_si64): Likewise.
11962
11963 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
11964 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
11965
11966 PR target/7693
11967 Patch by Shawn Wagner
11968 * mmintrin.h: Replace pi64 by si64.
11969
11970 2002-10-18 David Edelsohn <edelsohn@gnu.org>
11971
11972 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
11973 Use length of 4 not *.
11974 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
11975 (movdf_softfloat64): Likewise.
11976 (movdi_internal32): Use length of 4 not *.
11977 (movti_power): Same.
11978 (ctrsi, ctrdi): Same.
11979
11980 2002-10-18 Zack Weinberg <zack@codesourcery.com>
11981
11982 * c-decl.c (start_decl): Point users of the old initialized-
11983 typedef extension at __typeof__.
11984
11985 2002-10-18 Richard Henderson <rth@redhat.com>
11986
11987 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
11988 (real_to_decimal): Re-implement using the logic from the
11989 gcc 3.2 etoasc. Comment heavily.
11990 (div_significands): Simplify loop startup and comparison logic.
11991
11992 2002-10-18 Mark Mitchell <mark@codesourcery.com>
11993
11994 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
11995 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
11996 (TARGET_ASM_OUT): Add them.
11997 * target.h (asm_out): Add output_mi_thunk and
11998 output_mi_vcall_thunk.
11999 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12000 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12001 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
12002 * config/arm/arm.c (arm_output_mi_thunk): Define.
12003 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12004 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12005 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12006 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12007 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12008 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12009 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
12010 prototype.
12011 (x86_output_mi_vcall_thunk): Declare.
12012 * config/i386/i386.c (override_options): Clear
12013 output_mi_vcall_thunk in 64-bit mode.
12014 (ix86_fntype_regparm): New function.
12015 (ix86_return_pops_args): Use it.
12016 (ia32_this_parameter): New function.
12017 (x86_output_mi_vcall_thunk): New function.
12018 (x86_output_mi_thunk): Use it
12019 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
12020 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
12021 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
12022 * config/i960/i960.c (i960_output_mi_thunk): New function.
12023 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
12024 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
12025 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
12026 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12027 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12028 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
12029 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12030 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12031 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12032 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12033 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12034 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12035 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12036 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12037 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12038 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12039 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
12040 * config/s390/s390.c (s390_output_mi_thunk): Define.
12041 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12042 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12043 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12044 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12045 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12046 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12047 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
12048 * config/vax/vax.c (vax_output_mi_thunk): Define.
12049 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12050 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12051 * doc/tm.texi: Adjust documentation.
12052
12053 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
12054
12055 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
12056 __enable_execute_stack function.
12057 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
12058 as NETBSD_ENABLE_EXECUTE_STACK.
12059 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12060 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12061 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12062 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12063 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12064
12065 2002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
12066
12067 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
12068 to __enable_execute_stack with the address of the trampoline
12069 if TRANSFER_FROM_TRAMPOLINE is defined.
12070 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
12071 constant if building libgcc2.
12072
12073 Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
12074
12075 * i386.c (pentium4_cost): Fix according to Intel recommendations.
12076 (ix86_memory_move_cost): Fix for 64bit compilation.
12077
12078 2002-10-17 Roger Sayle <roger@eyesopen.com>
12079
12080 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
12081
12082 2002-10-17 Geoffrey Keating <geoffk@apple.com>
12083
12084 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
12085 in CTR/LR/MQ.
12086 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
12087 to/from CTR/LR/MQ.
12088 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
12089 (movsf_softfloat): Likewise.
12090
12091 2002-10-17 Janis Johnson <janis187@us.ibm.com>
12092
12093 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
12094
12095 2002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
12096
12097 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
12098 tramp, not addr, to pass the trampoline address to
12099 __enable_execute_stack.
12100
12101 Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
12102
12103 * mmintrin.h: Guard by __MMX__
12104 * xmmintrin.h: Guard by __SSE__
12105
12106 PR other/8062
12107 * xmmintrin.h (_MM_SHUFFLE2): New macro.
12108 (_mm_load*_?d): New functions.
12109 (_mm_set*_?d): New functions.
12110 (_mm_store*_?d): New functions.
12111
12112 Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
12113
12114 Really commit patch announced at Oct 14
12115 PR c/7344
12116 * predict.c (can_predict_insn_p): New function.
12117 (estimate_probability): Avoid unnecesary work.
12118 (process_note_prediction): Likewise.
12119 * toplev.c (rest_of_compilation): Account early branch prediction pass
12120 as TV_BRANCH_PROB.
12121
12122 PR other/8048
12123 Found by Ian Ollmann
12124 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
12125 (_mm_load?_pd): Likewise.
12126 (_mm_store?_pd): Likewise.
12127
12128 PR target/7386
12129 * i386.c (builtin_description):Drop cmpg[te]s[sd].
12130 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
12131 swapped alternative.
12132
12133 PR opt/7630
12134 * reload1.c (reload_inner_reg_of_subreg): New argument output;
12135 (push_reload): Update call.
12136
12137 2002-10-17 Richard Sandiford <rsandifo@redhat.com>
12138
12139 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
12140 if using mips/elf.h or mips/elf64.h.
12141 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
12142 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
12143
12144 2002-10-16 Aldy Hernandez <aldyh@redhat.com>
12145
12146 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
12147 SI.
12148
12149 2002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
12150
12151 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
12152 (LPREFIX): Likewise.
12153 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
12154 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
12155 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
12156 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
12157 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
12158
12159 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
12160 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
12161 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
12162 BSS_SECTION_ASM_OP): Move from linux.h.
12163 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
12164 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
12165
12166 * config/s390/s390.c (s390_function_profiler): Use
12167 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
12168
12169 2002-10-15 Eric Christopher <echristo@redhat.com>
12170
12171 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
12172 * java/parse.y (obtain_incomplete_type): Make pointer
12173 ptr_mode.
12174
12175 2002-10-15 Richard Henderson <rth@redhat.com>
12176
12177 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
12178 as arguments. Bound DIGITS by the available buffer size.
12179 (real_to_hexadecimal): Likewise.
12180 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
12181 (REAL_VALUE_TO_DECIMAL): Remove.
12182 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
12183 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
12184 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
12185 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
12186 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
12187 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
12188 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
12189 use real_to_decimal directly, and with the proper arguments.
12190 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
12191
12192 2002-10-15 Jim Wilson <wilson@redhat.com>
12193
12194 * reload1.c (merge_assigned_reloads): After converting overlapping
12195 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
12196
12197 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
12198
12199 Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
12200
12201 * expr.c (do_tablejump): Fix typo in my previous commit.
12202
12203 2002-10-15 Richard Sandiford <rsandifo@redhat.com>
12204
12205 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
12206
12207 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
12208
12209 * config/s390/s390.c (s390_split_branches): Add return
12210 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
12211
12212 (find_base_register_in_addr): New function.
12213 (find_base_register_ref): New function.
12214 (replace_base_register_ref): New function.
12215
12216 (struct constant_pool): Add members pool_insn, insns, and anchor.
12217 Remove member last_insn.
12218 (s390_start_pool): Initialize them.
12219 (s390_end_pool): Emit pool placeholder insn.
12220 (s390_add_pool_insn): New function.
12221 (s390_find_pool): Use insns bitmap instead of addresses.
12222 (s390_dump_pool): Replace placeholder insn. Emit anchor.
12223 Replace unspec 104 by local-pool-relative references.
12224 (s390_output_constant_pool): Output anchor label if required.
12225 (s390_output_symbolic_const): Handle unspec 104 and 105.
12226 (s390_add_pool): Remove, replace by ...
12227 (s390_add_constant, s390_find_constant): ... these new functions.
12228 (s390_add_anchor): New function.
12229
12230 (s390_chunkify_pool): Delete, replace by ...
12231 (s390_chunkify_start, s390_chunkify_finish,
12232 s390_chunkify_cancel): ... these new functions.
12233 (s390_optimize_prolog): Add parameter TEMP_REGNO.
12234 Recompute register live data for special registers.
12235 (s390_fixup_clobbered_return_reg): New function.
12236 (s390_machine_dependent_reorg): Rewrite to use new
12237 s390_chunkify_... routines.
12238
12239 config/s390/s390.md ("reload_base"): Rename to ...
12240 ("reload_base_31"): ... this.
12241 ("reload_base_64"): New insn.
12242 ("reload_base2"): Remove.
12243 ("reload_anchor"): New insn.
12244 ("pool"): New insn.
12245
12246 s390.c (s390_pool_overflow): Remove.
12247 s390.h (s390_pool_overflow): Likewise.
12248 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
12249
12250 Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
12251
12252 * sh.md (movv8qi_i+2): Don't split if source is -1.
12253
12254 2002-10-15 Janis Johnson <janis187@us.ibm.com>
12255
12256 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
12257
12258 2002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
12259
12260 PR opt/7409
12261 * loop.c (loop_regs_scan): Mark registers used for function
12262 argument passing as MAY_NOT_OPTIMIZE.
12263
12264 Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
12265
12266 * gcov-io.h (gcov_info): Fix type.
12267 * profile.c (create_profiler): Fix type mismatch.
12268
12269 Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
12270
12271 * i386.md (movv2di_internal): New pattern.
12272 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
12273 (movv2di): New expander.
12274 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
12275
12276 * i386.c (ix86_expand_timode_binop_builtin): Delete.
12277 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
12278 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
12279 (ix86_expand_builtin): Likewise.
12280 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
12281 sse_andti3,
12282 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
12283 sse_andnti3,
12284 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
12285 sse_orti3,
12286 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
12287 sse_xorti3): Kill.
12288 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
12289 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
12290 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
12291 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
12292 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
12293 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
12294
12295 * xmmintrin.h (__m128i): Define as __v2di.
12296
12297 PR c++/6419
12298 (expand_expr): Use DECL_RTL_SET_P.
12299
12300 2002-10-14 Roger Sayle <roger@eyesopen.com>
12301
12302 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
12303
12304 2002-10-14 Roger Sayle <roger@eyesopen.com>
12305 Zack Weinberg <zack@codesourcery.com>
12306
12307 * config/i386/i386.c (k6_cost): Correct typo.
12308
12309 2002-10-14 Mark Mitchell <mark@codesourcery.com>
12310
12311 PR optimization/6631
12312 * alias.c (objects_must_conflict_p): Check honor_readonly when
12313 examining TYPE_READONLY.
12314 * function.c (assign_stack_temp_for_type): Likewise.
12315
12316 2002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
12317
12318 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
12319 Swap zero extension arguments.
12320 (umaxhi3): Fix instruction class.
12321 PR target/7211
12322 (prefetch): Fix prefetch instructions.
12323 PR target/7238
12324 (pkwb): Fix output constraint.
12325
12326 2002-10-14 Alexandre Oliva <aoliva@redhat.com>
12327
12328 * config/mips/mips.c (print_operand): Increase buffer size for
12329 real numbers.
12330
12331 2002-10-14 Richard Henderson <rth@redhat.com>
12332
12333 PR opt/8165
12334 * gcse.c (adjust_libcall_notes): Revert last change.
12335 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
12336
12337 2002-10-14 Andrew Haley <aph@redhat.com>
12338
12339 * tree-inline.c (remap_block): All local class initialization
12340 flags go in the outermost scope.
12341 (expand_call_inline): Call java_inlining_map_static_initializers.
12342 (expand_call_inline): Call java_inlining_merge_static_initializers.
12343 * java/lang.c (merge_init_test_initialization): New.
12344 (java_inlining_merge_static_initializers): New.
12345 (inline_init_test_initialization): New.
12346 (java_inlining_map_static_initializers): New.
12347
12348 * tree-inline.c (expand_call_inline): Convert retvar to expected
12349 type.
12350
12351 2002-10-14 Graham Stott <graham.stott@btinternet.com>
12352
12353 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
12354
12355 2002-10-14 Aldy Hernandez <aldyh@redhat.com>
12356
12357 * stmt.c: Fix typo in comment.
12358
12359 Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
12360
12361 * c-common.c (c_common_type_for_mode): Add V2HImode case.
12362 * tree.c (build_common_tree_nodes_2): Initialize
12363 unsigned_V2HI_type_node and V2HI_type_node.
12364 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
12365 (unsigned_V2HI_type_node, V2HI_type_node): Define.
12366
12367 2002-10-14 Jakub Jelinek <jakub@redhat.com>
12368
12369 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
12370 Handle TARGET_64BIT.
12371
12372 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
12373
12374 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
12375 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
12376 (MULTILIB_DIRNAMES): Remove long32.
12377 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
12378 (MULTILIB_REDUNDANT_DIRS): Remove.
12379
12380 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
12381
12382 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
12383 * gcc.c (driver_self_specs): New variable.
12384 (do_self_spec): New function.
12385 (main): Use it to process driver_self_specs.
12386
12387 2002-10-13 Richard Henderson <rth@redhat.com>
12388
12389 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
12390 indirect sibcalls when regparm >= 3.
12391
12392 * config/i386/i386.c (sibcall_insn_operand): New.
12393 * config/i386/i386.h (PREDICATE_CODES): Update.
12394 * config/i386/i386-protos.h: Update.
12395 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
12396
12397 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
12398
12399 2002-10-12 Roger Sayle <roger@eyesopen.com>
12400
12401 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
12402 arithmetic right shifts of ~0 during RTL simplifications.
12403
12404 2002-10-12 Neil Booth <neil@daikokuya.co.uk>
12405
12406 PR preprocessor/7862
12407 PR preprocessor/8190
12408 * gcc.c (cpp_unique_options): Don't delete .d files.
12409 Remove stray whitespace.
12410
12411 2002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
12412
12413 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
12414 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
12415 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
12416 (pdp11_output_function_epilogue, output_ascii): Likewise.
12417 (output_addr_const_pdp11): Likewise.
12418 * pdp11.md (movdi): Use offsetable memory for floating store.
12419 (lshrsi3, negsi2): Delete irrelevant comment.
12420
12421 2002-10-11 Andreas Bauer <baueran@in.tum.de>
12422
12423 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
12424 indirect calls to be sibcall optimized.
12425 * config/i386/i386.md (sibcall_1): New.
12426 (call_1): Add no-sibcalls condition.
12427 (sibcall_value_1): New.
12428 (call_value_1): Add no-sibcalls condition.
12429
12430 2002-10-11 Eric Christopher <echristo@redhat.com>
12431
12432 * output.h (default_valid_pointer_mode): Declare.
12433 * varasm.c (default_valid_pointer_mode): Define.
12434 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
12435 * target.h: Ditto.
12436 * tree.c (build_pointer_type_for_mode): New function.
12437 (build_pointer_type): Use.
12438 (build_reference_type_for_mode): New function.
12439 (build_reference_type): Use.
12440 * tree.h: Declare new functions.
12441 * c-common.c (handle_mode_attribute): Use new functions, check
12442 for type.
12443 * stor-layout.c (layout_type): Depend on machine mode for
12444 REFERENCE_TYPE and POINTER_TYPE.
12445 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
12446 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
12447 and REFERENCE_TYPE.
12448 * config/mips/mips.c (mips_valid_pointer_mode): New function.
12449 (TARGET_VALID_POINTER_MODE): Use and define.
12450 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
12451
12452 2002-10-11 Geoffrey Keating <geoffk@apple.com>
12453
12454 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
12455 not the address of the REG.
12456 (struct cse_reg_info): Make subreg_ticked unsigned.
12457
12458 2002-10-11 Janis Johnson <janis187@us.ibm.com>
12459
12460 * doc/compat.texi: Add info about C++ libraries.
12461
12462 2002-10-11 Richard Henderson <rth@redhat.com>
12463
12464 PR opt/8165
12465 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
12466
12467 2002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
12468
12469 * cfganal.c (dfs_enumerate_from): Use PARAMS.
12470 * genautomata.c (output_insn_code_cases): Likewise.
12471 * real.c (real_format): Likewise.
12472 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
12473 ensure value is promoted before doing subtraction.
12474
12475 Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
12476
12477 * calls.c (expand_call): Simplify noreturn call.
12478
12479 PR c/7344
12480 * cfgbuild.c (make_edges): Create edge cache when we do have
12481 large jumptable.
12482 * expr.c (do_tablejump): Note size of maximal jumptable.
12483 * function.c (prepare_function_start): Zero out size.
12484 * function.h (function): Add max_jumptable_ents.
12485
12486 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
12487
12488 Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
12489
12490 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
12491 register for mperm_w operation.
12492
12493 Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
12494
12495 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
12496 an integer, use simplify_gen_subreg.
12497
12498 2002-10-10 Diego Novillo <dnovillo@redhat.com>
12499
12500 * calls.c (flags_from_decl_or_type): Make extern.
12501 (ECF_*): Move ...
12502 * rtl.h (ECF_*): ... here.
12503 (flags_from_decl_or_type): Declare.
12504
12505 2002-10-10 Roger Sayle <roger@eyesopen.com>
12506 Nathan Sidwell <nathan@codesourcery.com>
12507
12508 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
12509 shifts of the form -1 >> x.
12510
12511 Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
12512
12513 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
12514
12515 2002-10-10 Aldy Hernandez <aldyh@redhat.com>
12516
12517 * extend.texi (Vector Extensions): Remove comment about single
12518 element vectors.
12519
12520 2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12521
12522 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
12523 * function.c (insns_for_mem_hash): Likewise.
12524 * varasm.c (STRHASH): Likewise.
12525
12526 2002-10-10 Stuart Hastings <stuart@apple.com>
12527
12528 * cse.c (struct cse_reg_info): Add subreg_ticked.
12529 (SUBREG_TICKED): New.
12530 (get_cse_reg_info): Initialize SUBREG_TICKED.
12531 (mention_regs): Use it.
12532 (invalidate): Set SUBREG_TICKED.
12533 (invalidate_for_call): Likewise.
12534 (addr_affects_sp_p): Likewise.
12535
12536 2002-10-10 Jakub Jelinek <jakub@redhat.com>
12537
12538 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
12539 into proper operand.
12540
12541 2002-10-10 Denis Chertykov <denisc@overta.ru>
12542
12543 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
12544 deallocation.
12545 * config/ip2k/libgcc.S: Combine routines used by function
12546 epilogue.
12547
12548 2002-10-10 Jim Wilson <wilson@redhat.com>
12549
12550 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
12551 UDIV.
12552
12553 2002-10-10 David Edelsohn <edelsohn@gnu.org>
12554
12555 * config/rs6000/aix52.h: New file.
12556 * config/rs6000/t-aix52: New File.
12557 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
12558 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
12559
12560 Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
12561
12562 PR target/5610
12563 * invoke.texi (-msse-math): Kill
12564 (-msse): Add note to mfpmath=sse.
12565
12566 Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
12567
12568 PR target/7723
12569 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
12570
12571 2002-10-10 Neil Booth <neil@daikokuya.co.uk>
12572
12573 PR preprocessor/8179
12574 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
12575 as cc1_options.
12576 (default_compilers): Pass debug options when preprocessing
12577 stdin.
12578
12579 2002-10-06 Richard Henderson <rth@redhat.com>
12580
12581 * toplev.c (rest_of_compilation): Revert opt/2960 change.
12582
12583 Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
12584
12585 * i386.c (*_cost): Add branch costs.
12586 (override_options): set ix86_branch_cost.
12587 (ix86_expand_int_movcc): Use BRANCH_COST.
12588 * i386.h (costs): Add branch_cost.
12589
12590 2002-10-09 Zack Weinberg <zack@codesourcery.com>
12591
12592 PR c/7353
12593 * c-decl.c (start_decl): Unconditionally issue error for
12594 'typedef foo = bar'.
12595 (finish_decl): Remove special case for TYPE_DECL with initializer.
12596
12597 * doc/extend.texi: Delete "Naming Types" section. Change all
12598 cross-references to that section to refer to "Typeof" instead.
12599 Add the useful safe-max()-macro example from "Naming Types" to
12600 "Typeof", rewritten using that extension. Add some compatibility
12601 notes to "Typeof."
12602
12603 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12604
12605 * loop.c: Revert 2002-08-15 change.
12606 (LOOP_REGNO_NREGS): Ensure type is int.
12607
12608 2002-10-09 David Edelsohn <edelsohn@gnu.org>
12609
12610 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
12611 which copies first FPR and clears second.
12612 (extendsftf2): Same.
12613 (floatditf2): Fix typo.
12614 (floatsitf2): Same.
12615 (fix_trunctfdi2): Same.
12616 (fix_trunctfsi2): Same.
12617
12618 2002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12619
12620 * conflict.c (arc_hash): Change return type to hashval_t.
12621 * cselib.c (get_value_hash): Likewise.
12622 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
12623 state_hash, automata_list_hash): Likewise.
12624 * read-rtl.c (def_hash): Likewise.
12625 * tree.c (type_hash_hash): Likewise.
12626
12627 2002-10-08 Aldy Hernandez <aldyh@redhat.com>
12628
12629 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
12630 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
12631
12632 Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
12633
12634 * sh.md (ffssi2): Fix emitted code.
12635
12636 2002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
12637
12638 * cse.c (insn_live_p): Pass insn pattern, not full insn
12639 to may_trap_p.
12640
12641 2002-10-09 Neil Booth <neil@daikokuya.co.uk>
12642
12643 * cppmacro.c (paste_tokens): Only allow / to paste with =.
12644
12645 2002-10-09 David Edelsohn <edelsohn@gnu.org>
12646
12647 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
12648 64-bit hosts.
12649 (movtf_internal): Reference correct displacement for second value
12650 in memory.
12651 (movtf splitter): Correct generation of constants in 64-bit mode.
12652
12653 2002-10-09 Alan Modra <amodra@bigpond.net.au>
12654
12655 * libgcc2.c (__floatdisf): Properly cure double rounding.
12656
12657 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
12658
12659 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
12660 * doc/cpp.texi (Common Predefined Macros): Document.
12661
12662 2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
12663
12664 PR doc/7484
12665 * doc/invoke.texi (Option Summary): List
12666 -Wmissing-declarations as a C only option.
12667
12668 2002-10-08 Roger Sayle <roger@eyesopen.com>
12669
12670 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
12671 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
12672 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
12673
12674 Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
12675
12676 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
12677 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
12678 variables.
12679 (safe_vector_operand): Update sse_clrv4sf call.
12680 (ix86_expand_buildin): Likewise
12681 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
12682 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
12683 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
12684 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
12685 macros.
12686 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
12687 movv4si): Obey the new flags.
12688 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
12689 reformating penalty.
12690 (anddf, cmov patterns): Avoid reformating by first converting.
12691 (sse_cvtsd2ss): Fix predicate.
12692 (sse2_clrti): Fix mode,
12693 (sse_clrv4sf): Avoid unspec.
12694
12695 2002-10-08 Jakub Jelinek <jakub@redhat.com>
12696
12697 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
12698 mno-app-regs|mcmodel=medany.
12699 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
12700 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
12701 (CRTSTUFF_T_CFLAGS): Define.
12702
12703 2002-10-08 Roger Sayle <roger@eyesopen.com>
12704
12705 PR target/8087
12706 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
12707 pool references that are constructed using LO_SUM.
12708
12709 2002-10-08 Nathan Sidwell <nathan@codesourcery.com>
12710
12711 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
12712 -Wall.
12713 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
12714 message.
12715 * flags.h (warn_strict_aliasing): Declare.
12716 * toplev.c (warn_strict_aliasing): Define.
12717 (lang_independent_options): Add it.
12718 * doc/invoke.texi (-Wstrict-aliasing): Document it.
12719
12720 2002-10-08 Zack Weinberg <zack@codesourcery.com>
12721
12722 * system.h (GCCBUGURL): Delete.
12723 * version.c (bug_report_url): New. Add commentary about
12724 modifying both these strings in modified distributions.
12725 * version.h: Declare bug_report_url.
12726
12727 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
12728 bug_report_url.
12729
12730 2002-10-08 Nick Clifton <nickc@redhat.com>
12731
12732 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
12733 convert uint64_t into __ev64_opaque__.
12734 (__ev_set_acc_s64): Likewise, but using signed types.
12735
12736 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
12737
12738 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
12739 ("*doloop_di_long"): Likewise.
12740
12741 Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
12742
12743 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
12744
12745 2002-10-08 Richard Sandiford <rsandifo@redhat.com>
12746
12747 * config/mips/mips.md (define_attr cpu): Add r4111.
12748
12749 2002-10-08 Anthony Green <green@redhat.com>
12750
12751 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
12752
12753 2002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12754
12755 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
12756 for REAL_VALUE_TO_DECIMAL output.
12757
12758 2002-10-07 Richard Henderson <rth@redhat.com>
12759
12760 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
12761 function; cleanup PLUS case by using recursion. Update all users.
12762 (NONZERO_BASE_PLUS_P): Remove.
12763 (find_comparison_args): Use rtx_addr_can_trap_p instead.
12764 (fold_rtx): Use nonzero_address_p.
12765 * rtl.h (nonzero_address_p): Declare.
12766 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
12767 (rtx_addr_can_trap_p): Likewise.
12768 (nonzero_address_p): New.
12769 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
12770 (simplify_relational_operation): Use nonzero_address_p.
12771
12772 2002-10-07 David Edelsohn <edelsohn@gnu.org>
12773
12774 * config/rs6000/rs6000.c (rs6000_override_options): Set
12775 real_format_for_mode for IBM extended format, if enabled.
12776 (easy_fp_constant): Add TFmode.
12777 (rs6000_legitimize_address): Add TFmode.
12778 (rs6000_legitimate_address): Same.
12779 (function_arg_advance): TFmode uses two FPRs.
12780 (rs6000_emit_prologue): Fix warning.
12781 (rs6000_output_function_epilogue): Add TFmode.
12782 (output_toc): Add TFmode.
12783 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
12784 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
12785 * rs6000.md (movtf splitter): Load TFmode constant.
12786
12787 2002-10-07 Dale Johannesen <dalej@apple.com>
12788
12789 * rtl.h: Add NOTE_PRECONDITIONED.
12790 * unroll.c: Set it.
12791 * loop.c: Set loop_info->preconditioned from it.
12792 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
12793
12794 2002-10-07 Richard Henderson <rth@redhat.com>
12795
12796 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
12797 new rtx for comparing the argument pointer against zero.
12798 (i960_va_start): Similarly.
12799
12800 2002-10-07 Richard Henderson <rth@redhat.com>
12801
12802 * config/i960/i960.md (*): Use TFmode, not XFmode.
12803 * config/i960/i960.c (*): Likewise.
12804 (i960_arg_size_and_align): Remove XFmode alignment hack.
12805 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
12806 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
12807 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
12808 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
12809
12810 2002-10-07 Richard Henderson <rth@redhat.com>
12811
12812 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
12813 entry points; use void return value and argument list.
12814
12815 2002-10-06 Andreas Bauer <baueran@in.tum.de>
12816
12817 * calls.c (expand_call): Fix function-is-volatile check.
12818
12819 2002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
12820
12821 * t-pdp11: Add MULTILIB support for msoft-float.
12822 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
12823
12824 * t-pdp11: Add LIB2FUNCS_EXTRA.
12825 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
12826 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
12827 'fldd' to 'ldd', rename 'fstd' to 'std'.
12828 (pdp11_output_function_epilogue): Likewise.
12829 (output_move_quad): Make the comment gas compatible.
12830 (output_ascii): Add preceding 0 to the octal constant.
12831 (print_operand_address): Add pre_modify, post_modify.
12832 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
12833 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
12834 with the indication of Paul Koning.
12835 (PRINT_OPERAND): Fix floating constant.
12836 * pdp11.md (movdi): Restrict matching pattern.
12837 (movqi): Generalize the matching pattern.
12838 (movdf): Restrict matching pattern.
12839 (zero_extendqihi2): Change constant representation.
12840 (floatsidf2): Fix wrong operands.
12841 (addqi3): Fix wrong instruction name.
12842 (subqi3): Fix wrong instruction name.
12843 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
12844 (xorsi3): Fix wrong insn.
12845 (one_cmplqi2): Add two operand pattern.
12846 (lsrsi3): New.
12847 (negsi2): New.
12848 (call): Add register indirect case.
12849 (mod): Fix wrong subreg.
12850
12851 2002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
12852 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12853
12854 PR c/7411
12855 * expr.c (expand_expr) [PLUS]: Simplify after the operands
12856 have been expanded in EXPAND_NORMAL mode.
12857
12858 2002-10-06 Richard Henderson <rth@redhat.com>
12859
12860 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
12861
12862 2002-10-06 Richard Henderson <rth@redhat.com>
12863
12864 PR optimization/2960
12865 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
12866 optimize_size.
12867
12868 2002-10-06 Alexandre Oliva <aoliva@redhat.com>
12869
12870 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
12871 previously definitions.
12872
12873 2002-10-06 Frank Ch. Eigler <fche@redhat.com>
12874
12875 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
12876 * c-opts.c (find_opt): Similarly.
12877
12878 Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
12879
12880 * athlon.md: rewrite to DFA.
12881 * i386 (ix86_adjust_cost): Drop memory latency code.
12882 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
12883
12884 2002-10-05 Jakub Jelinek <jakub@redhat.com>
12885
12886 * gcc.c (set_multilib_dir): Don't access *end.
12887 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
12888 (print_multilib_info): Don't show paths starting with ".:".
12889 * genmultilib: Add new option, "yes" if multilibs are enabled.
12890 Update comments. If multilibs not enabled, print .:${osdirout}
12891 for each directory. If multilibs are enabled, always print
12892 ${dirout}:${osdirout}, even if the two are the same.
12893 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
12894 Pass all MULTILIB_* variables to genmultilib even if
12895 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
12896
12897 2002-10-04 Zack Weinberg <zack@codesourcery.com>
12898
12899 * gcc.c (process_command): Set .validated for -pipe. Correct
12900 grammar in comment.
12901
12902 2002-10-04 Bruce Korb <bkorb@gnu.org>
12903
12904 * fixinc/inclhack.def(hpux11_abs): use format fix
12905 * fixinc/fixincl.x: regenerate
12906 * fixinc/tests/base/stdlib.h: accommodate new fix test
12907
12908 Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
12909
12910 * c-common.c (cb_register_builtins): Use really_no_inline.
12911
12912 2002-10-04 David Edelsohn <edelsohn@gnu.org>
12913
12914 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
12915 copied instruction if the note is not loop invariant.
12916
12917 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
12918
12919 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
12920
12921 2002-10-04 Steve Ellcey <sje@cup.hp.com>
12922
12923 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
12924 and -mhp-ld options to list of options. Add -mgnu-ld
12925 and -mhp-ld option descriptions.
12926
12927 2002-10-04 Steve Ellcey <sje@cup.hp.com>
12928
12929 * fixinc/inclhack.def (hpux11_abs): New.
12930 (stdio_va_list): change __va_list__ to __gnuc_va_list.
12931 * fixinc/fixincl.x: Rebuild.
12932
12933 2002-10-04 Roger Sayle <roger@eyesopen.com>
12934
12935 * config/i386/i386.h (processor_costs): Add new fields fadd,
12936 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
12937 (RTX_COSTS): Use these fields to determine the RTX costs
12938 of floating point addition/subtraction, multiplication,
12939 division, fabs, negation and square root respectively.
12940 * config/i386/i386.c (size_cost): Provide instruction sizes
12941 for these new fields.
12942 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
12943 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
12944 counts for these new fields for all x86 processor variants.
12945
12946 2002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12947
12948 * mips.c (mips_const_double_ok): Delete unused variable.
12949
12950 * gengtype.c (rtx_next): Change type to int.
12951
12952 2002-10-04 Andreas Jaeger <aj@suse.de>
12953
12954 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
12955
12956 2002-10-04 Richard Henderson <rth@redhat.com>
12957
12958 * real.h (SIGNIFICAND_BITS): Add one more word.
12959 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
12960 * real.c (times_pten): New.
12961 (real_to_decimal, real_from_string): Use it.
12962 (sticky_rshift_significand): Use & to find modulus.
12963 (rshift_significand, lshift_significand): Likewise.
12964 (do_divide): Apply sticky bit after normalization.
12965 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
12966
12967 2002-10-03 Andreas Bauer <baueran@in.tum.de>
12968
12969 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
12970 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
12971
12972 2002-10-03 Andreas Jaeger <aj@suse.de>
12973
12974 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
12975 to unsigned long, adjust printf format string.
12976 (output_mangled_typename): Likewise.
12977
12978 2002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
12979
12980 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
12981 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
12982 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
12983 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
12984 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
12985 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
12986 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
12987 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
12988
12989 2002-10-03 Mark Mitchell <mark@codesourcery.com>
12990
12991 * doc/invoke.texi (-Wabi): Document mangling bug.
12992
12993 2002-10-04 Alan Modra <amodra@bigpond.net.au>
12994
12995 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
12996 name for the tbtab label that depends on the function asm name.
12997 Don't output tbtab label unless optional_tbtab.
12998 (output_mi_thunk): Formatting.
12999
13000 2002-10-03 Richard Henderson <rth@redhat.com>
13001
13002 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
13003 * config/m68k/m68k.c (override_options): ... here.
13004 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
13005 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
13006 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
13007 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
13008
13009 2002-10-03 Richard Henderson <rth@redhat.com>
13010
13011 * real.h (struct real_value): Use ENUM_BITFIELD.
13012
13013 2002-10-03 Richard Henderson <rth@redhat.com>
13014
13015 * config/i960/i960.md (call, call_value): Use emit_call_insn.
13016
13017 2002-10-03 Steve Ellcey <sje@cup.hp.com>
13018
13019 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
13020
13021 2002-10-03 Steve Ellcey <sje@cup.hp.com>
13022
13023 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
13024 * config/pa/pa.h (MASK_GNU_LD): New.
13025 (TARGET_GNU_LD): New.
13026 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
13027 on gnu-ld and MASK_GNU_LD.
13028 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
13029
13030 Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
13031
13032 * i386.c (athlon_cost): Fix the move costs.
13033
13034 Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
13035
13036 * final.c (final): Use symbol name as function name for profiling.
13037 * profile.c (get_exec_counts): Likewise.
13038 (branch_prob): Likewise.
13039
13040 2002-10-03 Jakub Jelinek <jakub@redhat.com>
13041
13042 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
13043
13044 2002-10-03 Jakub Jelinek <jakub@redhat.com>
13045
13046 * gcc.c (print_multi_os_directory): New variable.
13047 (option_map): Support --print-multi-os-directory.
13048 (struct prefix_list): Add os_multilib field.
13049 (multilib_os_dir): New variable.
13050 (static_specs): Add multilib_options.
13051 (find_a_file): Add multilib argument. Search in GCC or OS multilib
13052 subdirs if nonzero.
13053 (read_specs, execute): Update callers.
13054 (find_file): Likewise. Don't prefix name with multilib_dir, instead
13055 pass 1 as multilib option.
13056 (display_help): Include --print-multi-os-directory.
13057 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
13058 (process_command): Update callers. Handle --print-multi-os-directory.
13059 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
13060 set.
13061 (main): Update find_a_file and add_prefix callers.
13062 Handle print_multi_os_directory.
13063 (struct mdswitchstr): New.
13064 (mdswitches, n_mdswitches): New variables.
13065 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
13066 present on the command line nor their mutually incompatible
13067 switches.
13068 (default_arg): Optimize.
13069 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
13070 array.
13071 (print_multilib_info): Only print GCC multilib dir name, not OS
13072 multilib dirname.
13073 * genmultilib: Add osdirnames parameter. Output multilib_options
13074 variable. If osdirnames is specified, output dirnames as
13075 dirname:osdirname.
13076 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
13077 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
13078 to compute libgcc_s soname and install path.
13079 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
13080 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
13081 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
13082 argument.
13083
13084 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
13085 (SHLIB_SLIBDIR_SUFFIXES): Remove.
13086 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
13087 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
13088 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
13089 and -m64.
13090 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
13091 (SHLIB_SLIBDIR_SUFFIXES): Remove.
13092 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
13093 (STARTFILE_ARCH_SPEC): Remove.
13094 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
13095 (SHLIB_SLIBDIR_SUFFIXES): Remove.
13096 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
13097 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
13098 (SHLIB_SLIBDIR_SUFFIXES): Remove.
13099
13100 Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
13101
13102 * predict.c (choose_function_section): Avoid choice for linkonce functions.
13103
13104 Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
13105
13106 * i386.md (lea to mul peep2): Fix condition.
13107
13108 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
13109
13110 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
13111 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
13112
13113 2002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
13114
13115 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
13116 attribute "unused".
13117
13118 * config/t-libunwind: Mention unwind-sjlj.c.
13119 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
13120 to #ifndef __USING_SJLJ_EXCEPTIONS__.
13121
13122 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
13123 before inclusion of config.gcc, but after configuring the compiler etc.
13124 Determine default value for --enable-libunwind-exceptions based on
13125 whether the host has a libunwind library (not guaranteed to be correct,
13126 but it's a reasonable first guess and can always be overridden with an
13127 explicit --enable/disable-libunwind-exceptions.
13128 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
13129 tmake_file when $use_libunwind_exceptions is enabled.
13130 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
13131 ia64 (e.g., config/t-linux also updates it).
13132 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
13133 along with the shared version of libgcc since the latter requires
13134 the former.
13135 * unwind-libunwind.c: New file.
13136 * config/t-libunwind: Ditto.
13137
13138 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
13139
13140 * config.gcc: Remove support for vax-*-vms*.
13141 * config/vax/vms.h: Remove.
13142 * config/vax/xm-vms.h: Remove.
13143 * config/vax/vax-protos.h: Remove VMS-specific code.
13144 * config/vax/vax.c: Remove VMS-specific code.
13145
13146 2002-10-02 Richard Henderson <rth@redhat.com>
13147
13148 PR opt/7124
13149 * config/i386/i386.c (ix86_register_move_cost): Increase cost
13150 for secondary_memory_needed pairs.
13151
13152 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
13153
13154 * doc/vms.texi: Blow away false include file section.
13155
13156 2002-10-02 Roger Sayle <roger@eyesopen.com>
13157
13158 PR optimization/6627
13159 * toplev.c (force_align_functions_log): New global variable.
13160 * flags.h (force_align_functions_log): Add extern prototype.
13161 * varasm.c (assemble_start_function): Use it to force minimum
13162 function alignment.
13163 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
13164 minimum function alignment to one byte.
13165 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
13166 the least significant bit of vtable member function pointers.
13167 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
13168 here from cp/cp-tree.h.
13169
13170 Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
13171
13172 * i386.c (print_operand_address): Use RIP addressing for offsetted
13173 label refs too.
13174
13175 2002-09-30 David S. Miller <davem@redhat.com>
13176
13177 PR middle-end/7151
13178 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
13179 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
13180
13181 2002-10-01 Andreas Bauer <baueran@in.tum.de>
13182
13183 * calls.c (expand_call): Remove the `no indirect check'
13184 for sibcall optimization; use function_ok_for_sibcall
13185 target hook; refine check for `function is volatile'.
13186 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
13187 * hooks.c (hook_tree_tree_bool_false): New.
13188 * hooks.h (hook_tree_tree_bool_false): Declare.
13189 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
13190 (TARGET_INITIALIZER): Add it.
13191 * target.h (struct gcc_target): Add function_ok_for_sibcall.
13192 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
13193 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13194 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13195 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
13196 Remove function declaration.
13197 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
13198 function static and accept another argument of type `tree'.
13199 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13200 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13201 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13202 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
13203 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13204 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13205 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13206 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
13207 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
13208 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13209 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13210 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
13211 Remove function declaration.
13212 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
13213 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
13214 rename first argument to `decl'; accept another argument
13215 of type `tree'; make static.
13216 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13217 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13218 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
13219 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13220 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13221 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
13222 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13223 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13224 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13225
13226 2002-10-01 Roger Sayle <roger@eyesopen.com>
13227
13228 * unroll.c (loop_iterations): Revert 2002-09-08 change.
13229
13230 2002-10-01 Richard Henderson <rth@redhat.com>
13231
13232 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
13233 (real_to_hexadecimal): Likewise.
13234 * print-rtl.c (print_rtx): If we are linked with real.c, don't
13235 dump the XWINT fields of a floating point CONST_DOUBLE.
13236
13237 2002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
13238
13239 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
13240
13241 2002-10-01 Richard Henderson <rth@redhat.com>
13242
13243 * calls.c (precompute_register_parameters): Force non-legitimate
13244 constants into pseudos.
13245
13246 2002-10-01 Nick Clifton <nickc@redhat.com>
13247
13248 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
13249 to assembler template.
13250
13251 2002-10-01 Richard Henderson <rth@redhat.com>
13252
13253 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
13254 for TLS debug info to !DECL_EXTERNAL.
13255
13256 2002-10-01 Matt Thomas <matt@3am-software.com>
13257 Jason Thorpe <thorpej@wasabisystems.com>
13258
13259 * config.gcc (vax-*-netbsdelf*): Enable configuration.
13260 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
13261 if not already defined.
13262 * config/vax/elf.h: New file.
13263 * config/vax/netbsd-elf.h: New file.
13264 * config/vax/vax.c: Include "debug.h".
13265 (vax_output_function_prologue): Add dwarf2 support. Use
13266 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
13267 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
13268 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
13269 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
13270 (VAX_ISTREAM_SYNC): Remove.
13271 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
13272 (JUMP_TABLES_IN_TEXT_SECTION): Define.
13273 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
13274 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
13275 and assemble_name.
13276 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
13277 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
13278 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
13279 (INCOMING_RETURN_ADDR_RTX): Define.
13280 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
13281 (VUNSPEC_SYNC_ISTREAM): Define.
13282 (blockage): Use VUNSPEC_BLOCKAGE.
13283 (sync_istream): New insn.
13284
13285 2002-10-01 Richard Henderson <rth@redhat.com>
13286
13287 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
13288 (*call_value_pop, call, call_value): Add dwarf2 EH support.
13289 (*call): New insn.
13290
13291 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
13292
13293 PR c/8083
13294 * c-typeck.c (build_c_cast): Warn about type punning which breaks
13295 type based aliasing.
13296
13297 2002-10-01 Mark Mitchell <mark@codesourcery.com>
13298
13299 * stor-layout.c (update_alignment_for_field): New function.
13300 (place_union_field): Use it.
13301 (place_field): Likewise.
13302
13303 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
13304
13305 PR other/8077
13306 * gcc.c (cc1_options): Add space on -auxbase-strip.
13307
13308 2002-10-01 Jim Wilson <wilson@redhat.com>
13309
13310 * config/v850/v850.h (EPILOGUE_USES): Define.
13311
13312 2002-09-30 Andrew Haley <aph@redhat.com>
13313
13314 * flow.c (insn_dead_p): When using non-call-exceptions, don't
13315 eliminate insns that may trap.
13316 * cse.c (insn_live_p): Likewise.
13317
13318 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
13319
13320 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
13321 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
13322 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
13323 * config/mips/mips.md: Apply same renaming here.
13324
13325 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
13326
13327 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
13328 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
13329 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
13330 * config/mips/mips.md (define_attr cpu): Remove r4320.
13331 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
13332
13333 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
13334
13335 * config/mips/mips.c (mips16_strings): New variable.
13336 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
13337 symbol in mips16_strings. Free the list.
13338 (mips_encode_section_info): Keep track of local strings.
13339
13340 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
13341
13342 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
13343 (sordered_df, sordered_sf): Remove.
13344 * config/mips/mips.c (get_float_compare_codes): New fn.
13345 (gen_int_relational, gen_conditional_move): Use it.
13346
13347 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
13348
13349 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
13350 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
13351 * config/mips/mips.c (fcc_register_operand): New function.
13352 (mips_emit_fcc_reload): New function, extracted from reload_incc.
13353 (override_options): Allow TFmode values in float registers
13354 if ISA_HAS_8CC.
13355 * cnfig/mips/mips.md (reload_incc): Change destination prediate
13356 to fcc_register_operand. Remove misleading source constraint.
13357 Use mips_emit_fcc_reload.
13358 (reload_outcc): Duplicate reload_incc.
13359
13360 2002-09-30 Zack Weinberg <zack@codesourcery.com>
13361
13362 * gcc.c (validate_switches): Handle all new forms of spec
13363 syntax introduced recently. Now returns a char *.
13364 (validate_all_switches): Repetitive logic broken out to...
13365 (validate_switches_from_spec): ...here.
13366 * mklibgcc.in: Don't @-flag commands to generate .oS files.
13367
13368 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
13369
13370 * longlong.h: Partially synchronize with GMP-4.1 version:
13371 Use i370 definitions also for s390.
13372 Add generic definition of umul_ppmm in terms of smul_ppmm.
13373 [s390] (umul_ppmm): Remove.
13374 [s390] (smul_ppmm): Fix incorrect assembler constraints.
13375 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
13376
13377 2002-09-30 Bob Wilson <bob.wilson@acm.org>
13378
13379 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
13380 Add new RL_REGS register class.
13381 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
13382 Call xtensa_preferred_reload_class for both input and output reloads.
13383 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
13384 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
13385 instead of either AR_REGS or GR_REGS classes.
13386 (xtensa_secondary_reload_class): Use new RL_REGS class.
13387 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
13388
13389 2002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
13390
13391 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
13392 (pa_strip_name_encoding): Strip '@' and '*', in that order.
13393 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
13394 there is a '*' prefix in NAME.
13395
13396 Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
13397
13398 * reload.c (push_reload): Handle subregs and secondary memory.
13399 * reload1.c (gen_reload): Likewise.
13400
13401 * jump.c (reg_or_subregno): New function.
13402 * rtl.h (reg_or_subregno): Declare
13403 * unroll.c (find_splittable_givs): Handle subregs.
13404
13405 2002-09-30 Mark Mitchell <mark@codesourcery.com>
13406
13407 * store-layout.c (finish_record_layout): Add free_p parameter.
13408 (layout_type): Pass it.
13409 * tree.h (finish_record_layout): Update prototype.
13410
13411 Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
13412
13413 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
13414
13415 * gcse.c (cprop_jump): Check that the register has not
13416 been modified
13417 (cprop_jump): Likewise.
13418
13419 2002-09-30 Richard Earnshaw <rearnsha@arm.com>
13420
13421 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
13422 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
13423 that we have a SImode access, and only then if reload hasn't completed;
13424 for all other cases, use LO_REGS.
13425
13426 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13427
13428 * openbsd.h: Fix typo in last change.
13429
13430 2002-09-29 Richard Henderson <rth@redhat.com>
13431
13432 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
13433
13434 2002-09-29 Richard Henderson <rth@redhat.com>
13435
13436 PR c/8002
13437 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
13438 for CONST_INT.
13439
13440 2002-09-29 David Edelsohn <edelsohn@gnu.org>
13441
13442 * real.h (ibm_extended_format): Declare.
13443 * real.c (encode_ibm_extended, decode_ibm_extended): New
13444 functions.
13445
13446 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13447
13448 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
13449
13450 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
13451
13452 2002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
13453
13454 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
13455
13456 2002-09-29 Kazu Hirata <kazu@cs.umass.edu>
13457
13458 * builtins.def: Fix comment formatting.
13459 * c-common.def: Likewise.
13460 * cfgcleanup.c: Likewise.
13461 * combine.c: Likewise.
13462 * gengtype.c: Likewise.
13463 * params.def: Likewise.
13464 * predict.def: Likewise.
13465 * rtl.def: Likewise.
13466 * stab.def: Likewise.
13467 * stor-layout.c: Likewise.
13468 * tree.def: Likewise.
13469 * config/darwin.c: Likewise.
13470 * config/darwin.h: Likewise.
13471 * config/dbxcoff.h: Likewise.
13472 * config/elfos.h: Likewise.
13473 * config/fp-bit.c: Likewise.
13474 * config/freebsd-spec.h: Likewise.
13475 * config/interix.h: Likewise.
13476 * config/libgloss.h: Likewise.
13477 * config/linux-aout.h: Likewise.
13478 * config/linux.h: Likewise.
13479 * config/lynx-ng.h: Likewise.
13480 * config/lynx.h: Likewise.
13481 * config/netbsd-aout.h: Likewise.
13482 * config/netbsd.h: Likewise.
13483 * config/netware.h: Likewise.
13484 * config/psos.h: Likewise.
13485 * config/ptx4.h: Likewise.
13486
13487 2002-09-28 Kazu Hirata <kazu@cs.umass.edu>
13488
13489 * ChangeLog.4: Fix typos.
13490 * ChangeLog.6: Likewise.
13491 * FSFChangeLog.10: Likewise.
13492 * genattrtab.c: Fix comment typos.
13493 * haifa-sched.c: Likewise.
13494 * real.c: Likewise.
13495 * tree.h: Likewise.
13496 * config/arm/arm.c: Likewise.
13497 * config/arm/crti.asm: Likewise.
13498 * config/arm/crtn.asm: Likewise.
13499 * config/frv/frv.c: Likewise.
13500 * config/frv/frv.md: Likewise.
13501 * config/h8300/h8300.md: Likewise.
13502 * config/i386/rtemself.h: Likewise.
13503 * config/ia64/unwind-ia64.c: Likewise.
13504 * config/ip2k/ip2k.h: Likewise.
13505 * config/m88k/m88k.c: Likewise.
13506 * config/m88k/m88k.md: Likewise.
13507 * config/mips/sr71k.md: Likewise.
13508 * config/mmix/mmix.c: Likewise.
13509 * config/rs6000/rs6000.c: Likewise.
13510 * config/sh/sh.md: Likewise.
13511
13512 2002-09-26 Theodore A. Roth <troth@verinet.com>
13513
13514 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
13515 * config/avr/avr.md: Ditto.
13516
13517 2002-09-27 Alexander N. Kabaev <ak03@gte.com>
13518
13519 PR preprocessor/8055
13520 * cppmacro.c (stringify_arg): Do not overflow the buffer
13521 with the terminating NUL when the argument to be stringified
13522 has no tokens.
13523
13524 2002-09-27 Richard Henderson <rth@redhat.com>
13525
13526 * unroll.c (simplify_cmp_and_jump_insns): New.
13527 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
13528 instead of expand_simple_foo.
13529
13530 2002-09-27 Richard Henderson <rth@redhat.com>
13531
13532 PR optimization/7520
13533 * cfganal.c (flow_active_insn_p): New.
13534 (forwarder_block_p): Use it.
13535
13536 2002-09-27 Richard Henderson <rth@redhat.com>
13537
13538 * emit-rtl.c (active_insn_p): Revert last change.
13539
13540 2002-09-27 Jakub Jelinek <jakub@redhat.com>
13541
13542 * doc/extend.texi (tls_model): Document.
13543 * varasm.c (decl_tls_model): New.
13544 * c-common.c (handle_tls_model_attribute): New.
13545 (c_common_attribute_table): Add tls_model.
13546 * config/alpha/alpha.c (alpha_encode_section_info): Use
13547 decl_tls_model.
13548 * flags.h (enum tls_model, flag_tls_default): Move...
13549 * tree.h (enum tls_model, flag_tls_default): ...here.
13550 (decl_tls_model): New prototype.
13551 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
13552 * config/i386/i386.c (ix86_encode_section_info): Likewise.
13553 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
13554 Allow !flag_pic.
13555
13556 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
13557
13558 * LANGUAGES: Follow spelling conventions.
13559 * rtl.def: Likewise.
13560 * sbitmap.c: Likewise.
13561 * sched-int.h: Likewise.
13562 * sched-rgn.c: Likewise.
13563 * sibcall.c: Likewise.
13564 * simplify-rtx.c: Likewise.
13565 * ssa.c: Likewise.
13566 * stab.def: Likewise.
13567 * stmt.c: Likewise.
13568 * stor-layout.c: Likewise.
13569 * target.h: Likewise.
13570 * timevar.c: Likewise.
13571 * toplev.c: Likewise.
13572 * tree-dump.c: Likewise.
13573 * tree-inline.c: Likewise.
13574 * tree.c: Likewise.
13575 * tree.def: Likewise.
13576 * tree.h: Likewise.
13577 * unroll.c: Likewise.
13578 * varasm.c: Likewise.
13579 * vmsdbgout.c: Likewise.
13580 * treelang/treelang.texi: Likewise.
13581 * treelang/treetree.c: Likewise.
13582
13583 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
13584
13585 * config/h8300/h8300.c (compute_saved_regs): Use a macro
13586 instead of a hard register number.
13587 (get_shift_alg): Use an enumerated type instead of numbers.
13588 (h8300_shift_needs_scratch_p): Likewise.
13589
13590 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
13591
13592 * varasm.c (force_data_section): Remove.
13593 (assemble_constant_align): Likewise.
13594 * output.h: Remove corresponding prototypes.
13595
13596 2002-09-26 Roger Sayle <roger@eyesopen.com>
13597
13598 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
13599 jump, if the loop to exit is the top of the current nesting stack.
13600
13601 2002-09-26 Torbjorn Granlund <tege@swox.com>
13602
13603 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
13604 arithmetic.
13605
13606 2002-09-26 David S. Miller <davem@redhat.com>
13607
13608 PR optimization/7335
13609 * calls.c (emit_library_call_value_1): Passing args by reference
13610 converts a CONST function into a PURE one.
13611
13612 2002-09-26 David Edelsohn <edelsohn@gnu.org>
13613
13614 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
13615 text_section.
13616 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
13617 text section.
13618 * config/rs6000/rs6000.c (rs6000_override_options): Allow
13619 function-sections and data-sections functionality on AIX.
13620
13621 2002-09-26 David Edelsohn <edelsohn@gnu.org>
13622 Dale Johannesen <dalej@apple.com>
13623
13624 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
13625 in RTL for sub-word loads from memory.
13626
13627 2002-09-26 Richard Henderson <rth@redhat.com>
13628
13629 PR c/7160
13630 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
13631 on call insns.
13632
13633 2002-09-26 Richard Henderson <rth@redhat.com>
13634
13635 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
13636
13637 2002-09-26 Chris Lattner <sabre@nondot.org>
13638
13639 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
13640 handling undefined values.
13641
13642 2002-09-26 Richard Henderson <rth@redhat.com>
13643
13644 PR opt/7520
13645 * emit-rtl.c (active_insn_p): Consider a clobber of the
13646 function return value to be active even after reload.
13647
13648 2002-09-27 Alan Modra <amodra@bigpond.net.au>
13649
13650 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
13651 by absolute loop increment, not loop increment.
13652
13653 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
13654
13655 * c-common.h: Follow spelling conventions.
13656 * cpplex.c: Likewise.
13657 * cpplib.h: Likewise.
13658 * gthr-dce.h: Likewise.
13659 * gthr-posix.h: Likewise.
13660 * optabs.c: Likewise.
13661 * output.h: Likewise.
13662 * profile.c: Likewise.
13663 * protoize.c: Likewise.
13664 * ra-rewrite.c: Likewise.
13665 * real.c: Likewise.
13666 * recog.c: Likewise.
13667 * reg-stack.c: Likewise.
13668 * regclass.c: Likewise.
13669 * regmove.c: Likewise.
13670 * reload.c: Likewise.
13671 * reload.h: Likewise.
13672 * reload1.c: Likewise.
13673 * reorg.c: Likewise.
13674 * resource.c: Likewise.
13675 * rtl.h: Likewise.
13676 * rtlanal.c: Likewise.
13677
13678 2002-09-26 Steve Ellcey <sje@cup.hp.com>
13679
13680 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
13681 for symbol address.
13682
13683 2002-09-24 Eric Christopher <echristo@redhat.com>
13684
13685 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
13686 * config/mips/elf64.h: Ditto.
13687
13688 2002-09-24 Eric Christopher <echristo@redhat.com>
13689
13690 * except.c (expand_builtin_extract_return_address): Handle case
13691 where Pmode != ptr_mode.
13692
13693 2002-09-26 Steve Ellcey <sje@cup.hp.com>
13694
13695 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
13696
13697 2002-09-26 Steve Ellcey <sje@cup.hp.com>
13698
13699 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
13700
13701 2002-09-26 Igor Shevlyakov <igor@microunity.com>
13702
13703 * combine.c (simplify_set): Don't call to force_to_mode if size
13704 of integer type is larger than HOST_BITS_PER_WIDE_INT.
13705
13706 2002-09-26 Janis Johnson <janis187@us.ibm.com>
13707
13708 * Makefile.in (qmtest-g++): Fix file path.
13709
13710 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
13711
13712 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
13713 A + (-const) on RTX level, even for unsigned types.
13714
13715 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
13716
13717 * reload.c (dup_replacements): New function.
13718 (find_reloads): Use it to duplicate replacements at the top level
13719 of match_dup operands.
13720
13721 2002-09-26 Miles Bader <miles@gnu.org>
13722
13723 * v850.md ("length"): Change default value to 4.
13724
13725 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
13726
13727 * ChangeLog.1: Follow spelling conventions.
13728 * ChangeLog.4: Likewise.
13729 * ChangeLog.6: Likewise.
13730 * FSFChangeLog.11: Likewise.
13731 * doc/cpp.texi: Likewise.
13732 * doc/invoke.texi: Likewise.
13733 * doc/tm.texi: Likewise.
13734
13735 2002-09-26 Nick Clifton <nickc@redhat.com>
13736
13737 * config.gcc: Add x prefix to v850e case for handling
13738 --with-cpu=v850e.
13739
13740 2002-09-25 Zack Weinberg <zack@codesourcery.com>
13741
13742 * gcc.c (input_suffix_matches, switch_matches,
13743 mark_matching_switches, process_marked_switches,
13744 process_brace_body): New functions - split from handle_braces.
13745 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
13746 and ignore whitespace in more places.
13747 (specs documentation comment): Document %{S:X;T:Y;:D}.
13748 Clarify other %{...} docs.
13749 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
13750 %{...} docs.
13751
13752 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
13753 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
13754
13755 2002-09-25 David S. Miller <davem@redhat.com>
13756
13757 PR target/7842
13758 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
13759 extend.
13760
13761 2002-09-25 Richard Henderson <rth@redhat.com>
13762
13763 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
13764 fp CONST_DOUBLE; use real_identical.
13765
13766 2002-09-25 Mark Mitchell <mark@codesourcery.com>
13767
13768 * doc/invoke.texi: Add more -Wabi examples.
13769
13770 2002-09-25 Richard Sandiford <rsandifo@redhat.com>
13771
13772 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
13773
13774 2002-09-24 Nathan Sidwell <nathan@codesourcery.com>
13775
13776 * profile.c (end_branch_prob): Only look for __gcov_init on
13777 weak-enabled native compilers.
13778
13779 2002-09-24 Denis Chertykov <denisc@overta.ru>
13780
13781 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
13782 cases of optimizing "add sp,w" to "inc sp".
13783
13784 2002-09-24 Adam Nemet <anemet@lnxw.com>
13785
13786 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
13787 epilogue for naked functions.
13788
13789 2002-09-24 Adam Nemet <anemet@lnxw.com>
13790 Nick Clifton <nickc@redhat.com>
13791
13792 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
13793 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
13794 is defined.
13795
13796 2002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
13797
13798 * config/s390/s390.c (preferred_la_operand_p): New function.
13799 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
13800 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
13801 ("*la_64_cc", "*la_31_cc", splitters): ... these.
13802 ("*la_31"): Deactivate for TARGET_64BIT.
13803 ("*la_31_and", "*la_31_and_cc"): New.
13804
13805 2002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13806
13807 * real.h (real_value): Make `exp' explicitly signed.
13808
13809 2002-09-24 Kazu Hirata <kazu@cs.umass.edu>
13810
13811 * config/elfos.h: Follow spelling conventions.
13812 * config/alpha/alpha.h: Likewise.
13813 * config/arc/arc.h: Likewise.
13814 * config/arm/arm.md: Likewise.
13815 * config/avr/avr.h: Likewise.
13816 * config/cris/cris.md: Likewise.
13817 * config/d30v/d30v.h: Likewise.
13818 * config/frv/frv.c: Likewise.
13819 * config/frv/frv.h: Likewise.
13820 * config/h8300/h8300.c: Likewise.
13821 * config/h8300/h8300.h: Likewise.
13822 * config/h8300/h8300.md: Likewise.
13823 * config/i386/cygwin.h: Likewise.
13824 * config/i386/i386.h: Likewise.
13825 * config/i386/sysv3.h: Likewise.
13826 * config/i960/i960.h: Likewise.
13827 * config/ia64/ia64.h: Likewise.
13828 * config/ia64/ia64.md: Likewise.
13829 * config/ip2k/ip2k.h: Likewise.
13830 * config/m32r/m32r.h: Likewise.
13831 * config/m68k/m68k.h: Likewise.
13832 * config/m88k/m88k.h: Likewise.
13833 * config/mcore/mcore.c: Likewise.
13834 * config/mcore/mcore.h: Likewise.
13835 * config/mcore/mcore.md: Likewise.
13836 * config/mips/mips.h: Likewise.
13837 * config/mmix/mmix.h: Likewise.
13838 * config/mmix/mmix.md: Likewise.
13839 * config/ns32k/netbsd.h: Likewise.
13840 * config/ns32k/ns32k.h: Likewise.
13841 * config/ns32k/ns32k.md: Likewise.
13842 * config/pa/pa.h: Likewise.
13843 * config/romp/romp.h: Likewise.
13844 * config/rs6000/rs6000.h: Likewise.
13845 * config/rs6000/rs6000.md: Likewise.
13846 * config/sparc/sparc.h: Likewise.
13847 * config/stormy16/stormy-abi: Likewise.
13848 * config/stormy16/stormy16.h: Likewise.
13849 * config/vax/vax.h: Likewise.
13850
13851 2002-09-23 Kazu Hirata <kazu@cs.umass.edu>
13852
13853 * config/alpha/alpha.h: Remove commented-out macro
13854 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
13855 * config/avr/avr.h: Likewise.
13856 * config/d30v/d30v.h: Likewise.
13857 * config/dsp16xx/dsp16xx.h: Likewise.
13858 * config/i370/i370.h: Likewise.
13859 * config/i386/i386.h: Likewise.
13860 * config/i960/i960.h: Likewise.
13861 * config/m68k/m68k.h: Likewise.
13862 * config/m88k/m88k.h: Likewise.
13863 * config/mips/mips.h: Likewise.
13864 * config/ns32k/ns32k.h: Likewise.
13865 * config/pdp11/pdp11.h: Likewise.
13866 * config/romp/romp.h: Likewise.
13867 * config/rs6000/rs6000.h: Likewise.
13868 * config/s390/s390.h: Likewise.
13869 * config/sh/sh.h: Likewise.
13870 * config/sparc/sparc.h: Likewise.
13871 * config/stormy16/stormy16.h: Likewise.
13872 * config/vax/vax.h: Likewise.
13873
13874 2002-09-23 Kazu Hirata <kazu@cs.umass.edu>
13875
13876 * function.c (push_temp_slots_for_block): Remove.
13877 (push_temp_slots_for_target): Likewise.
13878 (get_target_temp_slot_level): Likewise.
13879 (set_target_temp_slot_level): Likewise.
13880 (get_first_block_beg): Likewise.
13881 * function.h: Remove corresponding prototypes.
13882
13883 2002-09-23 Zack Weinberg <zack@codesourcery.com>
13884
13885 * version.c (version_string): Now const char[].
13886 * version.h: Update to match.
13887
13888 2002-09-23 Richard Henderson <rth@redhat.com>
13889
13890 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
13891 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
13892 (TARGET_SWITCHES): Don't reference them.
13893 * config/i386/i386.c (override_options): Use target_flags_explicit
13894 to examine bits set by the user.
13895
13896 2002-09-23 Dale Johannesen <dalej@apple.com>
13897
13898 * dbxout.c (dbxout_parms): Set current_sym_code for params
13899 passed on stack by invisible reference.
13900
13901 2002-09-23 Richard Earnshaw <rearnsha@arm.com>
13902
13903 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
13904 at least one byte of space.
13905
13906 2002-09-23 Mark Mitchell <mark@codesourcery.com>
13907
13908 * c-common.h (flag_abi_version): Fix typo in comment.
13909 * doc/invoke.texi (flag_abi_version): Document default value.
13910
13911 2002-09-23 Hans-Peter Nilsson <hp@axis.com>
13912
13913 * doc/extend.texi (Extended Asm): Clarify that overlap between
13914 asm-declared register variables used in an asm and the asm clobber
13915 list is not allowed.
13916 * stmt.c (decl_conflicts_with_clobbers_p): New function.
13917 (expand_asm_operands): Keep track of clobbered registers. Call
13918 decl_conflicts_with_clobbers_p for each input and output operand.
13919 If no conflicts found before, also do conflict sanity check when
13920 emitting clobbers.
13921
13922 2002-09-23 Richard Henderson <rth@redhat.com>
13923
13924 * c-common.c (cpp_define_data_format): Remove.
13925 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
13926 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
13927 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
13928 * doc/cpp.texi: Don't document them either.
13929 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
13930 __LONG_LONG_MAX__): Document.
13931 (__TARGET_FLOAT_FORMAT__): Remove.
13932
13933 2002-09-23 Richard Henderson <rth@redhat.com>
13934
13935 * real.c (do_multiply): Normalize U before addition.
13936
13937 2002-09-23 Mark Mitchell <mark@codesourcery.com>
13938
13939 * c-common.c (flag_abi_version): New variable.
13940 * c-common.h (flag_abi_version): Declare it.
13941 * c-opts.c (missing_arg): Add -fabi-version.
13942 (c_common_decode_option): Process -fabi-version.
13943 * doc/invoke.texi (-fabi-version): Document it.
13944 (-Wabi): Add information about bit-fields in unions.
13945
13946 2002-09-22 Roger Sayle <roger@eyesopen.com>
13947
13948 * expr.c (STORE_BY_PIECES_P): New target macro.
13949 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
13950 instead of MOVE_BY_PIECES_P.
13951 * doc/tm.texi: Document this new macro.
13952
13953 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
13954
13955 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
13956 unless -fno-pic or -fno-PIC is specified.
13957
13958 2002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
13959
13960 * c-common.c (preprocessing_trad_p): Define.
13961 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
13962 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
13963 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
13964 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
13965 * pa-linux.h (CPP_PREDEFINES): Delete.
13966 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
13967 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
13968 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
13969 (TARGET_OS_CPP_BUILTINS): Define.
13970 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
13971 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
13972 (SUBTARGET_SWITCHES): Provide default definition.
13973 (TARGET_OPTIONS): Reformat. Use N_() macro.
13974 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
13975 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
13976 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
13977 (TARGET_CPU_CPP_BUILTINS): Define.
13978 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
13979 * doc/invoke.texi (msio, mwsio): Document new hppa options.
13980 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
13981 preprocessing_trad_p().
13982
13983 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
13984
13985 * doc/install.texi: Document behavior of --with-headers and
13986 --with-libs when arguments are omitted.
13987
13988 2002-09-22 Kazu Hirata <kazu@cs.umass.edu>
13989
13990 * dbxout.c: Follow spelling conventions.
13991 * defaults.h: Likewise.
13992 * df.c: Likewise.
13993 * diagnostic.h: Likewise.
13994 * doloop.c: Likewise.
13995 * dwarf2out.c: Likewise.
13996 * dwarfout.c: Likewise.
13997 * emit-rtl.c: Likewise.
13998 * except.c: Likewise.
13999 * explow.c: Likewise.
14000 * expmed.c: Likewise.
14001 * expr.c: Likewise.
14002 * expr.h: Likewise.
14003 * flags.h: Likewise.
14004 * flow.c: Likewise.
14005 * fold-const.c: Likewise.
14006 * function.c: Likewise.
14007 * function.h: Likewise.
14008 * gcc.c: Likewise.
14009 * gcov-io.h: Likewise.
14010 * gcov.c: Likewise.
14011 * gcse.c: Likewise.
14012 * genattrtab.c: Likewise.
14013 * genconfig.c: Likewise.
14014 * genrecog.c: Likewise.
14015 * ggc-page.c: Likewise.
14016 * ggc.h: Likewise.
14017 * global.c: Likewise.
14018 * gthr-win32.h: Likewise.
14019 * integrate.c: Likewise.
14020 * jump.c: Likewise.
14021 * langhooks.c: Likewise.
14022 * langhooks.h: Likewise.
14023 * line-map.h: Likewise.
14024 * local-alloc.c: Likewise.
14025 * longlong.h: Likewise.
14026 * loop.c: Likewise.
14027 * loop.h: Likewise.
14028
14029 Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
14030
14031 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
14032
14033 Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
14034
14035 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
14036 for -Os/TARGET_64BIT too.
14037
14038 2002-09-21 Kazu Hirata <kazu@cs.umass.edu>
14039
14040 * ChangeLog: Follow spelling conventions.
14041 * ChangeLog.0: Likewise.
14042 * ChangeLog.1: Likewise.
14043 * ChangeLog.2: Likewise.
14044 * ChangeLog.3: Likewise.
14045 * ChangeLog.4: Likewise.
14046 * ChangeLog.5: Likewise.
14047 * ChangeLog.6: Likewise.
14048 * FSFChangeLog.10: Likewise.
14049 * FSFChangeLog.11: Likewise.
14050 * alias.c: Likewise.
14051 * basic-block.h: Likewise.
14052 * c-aux-info.c: Likewise.
14053 * c-common.c: Likewise.
14054 * c-common.h: Likewise.
14055 * c-decl.c: Likewise.
14056 * c-format.c: Likewise.
14057 * c-semantics.c: Likewise.
14058 * c-typeck.c: Likewise.
14059 * calls.c: Likewise.
14060 * cfganal.c: Likewise.
14061 * cfgloop.c: Likewise.
14062 * collect2.c: Likewise.
14063 * combine.c: Likewise.
14064 * conflict.c: Likewise.
14065 * cppexp.c: Likewise.
14066 * cppfiles.c: Likewise.
14067 * cpphash.h: Likewise.
14068 * cppinit.c: Likewise.
14069 * cpplex.c: Likewise.
14070 * cpplib.c: Likewise.
14071 * cpplib.h: Likewise.
14072 * cppmacro.c: Likewise.
14073 * cse.c: Likewise.
14074
14075 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
14076
14077 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
14078 LINK_SPEC.
14079 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
14080 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
14081 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
14082
14083 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
14084
14085 PR opt/7930
14086 * cse.c (fold_rtx): Calculate old_cost before we fold each
14087 operand.
14088
14089 2002-09-21 Richard Henderson <rth@redhat.com>
14090
14091 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
14092 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
14093 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
14094 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
14095 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
14096 * doc/cpp.texi: Don't document them.
14097
14098 2002-09-21 Richard Henderson <rth@redhat.com>
14099
14100 * c-common.c (builtin_define_float_constants): Use real_format
14101 to get the floating-point parameters.
14102
14103 2002-09-21 Richard Henderson <rth@redhat.com>
14104
14105 * real.c (struct real_format): Move to real.h.
14106 (real_format_for_mode): Rename from fmt_for_mode; update all users;
14107 initialize with ieee defaults.
14108 (real_to_target_fmt, real_from_target_fmt): New.
14109 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
14110 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
14111 ieee_quad_format, i370_single_format, i370_double_format,
14112 c4x_single_format, c4x_extended_format): Rename from s/_format//.
14113 (ieee_quad_format): Fix emin.
14114 (format_for_size, init_real_once): Remove.
14115 * real.h (struct real_format): Move from real.c.
14116 (real_format_for_mode): Declare.
14117 (real_to_target_fmt, real_from_target_fmt): Declare.
14118 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
14119 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
14120 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
14121 i370_single_format, i370_double_format, c4x_single_format,
14122 c4x_extended_format): Declare.
14123 * toplev.c (do_compile): Don't call init_real_once.
14124
14125 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
14126 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
14127
14128 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
14129 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
14130 * config/alpha/alpha.c (override_options): Set real_format_for_mode
14131 for VAX, if enabled.
14132
14133 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
14134 for C4X.
14135
14136 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
14137 * config/i370/i370.c (override_options): New.
14138 * config/i370/i370-protos.h: Update.
14139
14140 * config/i386/i386.c (override_options): Set real_format_for_mode
14141 for Intel 80-bit extended.
14142 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
14143
14144 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
14145 (OVERRIDE_OPTIONS): Move code...
14146 * config/i960/i960.c (i960_initialize): ... here. Set
14147 real_format_for_mode for Intel 80-bit extended.
14148
14149 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
14150 for Intel 80-bit extended, if enabled.
14151
14152 * config/m68k/m68k.c (override_options): Set real_format_for_mode
14153 for Motorola 96-bit extended.
14154
14155 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
14156 * config/vax/vax.c (override_options): New.
14157 * config/vax/vax-protos.h: Update.
14158
14159 2002-09-21 Alan Modra <amodra@bigpond.net.au>
14160
14161 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
14162 #if TARGET_MACHO.
14163
14164 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
14165 insns. Supply missing clobber of scratch reg.
14166
14167 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
14168
14169 * config/m32r/m32r.c: Follow spelling conventions.
14170 * config/m32r/m32r.h: Likewise.
14171 * config/m32r/m32r.md: Likewise.
14172 * config/m68k/m68k.c: Likewise.
14173 * config/m88k/m88k.c: Likewise.
14174 * config/mcore/mcore.c: Likewise.
14175 * config/mips/mips.c: Likewise.
14176 * config/mips/mips.h: Likewise.
14177 * config/mmix/mmix.c: Likewise.
14178 * config/mn10200/mn10200.c: Likewise.
14179 * config/ns32k/ns32k.h: Likewise.
14180 * config/pa/pa.c: Likewise.
14181 * config/pa/pa64-linux.h: Likewise.
14182 * config/pdp11/pdp11.h: Likewise.
14183 * config/romp/romp.c: Likewise.
14184 * config/romp/romp.h: Likewise.
14185 * config/rs6000/eabi.asm: Likewise.
14186 * config/rs6000/linux64.h: Likewise.
14187 * config/rs6000/rs6000.c: Likewise.
14188 * config/rs6000/rs6000.h: Likewise.
14189 * config/rs6000/rs6000.md: Likewise.
14190 * config/rs6000/sysv4.h: Likewise.
14191 * config/rs6000/xcoff.h: Likewise.
14192
14193 2002-09-20 Jim Wilson <wilson@redhat.com>
14194
14195 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
14196
14197 2002-09-20 Jakub Jelinek <jakub@redhat.com>
14198
14199 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
14200 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
14201 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
14202 (legitimate_address_p): Likewise.
14203 (legitimize_address): Use @gotntpoff and @indntpoff.
14204 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
14205 (output_addr_const_extra): Likewise.
14206
14207 2002-09-20 Jim Wilson <wilson@redhat.com>
14208
14209 * combine.c (try_combine): When split an instruction pair, where the
14210 first has a sign_extend src, verify that the src and dest modes match.
14211
14212 2002-09-20 Richard Henderson <rth@redhat.com>
14213
14214 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
14215 (override_options): Do not initialize them.
14216 (mips_const_double_ok): Allow no fp constants except zero,
14217 and not even that for mips16.
14218 (const_float_1_operand): Use dconst1.
14219 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
14220 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
14221 Don't allow arbitrary constants; fix predicates and C constraint.
14222
14223 2002-09-20 Neil Booth <neil@daikokuya.co.uk>
14224
14225 * cppmacro.c: Don't warn about function-like macros without
14226 '(' during pre-expansion.
14227
14228 2002-09-20 Jim Wilson <wilson@redhat.com>
14229
14230 * config/v850/v850.c (current_function_anonymous_args): Delete.
14231 (expand_prologue): Use current_function_args_info.anonymous_args.
14232 (expand_epilogue): Delete use of current_function_anonymous_args.
14233 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
14234 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
14235 (current_function_anonymous_args): Delete extern declaration.
14236 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
14237
14238 2002-09-20 Geoffrey Keating <geoffk@apple.com>
14239
14240 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
14241 to load_macho_picbase.
14242 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
14243 (load_macho_picbase): Take the symbol to use as a parameter.
14244 (macho_correct_pic): New insn.
14245 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
14246
14247 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
14248 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
14249 (CAN_ELIMINATE): Likewise.
14250 (INITIAL_ELIMINATION_OFFSET): Likewise.
14251 (TOC_REGISTER): Likewise.
14252
14253 2002-09-20 Richard Henderson <rth@redhat.com>
14254
14255 * real.c (real_hash): New.
14256 * real.h: Declare it.
14257 * cse.c (canon_hash): Use it.
14258 * cselib.c (hash_rtx): Likewise.
14259 * emit-rtl.c (const_double_htab_hash): Likewise.
14260 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
14261 * varasm.c (struct rtx_const): Reduce vector size; separate
14262 integer and fp vectors.
14263 (HASHBITS): Remove.
14264 (const_hash_1): Rename from const_hash. Use real_hash. Do not
14265 take modulus MAX_HASH_TABLE.
14266 (const_hash): New. Do take modulus MAX_HASH_TABLE.
14267 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
14268 (SYMHASH): Don't use HASHBITS.
14269 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
14270 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
14271 (simplify_subtraction): Fix kind comparison.
14272 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
14273 Use a union to pun integer array.
14274 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
14275 only hash two words of integral CONST_DOUBLE.
14276
14277 2002-09-20 Steve Ellcey <sje@cup.hp.com>
14278
14279 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
14280 (STARTFILE_PREFIX_SPEC): New.
14281 (LINK_SPEC): Modify.
14282 (LIB_SPEC): Modify.
14283 (LIBGCC_SPEC): New.
14284
14285 2002-09-20 Jakub Jelinek <jakub@redhat.com>
14286
14287 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
14288 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
14289
14290 2002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
14291
14292 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
14293 Add clobber of the condition code register.
14294
14295 2002-09-20 Richard Henderson <rth@redhat.com>
14296
14297 * real.c (do_fix_trunc): Static.
14298 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
14299 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
14300 encode_i370_single, encode_i370_double, encode_c4x_single,
14301 encode_c4x_extended): Add default abort case.
14302
14303 2002-09-20 Richard Henderson <rth@redhat.com>
14304
14305 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
14306 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
14307 (struct realvaluetype): Remove.
14308 (REAL_VALUE_TYPE): Use struct real_value.
14309 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
14310 (test_real_width): New.
14311 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
14312 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
14313 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
14314 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
14315 real_to_integer, real_to_integer2, real_to_decimal,
14316 real_to_hexadecimal, real_from_string, real_from_integer,
14317 real_inf, real_nan, real_2expN, real_convert, real_to_target,
14318 real_from_target): Likewise.
14319 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
14320 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
14321
14322 2002-09-20 Richard Henderson <rth@redhat.com>
14323
14324 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
14325 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
14326 * defaults.h: ... here.
14327 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
14328 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
14329 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
14330 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
14331
14332 2002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
14333
14334 * config/mmix/mmix.md ("negdf2"): Rewrite.
14335 ("*expanded_negdf2"): New.
14336
14337 2002-09-19 Jim Wilson <wilson@redhat.com>
14338
14339 * combine.c (simplify_set): When optimizing a subreg src with a
14340 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
14341
14342 2002-09-19 Dale Johannesen <dalej@apple.com>
14343 * combine.c (make_extraction): Don't create
14344 invalid subreg.
14345
14346 2002-09-19 Roger Sayle <roger@eyesopen.com>
14347
14348 * tree.c (integer_nonzerop): New predicate for nonzero integers.
14349 * tree.h (integer_nonzerop): Add function prototype.
14350 * stmt.c (expand_end_loop): Don't rotate the loop when there
14351 are no instructions in the test, i.e. the loop is unconditional.
14352 (expand_exit_loop_if_false): Optimize RTL generation of loop
14353 tests when the condition is always true or always false.
14354 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
14355 do-loops when the condition is always true.
14356 (genrtl_for_stmt): Optimize RTL generation of for-loops when
14357 the for-expression is empty.
14358
14359 2002-09-19 Zack Weinberg <zack@codesourcery.com>
14360
14361 * gcc.c (use_pipes): New flag.
14362 (process_command): Set it. Adjust check for -pipe conflicting
14363 with -time or -save-temps.
14364 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
14365 %<SWITCH. Drop %| (without a SUFFIX).
14366 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
14367 (give_switch): Third argument eliminated.
14368 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
14369 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
14370 (specs documentation comment): Update.
14371
14372 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
14373 config/svr4.h, config/i386/freebsd-aout.h,
14374 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
14375 config/m68k/openbsd.h, config/mips/openbsd.h,
14376 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
14377 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
14378 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
14379 * config/cris/cris.h: Update comment.
14380
14381 * ada/lang-specs.h: Use %(invoke_as). Straighten out
14382 error messages. Don't use %{^SWITCH}.
14383 * ada/misc.c (gnat_decode_option): Handle -I with a
14384 separate argument.
14385
14386 * f/lang-specs.h: Use %| and %m.
14387 * java/jvspec.c: Use %m and %(invoke_as). Change all
14388 uses of %{<SWITCH} to %<SWITCH.
14389
14390 * doc/invoke.texi: Update documentation of specs.
14391 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
14392
14393 2002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
14394
14395 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
14396 and STRICT_LOW_PART within SET_DEST.
14397 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
14398 splitters, replacing pre-reload splitters.
14399 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
14400 "*zero_extendqihi2_31"): New insns.
14401 ("*zero_extendqihi2_64"): Do not clobber CC.
14402
14403 2002-09-18 Devang Patel <dpatel@apple.com>
14404
14405 * cp/cp-tree.h: New prototype for walk_vtables().
14406 * cp/decl.c (walk_vtables_r): New function.
14407 (struct cp_binding_level): Add new members, namespaces,
14408 names_size and vtables.
14409 (add_decl_to_level): Add decl in namespaces or vtables
14410 chain, if conditions match.
14411 (walk_vtables): New function.
14412 (walk_namespaces_r): Travers separate namespace chain
14413 for namespace decls.
14414 (wrapup_globals_for_namespace): Use names_size instead
14415 of list_length().
14416 * cp/decl2.c (finish_file): Use walk_vtables() instead of
14417 walk_globals() to walk vtable decls.
14418
14419 2002-09-19 Steve Ellcey <sje@cup.hp.com>
14420
14421 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
14422 (DTORS_SECTION_ASM_OP): Ditto.
14423 (READONLY_DATA_SECTION_ASM_OP): Moved.
14424 (DATA_SECTION_ASM_OP): New.
14425 (SDATA_SECTION_ASM_OP): New.
14426 (BSS_SECTION_ASM_OP): New.
14427 (SBSS_SECTION_ASM_OP): New.
14428 (TEXT_SECTION_ASM_OP): New.
14429
14430 2002-09-19 Kazu Hirata <kazu@cs.umass.edu>
14431
14432 * config/fp-bit.c: Follow spelling conventions.
14433 * config/d30v/d30v.c: Likewise.
14434 * config/d30v/d30v.h: Likewise.
14435 * config/fr30/fr30.c: Likewise.
14436 * config/fr30/fr30.h: Likewise.
14437 * config/fr30/fr30.md: Likewise.
14438 * config/frv/frv.c: Likewise.
14439 * config/frv/frv.h: Likewise.
14440 * config/h8300/h8300.c: Likewise.
14441 * config/h8300/lib1funcs.asm: Likewise.
14442 * config/i370/i370.c: Likewise.
14443 * config/i386/i386.h: Likewise.
14444 * config/i386/i386.md: Likewise.
14445 * config/i386/pentium.md: Likewise.
14446 * config/i386/winnt.c: Likewise.
14447 * config/i960/i960.c: Likewise.
14448 * config/ia64/ia64.h: Likewise.
14449 * config/ip2k/ip2k.c: Likewise.
14450 * config/ip2k/ip2k.h: Likewise.
14451 * config/ip2k/ip2k.md: Likewise.
14452 * config/ip2k/libgcc.S: Likewise.
14453
14454 2002-09-19 Stephen Clarke <stephen.clarke@superh.com>
14455
14456 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
14457 (GOTOFF_P): Extend to allow gotoff plus constant.
14458
14459 2002-09-18 Richard Henderson <rth@redhat.com>
14460
14461 * ifcvt.c (noce_process_if_block): Correctly detect X modified
14462 with INSN_B before COND_EARLIEST. Don't check A and B for
14463 modification in condition range. Reorder INSN_B for A==B properly.
14464 (if_convert): Iterate until no matches for a block.
14465
14466 2002-09-18 Richard Henderson <rth@redhat.com>
14467
14468 * calls.c (store_one_arg): Rename default_align to parm_align;
14469 always adjust parm_align for downward padding.
14470
14471 2002-09-18 Richard Henderson <rth@redhat.com>
14472
14473 * toplev.c (backend_init): Move init_real_once invocation ...
14474 (do_compile): ... here.
14475
14476 2002-09-18 Richard Henderson <rth@redhat.com>
14477
14478 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
14479 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
14480
14481 2002-09-18 Richard Henderson <rth@redhat.com>
14482
14483 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
14484
14485 2002-09-19 Alan Modra <amodra@bigpond.net.au>
14486
14487 * config/rs6000/rs6000.md: (floatdisf2): Rename to
14488 floatdisf2_internal1.
14489 (floatdisf2): New define_expand.
14490 (floatdisf2_internal2): Likewise.
14491
14492 2002-09-18 Richard Henderson <rth@redhat.com>
14493
14494 * real.c (sticky_rshift_significand): Collect sticky as
14495 unsigned long, not bool.
14496
14497 2002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
14498
14499 * config/s390/s390.c (s390_address_cost): New function.
14500 config/s390/s390-protos.h (s390_address_cost): Add prototype.
14501 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
14502 (RTX_COST): Use COSTS_N_INSNS.
14503
14504 2002-09-18 Douglas Rupp <rupp@gnat.com>
14505 Donn Terry <donnte@microsoft.com>
14506
14507 * stor-layout.c (place_field): Handle alignment of whole
14508 structures when MSVC compatible bitfields are involved.
14509 Change method of computing location of MS bitfields to
14510 be compatible with #pragma pack(n).
14511
14512 * tree.h (record_layout_info): Add new field
14513 remaining_in_alignment.
14514
14515 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
14516 (pragma pack): Add paragraph on MSVC bitfield packing.
14517
14518 2002-09-18 Richard Earnshaw (reanrsha@arm.com)
14519
14520 PR optimization/7967
14521 * arm.md (ne_zeroextractsi): Add clobber of the condition code
14522 register.
14523
14524 2002-09-18 Kazu Hirata <kazu@cs.umass.edu>
14525
14526 * config/s390/s390.c: Follow spelling conventions.
14527 * config/sh/lib1funcs.asm: Likewise.
14528 * config/sh/sh.c: Likewise.
14529 * config/sh/sh.h: Likewise.
14530 * config/sparc/sparc.c: Likewise.
14531 * config/sparc/sparc.h: Likewise.
14532 * config/sparc/sparc.md: Likewise.
14533 * config/stormy16/stormy16.c: Likewise.
14534 * config/stormy16/stormy16.h: Likewise.
14535 * config/v850/v850.c: Likewise.
14536 * config/v850/v850.h: Likewise.
14537 * config/vax/vax.c: Likewise.
14538 * config/vax/vax.h: Likewise.
14539
14540 2002-09-18 Nick Clifton <nickc@redhat.com>
14541
14542 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
14543 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
14544 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
14545
14546 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
14547
14548 * function.c (max_parm_reg_num): Remove.
14549 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
14550 drop_through_at_end_p, move_cleanups_up,
14551 expand_end_case_dummy, case_index_expr_type): Likewise.
14552 * stor-layout.c (pos_from_byte): Likewise.
14553 * tree.c (chain_member_value, chain_member_purpose, listify,
14554 tree_int_cst_msb, index_type_equal): Likewise.
14555 * tree.h: Remove prototypes for unused functions.
14556
14557 2002-09-17 Zack Weinberg <zack@codesourcery.com>
14558
14559 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
14560 statement that the only translation is to en_UK.
14561
14562 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
14563
14564 * config/alpha/alpha.c: Follow spelling conventions.
14565 * config/alpha/alpha.h: Likewise.
14566 * config/alpha/alpha.md: Likewise.
14567 * config/arc/arc.h: Likewise.
14568 * config/arm/arm.c: Likewise.
14569 * config/arm/arm.h: Likewise.
14570 * config/arm/arm.md: Likewise.
14571 * config/arm/pe.c: Likewise.
14572 * config/arm/unknown-elf.h: Likewise.
14573 * config/avr/avr.c: Likewise.
14574 * config/avr/avr.h: Likewise.
14575 * config/c4x/c4x.c: Likewise.
14576 * config/cris/cris.c: Likewise.
14577 * config/cris/cris.h: Likewise.
14578
14579 2002-09-17 Samuel Figueroa <figueroa@apple.com>
14580
14581 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
14582 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
14583 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
14584
14585 2002-09-17 Dale Johannesen <dalej@apple.com>
14586
14587 * cfgcleanup.c (try_forward_edges): Do not forward a
14588 branch to just after a loop exit before loop optimization;
14589 this interfered with doloop detection.
14590
14591 2002-09-17 Nick Clifton <nickc@redhat.com>
14592
14593 * config/arm/arm.c (output_return_instruction): Do not
14594 writeback the stack pointer when it is being loaded.
14595 (arm_output_epilogue): Likewise.
14596
14597 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
14598
14599 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
14600 generate a pseudo reg that receives the result of a libcall.
14601 (prepare_float_lib_cmp): Likewise.
14602
14603 2002-09-17 Steve Ellcey <sje@cup.hp.com>
14604
14605 * config/ia64/elf.h: Remove CPP_PREDEFINES.
14606
14607 Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
14608
14609 Fix PR/7014 and related objc bugs:
14610 * c-typeck.c (comp_target_types): Added a reflexive argument.
14611 Pass it to ObjC when/if calling objc_comptypes(). Updated all
14612 callers to provide the appropriate reflexive argument.
14613 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
14614 typechecking for all cases of comparisons and assignments,
14615 particularly the obscure and less common ones involving protocols.
14616
14617 2002-09-17 Nick Clifton <nickc@redhat.com>
14618
14619 * machmode.def (V1DImode): New mode. A single element vector.
14620 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
14621 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
14622 * tree.c (build_common_tree_nodes_2): Build
14623 unsigned_V1DI_type_node and V1D1_type_node.
14624 * c-common.c (c_common_type_for_mode): Return
14625 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
14626 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
14627
14628 Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
14629
14630 * doc/objc.texi (Constant string objects): Extended documentation
14631 to make clear that the constant string class ivar layout is
14632 completely fixed.
14633
14634 2002-09-17 Roger Sayle <roger@eyesopen.com>
14635
14636 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
14637 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
14638
14639 2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14640
14641 * config/mips/mips.c (save_restore_insns): Remove unused variable.
14642 * gcc.c (make_relative_prefix): Likewise.
14643 * loop.c (check_final_value): Likewise.
14644 * jump.c (init_label_info): Remove return value.
14645 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
14646
14647 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14648
14649 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
14650 (ASM_PN_FORMAT): Define.
14651
14652 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14653
14654 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
14655 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
14656 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
14657 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
14658 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
14659 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
14660 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
14661 Delete.
14662 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
14663 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
14664 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
14665
14666 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
14667 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
14668
14669 2002-09-16 Richard Henderson <rth@redhat.com>
14670
14671 * expr.c (emit_block_move): Set memory block size as appropriate
14672 for the copy.
14673
14674 2002-09-16 Richard Henderson <rth@redhat.com>
14675
14676 PR fortran/3924
14677 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
14678
14679 2002-09-16 Richard Henderson <rth@redhat.com>
14680
14681 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
14682 as well as OFFSET for BITPOS.
14683
14684 2002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
14685
14686 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
14687 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
14688 winchip2 and c3.
14689 * doc/invoke.texi: Mention new aliases.
14690
14691 2002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
14692
14693 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
14694 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
14695 downward.
14696 * function.c (pad_below): Always compile.
14697 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
14698 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
14699 Pad below when the argument is not in a register and the padding
14700 direction is downward.
14701
14702 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
14703 (PAD_VARARGS_DOWN): Define.
14704 * pa.c (function_arg_padding): Revise padding directions to make them
14705 compatible with the 32 and 64-bit runtime architecture documentation.
14706 (hppa_va_arg): Add code to handle variable and size zero arguments
14707 passed by reference on TARGET_64BIT. Reformat.
14708 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
14709 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
14710 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
14711 Add comments.
14712 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
14713 (RETURN_IN_MEMORY): Return size zero types in memory.
14714 (FUNCTION_VALUE): Return TFmode in general registers.
14715 (MUST_PASS_IN_STACK): Define.
14716 (FUNCTION_ARG_BOUNDARY): Simplify.
14717 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
14718 by reference.
14719 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
14720
14721 2002-09-16 Richard Henderson <rth@redhat.com>
14722
14723 * real.c (do_fix_trunc): New.
14724 (real_arithmetic): Call it.
14725 * simplify-rtx.c (simplify_unary_operation): Handle FIX
14726 with a floating-point result mode.
14727
14728 2002-09-16 Richard Henderson <rth@redhat.com>
14729
14730 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
14731 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
14732 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
14733 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
14734 * builtins.c (fold_builtin_nan): New.
14735 (fold_builtin): Call it.
14736 * real.c (real_nan): Parse a non-empty string.
14737 (round_for_format): Fix NaN significand truncation.
14738 * real.h (real_nan): Return bool.
14739 * doc/extend.texi: Document new builtins.
14740
14741 2002-09-16 Jason Merrill <jason@redhat.com>
14742 Danny Smith <dannysmith@users.sourceforge.net>
14743
14744 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
14745 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
14746 (i386_pe_mark_dllimport): Not here.
14747
14748 2002-09-16 Nathan Sidwell <nathan@codesourcery.com>
14749
14750 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
14751
14752 2002-09-16 Geoffrey Keating <geoffk@redhat.com>
14753
14754 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
14755 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
14756 < 64.
14757 (rs6000_emit_cmove): Use real_isinf not target_isinf.
14758
14759 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
14760
14761 * calls.c (emit_library_call_value_1): Don't refer to
14762 hard_libcall_value.
14763 * optabs.c (prepare_float_lib_cmp): Likewise.
14764
14765 2002-09-16 Geoffrey Keating <geoffk@apple.com>
14766
14767 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
14768 mangling.
14769
14770 The following changes are merged from pch-branch:
14771
14772 * doc/gty.texi (GTY Options): Document %a.
14773 * gengtype.c (do_scalar_typedef): New function.
14774 (process_gc_options): Handle `length' option.
14775 (set_gc_used_type): A pointer to an array of structures doesn't
14776 qualify as a pointer to a structure.
14777 (output_escaped_param): Add `%a' escape.
14778 (write_gc_structure_fields): Allow 'desc' on array of unions.
14779 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
14780 do_scalar_typedef.
14781
14782 * gengtype.c (enum rtx_code): Make global.
14783 (rtx_format): Make global.
14784 (rtx_next): New.
14785 (gen_rtx_next): New.
14786 (write_rtx_next): New.
14787 (adjust_field_rtx_def): Skip fields marked by chain_next.
14788 (open_base_files): Delete redundant prototype.
14789 (write_enum_defn): New.
14790 (output_mangled_typename): Correct abort call.
14791 (write_gc_marker_routine_for_structure): Handle chain_next and
14792 chain_prev options.
14793 (finish_root_table): Don't output redundant \n.
14794 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
14795 * c-tree.h (union lang_tree_node): Add chain_next option.
14796
14797 * gengtype.h (NUM_PARAM): New definition.
14798 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
14799 * gengtype.c (find_param_structure): New.
14800 (adjust_field_type): Handle param<n>_is option.
14801 (process_gc_options): Detect use_params option. Update callers.
14802 (set_gc_used_type): Add 'param' parameter, update callers. Handle
14803 'use_params' option.
14804 (open_base_files): Add splay-tree.h to list of files included.
14805 (output_mangled_typename): New.
14806 (write_gc_structure_fields): Update 'param' parameter to support
14807 multiple parameters. Change name mangling. Allow parameterized
14808 fields to have an apparent scalar type. Handle param<n>_is options,
14809 use_param option.
14810 (write_gc_marker_routine_for_structure): Update for change to name
14811 mangling. Better guess the output file for parameterized types.
14812 (write_gc_types): Update for change to name mangling.
14813 (write_gc_root): Update for change to name mangling. Handle (ignore)
14814 param<n>_is options.
14815 * doc/gty.texi (GTY Options): Add description of param<n>_is
14816 options, use_params option.
14817 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
14818 * gengtype-lex.l: Produce token for param<n>_is.
14819 * gengtype-yacc.y: Parse param<n>_is.
14820
14821 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
14822
14823 * rtl.c: Update comment describing rtx_format.
14824 * rtl.h (union rtunion): Separate definition and typedef.
14825 (struct rtx_def): Use gengtype to mark.
14826 * Makefile.in (gengtype.o): Also depend on rtl.def.
14827 * ggc.h (ggc_mark_rtx_children): Delete prototype.
14828 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
14829 * ggc-common.c (ggc_mark_rtx_children): Delete.
14830 (ggc_mark_rtx_children_1): Delete.
14831 (gt_ggc_m_rtx_def): Delete.
14832 * gengtype.c (adjust_field_rtx_def): New.
14833 (adjust_field_type): Call adjust_field_rtx_def.
14834 (write_gc_structure_fields): Add 'default' case to switch if none
14835 is specified; remove unused code.
14836
14837 * tree.h (struct tree_exp): Update for change to meaning
14838 of special.
14839 * gengtype.c (adjust_field_tree_exp): New function.
14840 (adjust_field_type): Handle `tree_exp' special here.
14841 (write_gc_structure_fields): Don't handle `tree_exp' special here.
14842 Handle new `dot' option.
14843
14844 * gengtype.h: Make `info' a pointer-to-const.
14845 * gengtype-yacc.y (yacc_ids): Use xasprintf.
14846
14847 * gengtype.c (write_gc_structure_fields): Remove implementation
14848 of `always' option, add `default' option.
14849 * doc/gty.texi (GTY Options): Remove documentation of `always',
14850 add `default'.
14851
14852 2002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
14853
14854 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
14855
14856 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14857
14858 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
14859
14860 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
14861 instead of the *-protos.h file directly.
14862 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
14863 * darwin.c (machopic_output_stub): Move prototype ...
14864 * darwin-protos.h (machopic_output_stub): ... here.
14865 * rs6000-protos.h (machopic_output_stub): Don't declare.
14866
14867 2002-09-16 Richard Henderson <rth@redhat.com>
14868
14869 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
14870
14871 2002-09-16 Richard Henderson <rth@redhat.com>
14872
14873 * real.c, real.h: Rewrite from scratch.
14874
14875 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
14876 (paranoia): New target.
14877 * builtins.c (fold_builtin_inf): Use new real.h interface.
14878 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
14879 * c-lex.c (interpret_float): Likewise.
14880 * emit-rtl.c (gen_lowpart_common): Likewise.
14881 * optabs.c (expand_float): Use real_2expN.
14882 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
14883 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
14884 (FLOAT_WORDS_BIG_ENDIAN): New.
14885 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
14886 directly to REAL_VALUE_NEGATIVE.
14887 * loop.c (canonicalize_condition): Likewise.
14888 * simplify-rtx.c: Include tree.h.
14889 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
14890 with floating-point result modes.
14891 * toplev.c (backend_init): Call init_real_once.
14892
14893 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
14894 * tree.c (build_real): Likewise.
14895 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
14896 float_values, inited_float_values, check_float_value): Remove.
14897 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
14898 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
14899 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
14900 (VAX_HALFWORD_ORDER): Remove.
14901
14902 2002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
14903
14904 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
14905 (s390_load_address): ... this new function.
14906 (s390_decompose_address): Allow the argument pointer and all
14907 virtual registers as 'pointer' registers.
14908 (s390_expand_plus_operand): Use s390_load_address.
14909 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
14910 ("force_la_31"): New insn pattern.
14911 config/s390/s390-protos.h (legitimize_la_operand): Remove.
14912 (s390_load_address): Add prototype.
14913
14914 * config/s390/s390.c: Include "optabs.h".
14915 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
14916 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
14917 s390_expand_cmpstr): Add prototypes.
14918 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
14919 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
14920 for operands 0 and 1 to "memory_operand". Add type attribute.
14921 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
14922 for operands 0 and 1 to "memory_operand". Add type attribute.
14923 ("movstrdi_long", "movstrsi_long"): Remove.
14924 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
14925 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
14926 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
14927 ("clrstrsico"): Remove, replace by ...
14928 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
14929 ("clrstrsi_64"): Rename to "clrstr_long_64".
14930 ("clrstrsi_31"): Rename to "clrstr_long_31".
14931 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
14932 ("cmpstr_const"): Remove, replace by ...
14933 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
14934 ("cmpstr_64"): Rename to "cmpstr_long_64".
14935 ("cmpstr_31"): Rename to "cmpstr_long_31".
14936
14937 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
14938
14939 * ABOUT-NLS: Follow spelling conventions.
14940 * ChangeLog: Likewise.
14941 * ChangeLog.1: Likewise.
14942 * ChangeLog.2: Likewise.
14943 * ChangeLog.3: Likewise.
14944 * ChangeLog.4: Likewise.
14945 * ChangeLog.5: Likewise.
14946 * ChangeLog.6: Likewise.
14947 * FSFChangeLog.10: Likewise.
14948 * FSFChangeLog.11: Likewise.
14949 * c-common.c: Likewise.
14950 * c-lex.c: Likewise.
14951 * c-objc-common.c: Likewise.
14952 * cppexp.c: Likewise.
14953 * cppinit.c: Likewise.
14954 * cpplex.c: Likewise.
14955 * doloop.c: Likewise.
14956 * flow.c: Likewise.
14957 * function.c: Likewise.
14958 * integrate.c: Likewise.
14959 * loop.c: Likewise.
14960 * reg-stack.c: Likewise.
14961 * reload.h: Likewise.
14962 * ssa.c: Likewise.
14963
14964 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14965
14966 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
14967 * vmsdbgout.c: Include "target.h".
14968
14969 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
14970
14971 * ChangeLog: Follow spelling conventions.
14972 * ChangeLog.0: Likewise.
14973 * ChangeLog.1: Likewise.
14974 * ChangeLog.2: Likewise.
14975 * ChangeLog.4: Likewise.
14976 * ChangeLog.6: Likewise.
14977 * config.gcc: Likewise.
14978 * dwarfout.c: Likewise.
14979 * reload1.c: Likewise.
14980 * simplify-rtx.c: Likewise.
14981 * unwind-sjlj.c: Likewise.
14982 * config/avr/avr.h: Likewise.
14983 * config/d30v/d30v.h: Likewise.
14984 * config/frv/frv.c: Likewise.
14985 * config/frv/frv.h: Likewise.
14986 * config/ip2k/ip2k.h: Likewise.
14987 * config/m88k/m88k-move.sh: Likewise.
14988 * config/stormy16/stormy16.c: Likewise.
14989 * config/stormy16/stormy16.h: Likewise.
14990 * doc/extend.texi: Likewise.
14991 * doc/interface.texi: Likewise.
14992 * doc/invoke.texi: Likewise.
14993 * doc/md.texi: Likewise.
14994 * doc/rtl.texi: Likewise.
14995 * doc/tm.texi: Likewise.
14996 * doc/trouble.texi: Likewise.
14997 * ginclude/float.h: Likewise.
14998 * treelang/treelang.texi: Likewise.
14999
15000 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15001
15002 * i386-protos.h (i386_pe_dllexport_name_p,
15003 i386_pe_dllimport_name_p, i386_pe_unique_section,
15004 i386_pe_declare_function_type, i386_pe_record_external_function,
15005 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
15006 prototype.
15007 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
15008 * i386/t-interix (winnt.o): Likewise.
15009
15010 * v850-protos.h (v850_output_addr_const_extra): Prototype.
15011
15012 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
15013
15014 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
15015 MIPS ABI CPP macros.
15016 (TARGET_CPU_CPP_BUILTINS): Redefine.
15017 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
15018 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
15019
15020 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15021
15022 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
15023
15024 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
15025
15026 * ChangeLog: Follow spelling conventions.
15027 * ChangeLog.0: Likewise.
15028 * ChangeLog.1: Likewise.
15029 * ChangeLog.2: Likewise.
15030 * ChangeLog.3: Likewise.
15031 * ChangeLog.4: Likewise.
15032 * ChangeLog.5: Likewise.
15033 * ChangeLog.6: Likewise.
15034 * FSFChangeLog.10: Likewise.
15035 * FSFChangeLog.11: Likewise.
15036 * c-common.c: Likewise.
15037 * c-common.h: Likewise.
15038 * c-format.c: Likewise.
15039 * c-opts.c: Likewise.
15040 * cpplib.c: Likewise.
15041 * langhooks.h: Likewise.
15042 * real.c: Likewise.
15043 * reg-stack.c: Likewise.
15044 * toplev.c: Likewise.
15045 * config/arm/arm.c: Likewise.
15046 * config/arm/arm.md: Likewise.
15047 * config/arm/linux-gas.h: Likewise.
15048 * config/arm/netbsd.h: Likewise.
15049 * config/c4x/c4x.c: Likewise.
15050 * config/c4x/c4x.h: Likewise.
15051 * config/c4x/c4x.md: Likewise.
15052 * config/c4x/libgcc.S: Likewise.
15053 * config/fr30/fr30.md: Likewise.
15054 * config/frv/frv.md: Likewise.
15055 * config/ia64/ia64.md: Likewise.
15056 * config/mips/mips.h: Likewise.
15057 * config/mn10300/mn10300.c: Likewise.
15058 * config/stormy16/stormy16.c: Likewise.
15059 * config/v850/v850.md: Likewise.
15060 * doc/extend.texi: Likewise.
15061 * doc/invoke.texi: Likewise.
15062 * doc/md.texi: Likewise.
15063
15064 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
15065
15066 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
15067 library if -pthread is specified.
15068
15069 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
15070
15071 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
15072 for --enable-threads=yes and --enable-threads=posix.
15073
15074 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
15075
15076 * config/sparc/cypress.md: Replace Sparc with SPARC.
15077 * config/sparc/freebsd.h: Likewise.
15078 * config/sparc/gmon-sol2.c: Likewise.
15079 * config/sparc/hypersparc.md: Likewise.
15080 * config/sparc/lb1spc.asm: Likewise.
15081 * config/sparc/lb1spl.asm: Likewise.
15082 * config/sparc/linux.h: Likewise.
15083 * config/sparc/linux64.h: Likewise.
15084 * config/sparc/lynx.h: Likewise.
15085 * config/sparc/sol2.h: Likewise.
15086 * config/sparc/sparc-modes.def: Likewise.
15087 * config/sparc/sparc.c: Likewise.
15088 * config/sparc/sparc.h: Likewise.
15089 * config/sparc/sparc.md: Likewise.
15090 * config/sparc/sparclet.md: Likewise.
15091 * config/sparc/supersparc.md: Likewise.
15092 * config/sparc/sysv4.h: Likewise.
15093 * config/sparc/vxsim.h: Likewise.
15094 * config/sparc/vxsparc64.h: Likewise.
15095
15096 2002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15097
15098 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
15099 * collect2.c (ignore_library, aix_std_libs): Move into the context
15100 where it is used.
15101 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
15102 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
15103 * m88k.c (output_call): Wrap variables with macro controlling use.
15104 * rs6000.md: Likewise. Const-ify variable.
15105 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
15106 * final.c (only_leaf_regs_used): Likewise.
15107 * regrename.c (maybe_mode_change): Mark parameter with
15108 ATTRIBUTE_UNUSED.
15109 * reload.c (find_valid_class): Likewise. Likewise for variable.
15110 (find_reloads_address_1): Likewise.
15111 * varasm.c (weak_finish): Wrap variable with macro controlling use.
15112
15113 2002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
15114
15115 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
15116
15117 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
15118
15119 * ChangeLog: Follow spelling conventions.
15120 * ChangeLog.0: Likewise.
15121 * ChangeLog.2: Likewise.
15122 * ChangeLog.3: Likewise.
15123 * ChangeLog.4: Likewise.
15124 * ChangeLog.5: Likewise.
15125 * ChangeLog.6: Likewise.
15126 * cppfiles.c: Likewise.
15127 * cppinit.c: Likewise.
15128 * cpplib.h: Likewise.
15129 * cse.c: Likewise.
15130 * debug.h: Likewise.
15131 * df.c: Likewise.
15132 * dominance.c: Likewise.
15133 * hashtable.c: Likewise.
15134 * hashtable.h: Likewise.
15135 * loop.c: Likewise.
15136 * config/arm/README-interworking: Likewise.
15137 * config/arm/arm.c: Likewise.
15138 * config/arm/arm.h: Likewise.
15139 * config/arm/arm.md: Likewise.
15140 * config/dsp16xx/dsp16xx.h: Likewise.
15141 * config/frv/frv.c: Likewise.
15142 * config/frv/frv.h: Likewise.
15143 * config/ip2k/ip2k.h: Likewise.
15144 * config/rs6000/rs6000.c: Likewise.
15145 * config/stormy16/stormy-abi: Likewise.
15146 * config/stormy16/stormy16.h: Likewise.
15147 * config/v850/v850.c: Likewise.
15148
15149 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
15150
15151 * loop.c: Fix a comment typo.
15152
15153 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
15154
15155 * config/fr30/fr30.h: Fix comment typos.
15156 * config/frv/frv.c: Likewise.
15157 * config/i386/xmmintrin.h: Likewise.
15158 * config/mips/mips.c: Likewise.
15159 * config/sh/sh.c: Likewise.
15160
15161 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
15162
15163 * haifa-sched.c: Follow spelling conventions.
15164 * regclass.c: Likewise.
15165 * regrename.c: Likewise.
15166 * config/fp-bit.c: Likewise.
15167 * config/frv/frv.h: Likewise.
15168 * config/m88k/m88k.c: Likewise.
15169 * config/mcore/mcore.c: Likewise.
15170 * config/rs6000/darwin.h: Likewise.
15171 * config/rs6000/gnu.h: Likewise.
15172 * config/rs6000/linux.h: Likewise.
15173 * config/rs6000/linux64.h: Likewise.
15174 * config/rs6000/rs6000.c: Likewise.
15175 * config/rs6000/rs6000.h: Likewise.
15176 * config/sh/sh.c: Likewise.
15177 * config/sparc/sparc.c: Likewise.
15178 * config/sparc/ultra1_2.md: Likewise.
15179
15180 2002-09-14 Stephane Carrez <stcarrez@nerim.fr>
15181
15182 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
15183 memory operand when source is 0 (K constraint).
15184 ("movsi_internal"): Likewise.
15185 ("movdf_internal"): Likewise.
15186 ("movsf_internal"): Likewise.
15187
15188 2002-09-14 Alan Modra <amodra@bigpond.net.au>
15189
15190 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
15191 targetm.binds_local_p to set SYMBOL_REF_FLAG.
15192 (rs6000_xcoff_encode_section_info): Likewise.
15193 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
15194
15195 2002-09-10 Theodore A. Roth <troth@verinet.com>
15196
15197 * gcc/config/avr/avr.h: Set default options for C++ for avr.
15198
15199 2002-09-13 Roger Sayle <roger@eyesopen.com>
15200
15201 * stmt.c (struct nexting): Remove unused alt_end_label field.
15202 (expand_start_loop): Delete initialization of alt_end_label.
15203 (expand_start_null_loop): Likewise.
15204 (expand_exit_loop_if_false): Delete updating of alt_end_label.
15205
15206 2002-09-13 Richard Henderson <rth@redhat.com>
15207
15208 * Makefile.in (toplev.o): Depend on real.h.
15209 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
15210
15211 2002-09-14 Alan Modra <amodra@bigpond.net.au>
15212
15213 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
15214 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
15215 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
15216
15217 2002-09-13 Nathan Sidwell <nathan@codesourcery.com>
15218
15219 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
15220
15221 2002-09-13 Steve Ellcey <sje@cup.hp.com>
15222
15223 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
15224 ia64*-*-linux*): Set extra_parts.
15225 * config/ia64/t-aix (EXTRA_PARTS): Remove.
15226 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
15227
15228 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
15229
15230 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
15231 * config/h8300/h8300.c: Likewise.
15232 * config/h8300/h8300.h: Likewise.
15233 * config/h8300/h8300.md: Likewise.
15234 * doc/invoke.texi: Likewise.
15235
15236 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
15237
15238 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
15239
15240 2002-09-13 Richard Henderson <rth@redhat.com>
15241
15242 * config/alpha/alpha.md (attr type): Add callpal.
15243 (imb, trap, load_tp, set_tp): Use it.
15244 * config/alpha/ev4.md (ev4_callpal): New.
15245 * config/alpha/ev5.md (ev5_callpal): New.
15246 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
15247 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
15248 (alphaev5_insn_pipe): Likewise.
15249
15250 2002-09-13 Andreas Jaeger <aj@suse.de>
15251
15252 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
15253
15254 2002-09-13 Steve Ellcey <sje@cup.hp.com>
15255
15256 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
15257 LIB2ADDEH): New, set to NULL.
15258 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
15259
15260 2002-09-13 Steve Ellcey <sje@cup.hp.com>
15261
15262 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
15263 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
15264 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
15265 Add declarations.
15266 (_U_Qfneg): Remove.
15267
15268 2002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
15269
15270 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
15271 for H8/300, H8S aa:8 mode.
15272 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
15273 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
15274 for H8/300 aa:8 mode.
15275
15276 2002-09-13 Hartmut Penner <hpenner@de.ibm.com>
15277
15278 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
15279 insns.
15280
15281 2002-09-12 Richard Henderson <rth@redhat.com>
15282
15283 * Makefile.in (HOST_PRINT): Use print-rtl1.o
15284 (print-rtl.o): Don't define GENERATOR_FILE.
15285 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
15286 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
15287 unless GENERATOR_FILE.
15288
15289 2002-09-12 Stan Shebs <shebs@apple.com>
15290
15291 * config/darwin.h (USER_LABEL_PREFIX): Define here...
15292 * config/i386/darwin.h: ... instead of here.
15293
15294 * target.h (struct gcc_target): New field
15295 terminate_dw2_eh_frame_info.
15296 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
15297 (TARGET_INITIALIZER): Add it.
15298 * dwarf2out.c (output_call_frame_info): Use target hook.
15299 * dwarf2asm.c (dw2_asm_output_delta): Use macro
15300 ASM_OUTPUT_DWARF_DELTA if defined.
15301 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
15302 (ASM_OUTPUT_DWARF_DELTA): Ditto.
15303 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
15304 (ASM_OUTPUT_DWARF_PCREL): Ditto.
15305 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
15306 (powerpc-*-darwin*): Ditto.
15307 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
15308 to work correctly for Darwin.
15309 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
15310 (STARTFILE_SPEC): Add crtbegin.o.
15311 (ENDFILE_SPEC): Define.
15312 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
15313 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
15314 (ASM_OUTPUT_DWARF_DELTA): Define.
15315 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
15316 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
15317
15318 2002-09-13 Alan Modra <amodra@bigpond.net.au>
15319
15320 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
15321 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
15322 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
15323
15324 2002-09-12 Zack Weinberg <zack@codesourcery.com>
15325
15326 * toplev.c: Move default definition of USER_LABEL_PREFIX...
15327 * defaults.h: ... here.
15328
15329 2002-09-12 Richard Henderson <rth@redhat.com>
15330
15331 * vax.c: Include tree.h earlier.
15332
15333 2002-09-12 Stan Shebs <shebs@apple.com>
15334
15335 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
15336 (machopic_operand_p): Ditto.
15337
15338 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
15339
15340 * config/arm/arm.c (arm_compute_initial_elimination_offset):
15341 Fix a comment typo.
15342
15343 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
15344
15345 * toplev.c (do_abort): Fix a comment typo.
15346
15347 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
15348
15349 * cselib.c: Fix comment formatting.
15350 * gengtype.c: Likewise.
15351
15352 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
15353
15354 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
15355 (udivmodhi4): Likewise.
15356
15357 2002-09-12 Graham Stott <graham.stott@btinternet.com>
15358 Roger Sayle <roger@eyesopen.com>
15359
15360 * i386.c (any_fp_register_operand, fp_register_operand,
15361 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
15362 New predicate functions.
15363 * i386-protos.h: Add their prototypes.
15364 * i386.h: Add them to PREDICATE_CODES.
15365 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
15366 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
15367 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
15368 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
15369 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
15370 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
15371 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
15372 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
15373 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
15374 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
15375 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
15376 Use these new predicates to simplify and correct the use of
15377 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
15378
15379 2002-09-12 Jason Merrill <jason@redhat.com>
15380
15381 * diagnostic.c (output_add_identifier): New fn.
15382 * diagnostic.h: Declare it.
15383
15384 * calls.c (store_one_arg): Use size_in_bytes to determine the
15385 amount of space to push.
15386
15387 2002-09-12 Jakub Jelinek <jakub@redhat.com>
15388
15389 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
15390
15391 2002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
15392
15393 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
15394 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
15395 (s390_select_ccmode): Likewise.
15396 (s390_branch_condition_mask): Likewise.
15397 (optimization_options): Do not set flag_branch_on_count.
15398 (s390_split_branches): Handle doloop branches.
15399 (s390_chunkify_pool): Likewise.
15400 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
15401 ("doloop_end"): New expander.
15402 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
15403 associated splitters): New.
15404
15405 2002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
15406
15407 * genattrtab.c (simplify_cond): Remove unused variable(s).
15408 * global.c (record_conflicts): Likewise.
15409 * jump.c (rebuild_jump_labels): Likewise.
15410 * loop.c (scan_loop, check_final_value): Likewise.
15411 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
15412 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
15413 * rtlanal.c (reg_set_p): Likewise.
15414 * stmt.c (expand_asm_operands, expand_decl): Likewise.
15415 * genautomata.c (empty_reserv): Remove.
15416 * loop.c (max_luid): Likewise.
15417 * sched-rgn.c (bitlst_table_size): Likewise.
15418
15419 2002-09-11 Nathan Sidwell <nathan@codesourcery.com>
15420
15421 Reimplement gcov format.
15422 * gcov-io.h: Replace.
15423 * gcov.c: Reimplement.
15424 * gcov-iov.c: New file.
15425 * gcov-dump.c: New file.
15426 * libgcc2.c (L_bb): Replace with ...
15427 (L_gcov): ... this.
15428 (struct bb_function_info, struct bb): Remove.
15429 (inhibit_libc): Never inhibit.
15430 (gcov_list, gcov_crc): New static variables.
15431 (gcov_version_mismatch): New static function.
15432 (__bb_exit_func): Renamed to ...
15433 (__gcov_exit): ... here. Made static. Reimplement.
15434 (__gcov_init_func): Rename to ...
15435 (__gcov_init): ... here. Check version, update crc.
15436 (__bb_fork_func): Rename to ...
15437 (__gcov_flush): ... here.
15438 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
15439 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
15440 * calls.c (expand_call): Call __gcov_flush.
15441 * profile.c (bb_file, last_bb_file_name): Remove.
15442 (bbg_file_name): New global variable.
15443 (output_gcov_string): Remove.
15444 (get_exec_counts): Reimplement.
15445 (branch_prob): Reimplement gcov file writing.
15446 (init_branch_prob): Create bbg_file_name, don't create
15447 bb_file_name.
15448 (end_branch_prob): Adjust. Don't remove counter file when
15449 instrumenting ourselves.
15450 (create_profiler): Adjust.
15451 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
15452 point to gcov-io.h.
15453 * Makefile.in (LANGUAGES): Add gcov-dump.
15454 (coverageexts): Remove .bb.
15455 (STAGESTUFF): Add gcov-dump.
15456 (LIB2FUNCS_ST): Replace _bb with _gcov.
15457 (profile.o): Depend on gcov-iov.h.
15458 (final.o): Don't depend on profile.h, gcov.h.
15459 (gcov.o): Depend on gcov-iov.h.
15460 (gcov-iov.o): New target.
15461 (gcov-iov): New target.
15462 (gcov-iov.h): New target.
15463 (gcov-dump.o): New target.
15464 (GCOV_DUMP_OBJS): New variable.
15465 (gcov-dump): New target.
15466 (distclean): Remove coverageexts.
15467 (stage1): Remove coverageexts.
15468
15469 2002-09-11 Hartmut Penner <hpenner@de.ibm.com>
15470
15471 * fold-const.c (make_range): Only narrow to signed range if
15472 the signed range is smaller than the unsigned range.
15473
15474 2002-09-12 Alan Modra <amodra@bigpond.net.au>
15475
15476 * emit-rtl.c (set_mem_size): New function.
15477 * expr.h (set_mem_size): Declare.
15478 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
15479 (expand_block_move): Instead, use adjust_address and
15480 replace_equiv_address to generate proper aliasing info.
15481 Move common code out of conditionals. Localize vars.
15482
15483 2002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
15484
15485 * optabs.c (expand_binop): Minor cleanup.
15486 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
15487
15488 2002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
15489
15490 * print-tree.c (print_node): Print the restrict qualifier.
15491
15492 2002-09-11 Janis Johnson <janis187@us.ibm.com>
15493
15494 * doc/install.texi: Fix typos.
15495
15496 2002-09-11 Zack Weinberg <zack@codesourcery.com>
15497
15498 * Makefile.in: Remove all references to s-under and underscore.c.
15499 * collect2.c, tlink.c: Change all uses of prepends_underscore
15500 to look directly at USER_LABEL_PREFIX.
15501
15502 2002-09-11 David Edelsohn <edelsohn@gnu.org>
15503
15504 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
15505 alignment to csect.
15506 (rs6000_xcoff_unique_section): Only set section name for public
15507 data.
15508 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
15509 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
15510 duplicate definition.
15511
15512 2002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
15513
15514 * pa.md (extzv): Check predicates before emitting extzv_32.
15515 (insv): Likewise.
15516
15517 2002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
15518
15519 * config/s390/s390.h (MOVE_MAX): Define to correct value.
15520 (MAX_MOVE_MAX): Define.
15521 (MOVE_BY_PIECES_P): Define.
15522 (CLEAR_BY_PIECES_P): Define.
15523
15524 2002-09-10 Denis Chertykov <denisc@overta.ru>
15525
15526 * config/avr/avr.md (movstrhi): Use right operands for conversion.
15527
15528 2002-09-10 Richard Earnshaw <rearnsha@arm.com>
15529
15530 PR c/7873
15531 * arm.md (insv): Use reg_or_int_operand for operand[3].
15532
15533 2002-09-10 David Edelsohn <edelsohn@gnu.org>
15534
15535 * rs6000.c (rs6000_assemble_visibility): Protect declaration
15536 inside macro. Correct function definition typo.
15537 (rs6000_xcoff_section_type_flags): New function.
15538 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
15539 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
15540 with appropriate PIC test.
15541 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
15542 determine readonly.
15543 (rs6000_binds_local_p): Combine PIC flags.
15544 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
15545 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
15546
15547 2002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15548
15549 * h8300.md: Fix signed/unsigned warnings.
15550 * mcore.md: Likewise.
15551 * mn10300.c (mask_ok_for_mem_btst): Likewise.
15552
15553 2002-09-09 Per Bothner <per@bothner.com>
15554
15555 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
15556 characters, and only print TREE_STRING_LENGTH chars.
15557
15558 2002-09-09 Steve Ellcey <sje@cup.hp.com>
15559
15560 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
15561 (ASM_FILE_END) New.
15562 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
15563 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
15564 * config/ia64/ia64.c (ia64_asm_output_external): Create list
15565 of external functions if TARGET_HPUX_LD is true.
15566 (ia64_hpux_add_extern_decl): New, routine to put names on
15567 list of external functions.
15568 (ia64_hpux_asm_file_end): Put out declarations for external
15569 functions if and only if they are used.
15570
15571 2002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
15572
15573 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
15574 on TARGET_64BIT before pic register restore.
15575
15576 2002-09-09 David Edelsohn <edelsohn@gnu.org>
15577
15578 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
15579 (TARGET_HAVE_TLS): New description.
15580
15581 2002-09-09 Janis Johnson <janis187@us.ibm.com>
15582
15583 * doc/extend.texi (Statement Exprs): Fix broken link.
15584
15585 2002-09-09 Denis Chertykov <denisc@overta.ru>
15586
15587 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
15588 right conversion of operands[1].
15589
15590 2002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
15591
15592 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
15593 commutative. Use "nonimmediate_operand" instead of "register_operand"
15594 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
15595
15596 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
15597 as commutative.
15598
15599 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
15600 mark as commutative. Use "nonimmediate_operand" instead of
15601 "register_operand" as predicate for operand 1.
15602
15603 ("movstrictsi"): Fix typo in insn name.
15604
15605 2002-09-09 Jan Hubicka <jh@suse.cz>
15606
15607 * i386.c (index_register_operand): New.
15608 * i386.h (predicate_codes): Add new predicate.
15609 * i386.md (lea_general_*): Use index_register_operand
15610 (ashift to lea splitter): Do not produce invalid leas
15611 (ashift to mov+ashift split): New.
15612
15613 2002-09-09 Nick Clifton <nickc@redhat.com>
15614
15615 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
15616 Fix folding marks.
15617
15618 2002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
15619 J"orn Rennecke <joern.rennecke@superh.com>
15620
15621 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
15622
15623 2002-09-09 Alan Modra <amodra@bigpond.net.au>
15624
15625 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
15626 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
15627 attributes.
15628
15629 2002-09-08 Nathan Sidwell <nathan@codesourcery.com>
15630
15631 * basic_block.h (gcov_type): Explain why it is signed.
15632 * final.c: Don't include profile.h.
15633 (struct function_list, functions_head, functions_tail,
15634 end_final): Moved to profile.c
15635 (final): Move arc chaining code to profile.c.
15636 * function.c (prepare_function_start): Remove duplicate line.
15637 * output.h (end_final): Remove prototype.
15638 * predict.c (estimate_loops_at_level): Use gcov_type.
15639 * profile.c (struct function_list, functions_head,
15640 functions_tail): Moved from final.c
15641 (need_func_profiler): Remove.
15642 (instrument_edges): Don't set need_func_profiler.
15643 (get_exec_counts): Avoid signed/unsigned warning.
15644 (compute_checksum): Use crc32.
15645 (branch_prob): Adjust. Chain onto functions_head.
15646 (init_branch_prob): Absorb init_edge_profiler.
15647 (init_edge_profiler): Remove.
15648 (create_profiler): Moved and renamed from final.c:end_final.
15649 Emit data and constructor.
15650 (output_func_start_profiler): Remove.
15651 * profile.h (struct profile_info): checksum is unsigned.
15652 * rtl.h (output_func_start_profiler): Remove prototype.
15653 (create_profiler): Declare.
15654 * toplev.c (compile_file): Call create_profiler, if instrumenting
15655 arcs. Don't call end_final.
15656
15657 2002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15658
15659 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
15660
15661 2002-09-08 Richard Henderson <rth@redhat.com>
15662
15663 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
15664 (DW_OP_GNU_push_tls_address): New.
15665 (DW_OP_lo_user): Fix.
15666 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
15667 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
15668 (size_of_loc_descr): Likewise.
15669 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
15670 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
15671 (loc_descriptor_from_tree): Handle TLS variables.
15672 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
15673 (add_location_or_const_value_attribute): ... not here. Defer
15674 to loc_descriptor_from_tree for TLS variables.
15675
15676 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
15677 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
15678 * config/i386/i386-protos.h: Update.
15679
15680 2002-09-08 Roger Sayle <roger@eyesopen.com>
15681
15682 PR optimization/6405
15683 * unroll.c (loop_iterations): last_loop_insn should be the previous
15684 non-note instruction before loop->end.
15685 * loop.c (strength_reduce): The conditional jump is the last
15686 non-note instruction before loop->end (as above).
15687
15688 2002-09-08 Roger Sayle <roger@eyesopen.com>
15689
15690 * combine.c (try_combine): Handle the case that undobuf.other_insn
15691 has been turned into a return or unconditional jump, by inserting
15692 a BARRIER if necessary.
15693 (simplify_set): Test if a condition code setter has a constant
15694 comparison at compile time, if so convert this insn to a no-op move
15695 and update/simplify the condition code user (undobuf.other_insn).
15696
15697 2002-09-08 Krister Walfridsson <cato@df.lth.se>
15698
15699 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
15700 (CLEAR_INSN_CACHE): Define.
15701
15702 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
15703
15704 * basic-block.h: Fix comment formatting.
15705 * c-common.c: Likewise.
15706 * c-common.h: Likewise.
15707 * c-lex.c: Likewise.
15708 * c-pretty-print.c: Likewise.
15709 * cfglayout.c: Likewise.
15710 * cfgloop.c: Likewise.
15711 * defaults.h: Likewise.
15712 * et-forest.c: Likewise.
15713 * explow.c: Likewise.
15714 * function.h: Likewise.
15715 * gcov.c: Likewise.
15716 * genattrtab.c: Likewise.
15717 * gengtype.c: Likewise.
15718 * ifcvt.c: Likewise.
15719 * libgcc2.c: Likewise.
15720 * loop.c: Likewise.
15721 * profile.c: Likewise.
15722 * ra-build.c: Likewise.
15723 * real.c: Likewise.
15724 * rtl.h: Likewise.
15725 * tracer.c: Likewise.
15726 * tree-inline.c: Likewise.
15727 * varasm.c: Likewise.
15728
15729 2002-09-08 Jan Hubicka <jh@suse.cz>
15730
15731 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
15732 handling.
15733
15734 * loop.c (loop_givs_reduce): Emit addition after.
15735
15736 2002-09-08 Alan Modra <amodra@bigpond.net.au>
15737
15738 * varasm.c (default_assemble_visibility): Rename from
15739 assemble_visibility.
15740 * output.h: Here too.
15741 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
15742 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
15743
15744 2002-09-08 Alan Modra <amodra@bigpond.net.au>
15745
15746 * reload.c (find_reloads <p constraint>): Pass operand_mode to
15747 find_reloads_address.
15748
15749 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
15750
15751 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
15752 (anonymous pattern): Likewise.
15753
15754 2002-09-07 Igor Shevlyakov <igor@microunity.com>
15755
15756 * machmode.def: Add modes for half-float vectors.
15757
15758 2002-09-07 Scott Snyder <snyder@fnal.gov>
15759
15760 PR target/7374
15761 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
15762
15763 2002-09-07 Roger Sayle <roger@eyesopen.com>
15764
15765 * basic-block.h (struct loop): Remove unused cont_dominator field.
15766
15767 2002-09-07 Igor Shevlyakov <igor@microunity.com>
15768
15769 * varasm.c (decode_rtx_const): Don't check undefined field for
15770 CONST_VECTOR.
15771
15772 2002-09-07 Glen Nakamura <glen@imodulo.com>
15773
15774 PR opt/7814
15775 * sched-deps.c (sched_analyze_insn): Make sure to add insn
15776 to reg_last->sets after flushing the dependency lists to guarantee
15777 that subsequent clobbers will be dependent on it.
15778
15779 2002-09-07 Igor Shevlyakov <igor@microunity.com>
15780
15781 * combine.c (simplify_shift_const): Calculate rotate count
15782 correctly for vector operands.
15783
15784 2002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
15785
15786 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
15787 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
15788 tree_expr_nonnegative_p.
15789 (build_conditional_expr): Likewise.
15790 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
15791
15792 2002-09-07 Richard Henderson <rth@redhat.com>
15793
15794 * builtins.def (inf, inff, infl): Mark const.
15795 (huge_val, huge_valf, huge_vall): Likewise.
15796 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
15797
15798 * real.c (ereal_inf): Clear E before use.
15799
15800 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
15801
15802 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
15803 an expander and an anonymous pattern. Zero out the upper half
15804 of the dividend in the expander.
15805 (udivmodqi4): Likewise.
15806
15807 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
15808
15809 * config/h8300/h8300.c: Fix formatting.
15810 * config/h8300/h8300.h: Likewise.
15811 * config/h8300/h8300.md: Likewise.
15812
15813 2002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15814
15815 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
15816 information.
15817
15818 2002-09-07 Graham Stott <graham.stott@btinternet.com>
15819
15820 * rtlanal.c (dead_or_set_regno_p): Fix typo.
15821
15822 2002-09-07 Alan Modra <amodra@bigpond.net.au>
15823
15824 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
15825
15826 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
15827 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
15828 (TARGET_ASM_OUT): Add the above here.
15829 * target.h (struct gcc_target): Add "visibility" field.
15830 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
15831 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
15832 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
15833 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
15834
15835 2002-09-06 Ziemowit Laski <zlaski@apple.com>
15836
15837 * c-lang.c (objc_is_id): New stub.
15838 * c-tree.h (objc_is_id): New forward declaration.
15839 * c-typeck.c (build_c_cast): Do not strip protocol
15840 qualifiers from 'id' type.
15841 * objc/objc-act.c (objc_comptypes): Correct handling
15842 of protocol qualifiers.
15843 (objc_is_id): New.
15844
15845 Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
15846
15847 * pentium.md (pentium-firstvboth): Fix typo.
15848
15849 2002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
15850
15851 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
15852 (enum shift_type, enum h8_cpu): Likewise.
15853 (INL, ROT, LOP, SPC macros): Likewise.
15854 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
15855 const designator.
15856 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
15857 space efficient algorithms when optimize for codesize.
15858
15859 Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
15860
15861 Fix PR/1727 and long-standing failing testcase
15862 objc/formal-protocol-6.m.
15863 * objc-act.c (build_protocol_expr): If compiling for the GNU
15864 runtime, create a list of Protocol statically allocated instances
15865 if it doesn't exist, then add the Protocol object to this same
15866 list.
15867 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
15868 instead of TREE_CHAIN.
15869
15870 Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
15871
15872 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
15873 10k. Fixed category dumping - print out category names with the
15874 proper syntax. Print '@end\n' and not '\n@end' at the end of the
15875 interface.
15876 (finish_objc): Fixed the -gen-decls option. It was printing out
15877 only the last class. Dump an interface declaration of all classes
15878 being compiled instead.
15879
15880 2002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
15881
15882 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
15883 prototype.
15884 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
15885 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
15886 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
15887 rather than GEN_INT.
15888 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
15889 (return_addr_mask, *check_arch2): New.
15890
15891 2002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
15892
15893 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
15894 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
15895 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
15896 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
15897 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
15898 "adddf3", "*adddf3", "*adddf3_ibm",
15899 "addsf3", "*addsf3", "*addsf3_ibm",
15900 "muldi3", "mulsi3", "mulsidi3",
15901 "muldf3", "*muldf3", "*muldf3_ibm",
15902 "mulsf3", "*mulsf3", "*mulsf3_ibm",
15903 "*anddi3_cc", "*anddi3_cconly", "anddi3",
15904 "*andsi3_cc", "*andsi3_cconly", "andsi3",
15905 "*iordi3_cc", "*iordi3_cconly", "iordi3",
15906 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
15907 "*xordi3_cc", "*xordi3_cconly", "xordi3",
15908 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
15909 instead of "register_operand" as predicate for "%0" operand.
15910
15911 2002-09-06 Jakub Jelinek <jakub@redhat.com>
15912
15913 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
15914 unconditionally when gcc_cv_as_flags64 checks are gone.
15915 * configure: Rebuilt.
15916
15917 2002-09-06 Alan Modra <amodra@bigpond.net.au>
15918
15919 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
15920 2002-07-26 change. Comment.
15921
15922 2002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15923
15924 * frv.c (frv_unique_section, frv_select_section,
15925 frv_select_rtx_section): Delete.
15926 (frv_in_small_data_p): New.
15927 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
15928 TARGET_ASM_SELECT_RTX_SECTION): Delete.
15929 (TARGET_IN_SMALL_DATA_P): Define.
15930
15931 2002-09-05 Dale Johannesen <dalej@apple.com>
15932
15933 * reload1.c (reload): Retain only those memory clobbers
15934 added for variable-array handling.
15935
15936 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
15937
15938 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
15939 return-in-memory rules.
15940 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
15941
15942 2002-09-05 David Edelsohn <edelsohn@gnu.org>
15943
15944 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
15945 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
15946
15947 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
15948
15949 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
15950 not a compile-time constant for the non-IBM case.
15951 * config/arm/arm-protos.h (arm_float_words_big_endian): New
15952 prototype.
15953 * config/arm/arm.c (arm_float_words_big_endian): New function.
15954 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
15955 if TARGET_VFP and not TARGET_HARD_FLOAT.
15956 (ARM_FLAG_VFP, TARGET_VFP): Define.
15957 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
15958
15959 2002-09-05 David Edelsohn <edelsohn@gnu.org>
15960
15961 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
15962 URLs. Fix AIX wording.
15963
15964 2002-09-05 Stan Shebs <shebs@apple.com>
15965
15966 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
15967 -fPIC equivalent on Darwin.
15968
15969 Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
15970
15971 * sh.c (sh_expand_builtin): Return early if encountering an
15972 error_mark for a type.
15973
15974 2002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
15975
15976 * config/s390/s390.c (s390_expand_plus_operand): Do not require
15977 double-word scratch register.
15978 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
15979
15980 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
15981 "*cli"): Replace s_operand by memory_operand.
15982 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
15983
15984 2002-09-05 Kazu Hirata <kazu@cs.umass.edu>
15985
15986 * config/h8300/h8300.c (asm_file_start): Add a missing
15987 semicolon.
15988
15989 2002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
15990
15991 * c-typeck.c (build_function_call): Remove unused variable(s).
15992 (build_c_cast): Likewise.
15993 * calls.c (rtx_for_function_call): Likewise.
15994 * cfglayout.c (duplicate_insn_chain): Likewise.
15995 * cfgloop.c (flow_loop_nodes_find): Likewise.
15996 * cfgrtl.c (split_edge): Likewise.
15997 * df.c (df_ref_create): Likewise.
15998 * except.c (expand_end_catch): Likewise.
15999 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
16000 * function.c (emit_return_into_block): Likewise.
16001 (reposition_prologue_and_epilogue_notes): Likewise.
16002 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
16003 * combine.c (subst_prev_insn, need_refresh): Remove.
16004 * dwarf2out.c (primary_filename): Remove.
16005 * final.c (new_block): Remove.
16006 * gcse.c (orig_bb_count): Remove.
16007
16008 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16009
16010 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
16011 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
16012 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
16013 directly instead of using a function pointer.
16014
16015 2002-09-04 Krister Walfridsson <cato@df.lth.se>
16016
16017 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
16018 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
16019 (ix86_output_addr_diff_elt) Likewise.
16020 (x86_output_mi_thunk) Likewise.
16021 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
16022
16023 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16024
16025 * frv.c (frv_encode_section_info): Fix error in last change.
16026
16027 2002-09-04 David Edelsohn <edelsohn@gnu.org>
16028
16029 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
16030 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
16031 (TARGET_BINDS_LOCAL_P): Define.
16032 (rs6000_override_options): Save original flag_pic value.
16033 (rs6000_elf_select_section): Call default_elf_select_section_1.
16034 (rs6000_elf_unique_section): Call default_unique_section_1.
16035 (rs6000_elf_in_small_data_p): New function.
16036 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
16037 (rs6000_xcoff_select_section): Update based on defaults.
16038 (rs6000_xcoff_unique_section): Set to basic name if not common.
16039 (rs6000_binds_local_p): New function.
16040 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
16041 targetm.have_srodata_section if SDATA_EABI.
16042 (TARGET_IN_SMALL_DATA_P): Define.
16043
16044 2002-09-04 Dale Johannesen <dalej@apple.com>
16045
16046 * varasm.c (struct rtx_const, decode_rtx_const):
16047 Make veclo and vechi fields not share storage.
16048
16049 Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
16050
16051 * loop.c (scan_loop): Don't mark separate insns out of a libcall
16052 for moving.
16053 (move_movables): Abort if we see the first insn of a libcall.
16054
16055 2002-09-04 Richard Henderson <rth@redhat.com>
16056
16057 * builtin-types.def (BT_FN_FLOAT): New.
16058 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
16059 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
16060 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
16061 * builtins.c (fold_builtin_inf): New.
16062 (fold_builtin): Call it.
16063 * real.c (ereal_inf): New.
16064 * real.h: Declare it.
16065 * doc/extend.texi: Document new builtins.
16066
16067 2002-09-04 Richard Henderson <rth@redhat.com>
16068
16069 * cse.c (cse_insn): Avoid subreg games if the equivalence
16070 is already in the proper mode.
16071
16072 2002-09-04 Eric Botcazou <ebotcazou@multimania.com>
16073
16074 PR c/7102
16075 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
16076
16077 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16078
16079 * pa.md (setccfp0, setccfp1): New patterns.
16080
16081 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16082
16083 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
16084 frv_select_section, frv_select_rtx_section,
16085 frv_encode_section_info, frv_unique_section): Delete.
16086 * frv.c: Update for target hooks.
16087 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
16088 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
16089 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
16090
16091 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16092
16093 * ip2k-protos.h (function_prologue, function_epilogue,
16094 encode_section_info): Update to match target hook specification.
16095 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
16096 (function_prologue, function_epilogue, encode_section_info):
16097 Update to match target hook specification.
16098 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
16099 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
16100 (NOTICE_UPDATE_CC): Cast to void.
16101 * ip2k.md: Add defaults in switch statements.
16102
16103 2002-09-04 Janis Johnson <janis187@us.ibm.com>
16104
16105 * doc/trouble.texi (Interoperation): Update information about C++ ABI
16106 issues.
16107
16108 2002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
16109
16110 * config/sparc/t-netbsd64: Disable multilib for now.
16111
16112 2002-09-04 David Edelsohn <edelsohn@gnu.org>
16113
16114 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
16115 * target.h (gcc_target): Add have_srodata_section member.
16116 * varasm.c (section_category): Add SECCAT_SRODATA.
16117 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
16118 READONLY_SDATA_SECTION defined.
16119 (decl_readonly_section_1): True for SECCAT_SRODATA also.
16120 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
16121 (default_unique_section_1): Likewise.
16122
16123 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16124
16125 * expr.c (emit_group_load): Revise to allow splitting TCmode source
16126 into DImode pieces.
16127
16128 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
16129 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
16130 for floating-point register class.
16131 * pa.c (function_arg): Fix handling of modes wider than one word for
16132 TARGET_64BIT.
16133
16134 Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
16135
16136 * combine.c (make_compound_operation): Don't generate zero / sign
16137 extensions in floating point modes.
16138
16139 2002-09-04 Janis Johnson <janis187@us.ibm.com>
16140
16141 * doc/c-tree.texi: Fix overfull hboxes.
16142 * doc/cppopts.texi: Ditto.
16143 * doc/extend.texi: Ditto.
16144 * doc/gty.texi: Ditto.
16145 * doc/invoke.texi: Ditto.
16146 * doc/makefile.texi: Ditto.
16147 * doc/rtl.texi: Ditto.
16148 * doc/standards.texi: Ditto.
16149 * doc/tm.texi: Ditto.
16150
16151 2002-09-04 Richard Henderson <rth@redhat.com>
16152
16153 * c-common.c (builtin_define_with_hex_fp_value): New.
16154 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
16155
16156 2002-09-04 Janis Johnson <janis187@us.ibm.com>
16157
16158 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
16159 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
16160 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
16161 Warn that these options can break ABI compatibility.
16162
16163 2002-09-04 Richard Henderson <rth@redhat.com>
16164
16165 * real.c (ereal_to_decimal): Add digits parameter.
16166 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
16167 * c-pretty-print.c (pp_c_real_literal): Update call.
16168 * print-rtl.c (print_rtx): Likewise.
16169 * print-tree.c (print_node_brief, print_node): Likewise.
16170 * sched-vis.c (print_value): Likewise.
16171 * config/arc/arc.c (arc_print_operand): Likewise.
16172 * config/c4x/c4x.c (c4x_print_operand): Likewise.
16173 * config/i370/i370.h (PRINT_OPERAND): Likewise.
16174 * config/i386/i386.c (print_operand): Likewise.
16175 * config/i960/i960.c (i960_print_operand): Likewise.
16176 * config/ip2k/ip2k.c (asm_output_float): Likewise.
16177 * config/m32r/m32r.c (m32r_print_operand): Likewise.
16178 * config/m68hc11/m68hc11.c (print_operand): Likewise.
16179 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
16180 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
16181 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
16182 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
16183 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
16184 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
16185 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
16186 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
16187 * config/mips/mips.c (print_operand): Likewise.
16188 * config/ns32k/ns32k.c (print_operand): Likewise.
16189 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
16190 * config/vax/vax.h (PRINT_OPERAND): Likewise.
16191 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
16192
16193 2002-09-04 Bob Wilson <bob.wilson@acm.org>
16194
16195 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
16196 xtensa_multibss_section_type_flags.
16197 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
16198
16199 2002-09-04 Richard Henderson <rth@redhat.com>
16200
16201 * doc/install-old.texi: Don't mention enquire.
16202 * doc/sourcebuild.texi: Update float.h description.
16203
16204 Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
16205
16206 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
16207
16208 2002-09-03 Roger Sayle <roger@eyesopen.com>
16209
16210 * builtins.c (build_function_call_expr): Remove prototype, export
16211 as non-static and add a comment above function definition.
16212 (builtin_mathfn_code): New function to check for math builtins.
16213 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
16214 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
16215 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
16216 log(sqrt(x)) as log(x)/2.0.
16217
16218 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
16219 in new "builtins.c" section. Place the build_range_type prototype
16220 with the other prototypes from "tree.c".
16221
16222 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
16223 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
16224 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
16225 x/exp(y) as x*exp(-y).
16226
16227 2002-09-03 David Edelsohn <edelsohn@gnu.org>
16228
16229 * varasm.c (default_section_type_flags): Append _1 to name with
16230 shlib parameter. Use original name to call new function with
16231 implicit flag_pic.
16232 (decl_readonly_section): Likewise.
16233 (default_elf_select_section): Likewise.
16234 (default_unique_section): Likewise.
16235 (default_bind_local_p): Likewise.
16236 (categorize_decl_for_section): Add shlib parameter to use in place
16237 of implicit flag_pic.
16238 * output.h: Declare new functions with _1 and shlib argument.
16239
16240 2002-09-03 Janis Johnson <janis187@us.ibm.com>
16241
16242 * doc/install.texi: Fix typos, formatting problems, and obvious
16243 overfull/underfull boxes.
16244
16245 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
16246 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
16247 include its file, compat.texi.
16248 * doc/compat.texi: New file with new chapter, Binary Compatibility.
16249
16250 2002-09-03 Neil Booth <neil@daikokuya.co.uk>
16251
16252 Debian BTS Bug #157416
16253 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
16254 * cpplib.c (destringize_and_run): Kludge around getting
16255 tokens from in-progress macros.
16256 (_cpp_do__Pragma): Simplify.
16257
16258 2002-09-03 Steve Ellcey <sje@cup.hp.com>
16259
16260 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
16261 (CPP_CPU_SPEC): Remove.
16262 (TARGET_CPU_CPP_BUILTINS): New.
16263 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
16264 (CPP_SPEC): Remove.
16265 (TARGET_OS_CPP_BUILTINS): New.
16266 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
16267 (TARGET_OS_CPP_BUILTINS): New.
16268 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
16269 TARGET_OS_CPP_BUILTINS.
16270 (CPP_PREDEFINES): Remove.
16271 (CPLUSPLUS_CPP_SPEC): Remove.
16272 (TARGET_OS_CPP_BUILTINS): New.
16273
16274 2002-09-03 Richard Henderson <rth@redhat.com>
16275
16276 * Makefile.in (USER_H): Add ginclude/float.h.
16277 (FLOAT_H): Remove.
16278 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
16279 (mostlyclean): Don't remove float.h intermediate files.
16280 (distclean): Don't remove float.h.
16281 * config.gcc: Remove all float_format references.
16282 * configure.in (float_format, float_h_file): Remove.
16283
16284 * c-common.c: Include tree-inline.h.
16285 (builtin_define_with_int_value): New.
16286 (builtin_define_type_precision): Use it.
16287 (builtin_define_float_constants): New.
16288 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
16289 __FLT_EVAL_METHOD__.
16290 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
16291 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
16292 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
16293 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
16294 (TARGET_FLT_EVAL_METHOD): New.
16295
16296 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
16297 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
16298 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
16299 * ginclude/float.h: New.
16300
16301 2002-09-03 Stan Shebs <shebs@apple.com>
16302
16303 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
16304 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
16305 (PREFERRED_DEBUGGING_TYPE): Ditto.
16306 (ASM_OUTPUT_IDENT): Remove empty definition.
16307
16308 2002-09-03 Steve Ellcey <sje@cup.hp.com>
16309
16310 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
16311 cxx_target.
16312 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
16313 handling routine for builtin pragma.
16314 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
16315 Registered pragma handling routine.
16316 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
16317 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
16318 If builtin pragma seen for math routine and C89 conformance is
16319 requested use different math function in order to set errno.
16320 * t-ia64 (ia64-c.o): Add new rule for new file.
16321
16322 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
16323
16324 * config/s390/s390.md ("movti"): Add Q->Q alternative.
16325 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
16326 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
16327
16328 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
16329 "*movsf_ss"): Remove.
16330
16331 2002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
16332
16333 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
16334 Delete macros.
16335
16336 2002-09-03 Arati Dikey <aratid@kpit.com>
16337
16338 * h8300.c (asm_file_start): Corrected optimization comment.
16339
16340 2002-09-03 Stan Shebs <shebs@apple.com>
16341
16342 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
16343 * c-tree.h (recognize_objc_keyword): Remove decl.
16344 * c-typeck.c (comp_target_types): Update a comment.
16345
16346 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
16347
16348 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
16349 and register validity checks.
16350 (general_s_operand): Adapt to s390_decompose_address interface change.
16351 (q_constraint): Likewise.
16352 (s390_expand_plus_operand): Likewise.
16353 (legitimiate_address_p): Likewise.
16354 (legitimate_la_operand_p): Likewise.
16355 (legitimize_la_operand): Likewise.
16356 (print_operand_address): Likewise.
16357 (print_operand): Likewise.
16358
16359 Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
16360
16361 PR objc/5956:
16362 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
16363 was causing the new selector never to match the existing ones
16364 (Patch by Alexander Malmberg <alexander@malmberg.org>).
16365
16366 2002-09-03 Graham Stott <graham.stott@btinternet.com>
16367
16368 * config/i386/i386.md ("femms"): Add "memory" attr "none".
16369
16370 2002-09-03 Graham Stott <graham.stott@btinternet.com>
16371
16372 * expr.c (expand_expr): Remove extraneous comment and code.
16373
16374 2002-09-02 Nathan Sidwell <nathan@codesourcery.com>
16375
16376 * stor-layout (finish_builtin_struct): Renamed and moved from c++
16377 frontend. Take chain of fields. Allow NULL alignment type.
16378 * tree.h (finish_builtin_struct): Declare.
16379
16380 2002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16381
16382 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
16383 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
16384 config/arc/arc.c config/arc/arc.h config/arm/aout.h
16385 config/arm/arm.c config/arm/arm.h config/arm/arm.md
16386 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
16387 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
16388 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
16389 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
16390 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
16391 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
16392 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
16393 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
16394 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
16395 config/pa/pa.h config/pa/pa.md config/romp/romp.h
16396 config/rs6000/linux64.h config/rs6000/lynx.h
16397 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
16398 config/s390/s390.c config/s390/s390.md config/sh/sh.c
16399 config/sparc/sparc.c config/sparc/sysv4.h
16400 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
16401 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
16402 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
16403
16404 * doc/tm.texi: Update docs.
16405 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
16406 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
16407
16408 2002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16409
16410 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
16411 * arc.c (arc_internal_label): New function.
16412 (TARGET_ASM_INTERNAL_LABEL): Set.
16413 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
16414 * arm.c (arm_internal_label): New function.
16415 (TARGET_ASM_INTERNAL_LABEL): Set.
16416 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
16417 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
16418 * i370.c (i370_internal_label): New function.
16419 (TARGET_ASM_INTERNAL_LABEL): Set.
16420 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
16421 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
16422 * m68k.c (m68k_hp320_internal_label): New function.
16423 (TARGET_ASM_INTERNAL_LABEL): Set.
16424 * m88k.c (m88k_internal_label): New function.
16425 (TARGET_ASM_INTERNAL_LABEL): Set.
16426 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
16427 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
16428 * genoutput.c (output_prologue): Include target.h in output file.
16429 * output.h (default_internal_label): Declare.
16430 * sdbout.c: Include target.h.
16431 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
16432 TARGET_ASM_OUT.
16433 * target.h (internal_label): Add to struct gcc_target.
16434 * varasm.c (default_internal_label): New function.
16435
16436 2002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16437
16438 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
16439 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16440 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16441 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16442 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16443 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16444 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16445 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16446 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16447 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16448 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16449 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16450 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16451 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16452 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16453 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16454 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16455 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16456 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16457 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16458 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16459 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16460 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16461 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16462 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16463 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
16464 * mmix.c (mmix_asm_output_internal_label): Likewise.
16465 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16466 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16467 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16468 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16469 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16470 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16471 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16472 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16473 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16474 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16475 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16476 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16477 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16478 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16479 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16480 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16481 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16482 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16483 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16484
16485 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
16486
16487 2002-08-31 Richard Henderson <rth@redhat.com>
16488
16489 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
16490
16491 2002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
16492
16493 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
16494
16495 2002-08-30 Richard Henderson <rth@redhat.com>
16496
16497 PR opt/7515
16498 * c-objc-common.c: Include target.h.
16499 (c_cannot_inline_tree_fn): Don't auto-inline functions that
16500 don't bind locally. Factor setting DECL_UNINLINABLE.
16501 * Makefile.in (c-objc-common.o): Update.
16502
16503 2002-08-30 Janis Johnson <janis187@us.ibm.com>
16504
16505 * doc/install.texi (Configuration, Building): Fix a typo and
16506 some formatting directives.
16507
16508 2002-08-30 Paul Koning <pkoning@equallogic.com>
16509
16510 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
16511 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
16512 implemented" note.
16513 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
16514 for alphabetic order.
16515 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
16516 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
16517 (VAX_HALFWORD_ORDER): Document.
16518 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
16519 IEEE float format.
16520 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
16521 (ASM_OUTPUT_LABEL_REF): Fix font.
16522 (CASE_VECTOR_SHORTEN_MODE): Ditto.
16523
16524 2002-08-30 Denis Chertykov <denisc@overta.ru>
16525
16526 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
16527 stuff.
16528 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
16529 CONST_DOUBLE constants.
16530
16531 2002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
16532
16533 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
16534 related defines to...
16535 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
16536 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
16537 as a no-op.
16538
16539 2002-08-30 Krister Walfridsson <cato@df.lth.se>
16540
16541 * config/arm/arm.c (arm_asm_output_labelref): New function.
16542 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
16543 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
16544
16545 2002-08-29 Rodney Brown <rbrown64@csc.com.au>
16546
16547 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
16548 memory exhausted" workarounds.
16549
16550 2002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
16551
16552 * diagnostic.c (fancy_abort): Don't repeat "internal error".
16553 * toplev.c (crash_signal): Likewise.
16554
16555 Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
16556
16557 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
16558 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
16559 Extended, updated documentation.
16560 (-Wundeclared-selector): Documented.
16561
16562 2002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
16563
16564 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
16565 the value 1. Do not undef before defining.
16566 * config/darwin.h: Likewise.
16567 * config/dbx.h: Likewise.
16568 * config/dbxcoff.h: Likewise.
16569 * config/dbxelf.h: Likewise.
16570 * config/elfos.h: Likewise.
16571 * config/interix.h: Likewise.
16572 * config/lynx-ng.h: Likewise.
16573 * config/lynx.h: Likewise.
16574 * config/netware.h: Likewise.
16575 * config/psos.h: Likewise.
16576 * config/svr3.h: Likewise.
16577 * config/alpha/alpha.h: Likewise.
16578 * config/alpha/elf.h: Likewise.
16579 * config/alpha/vms.h: Likewise.
16580 * config/arc/arc.h: Likewise.
16581 * config/arm/aout.h: Likewise.
16582 * config/arm/coff.h: Likewise.
16583 * config/c4x/c4x.h: Likewise.
16584 * config/h8300/h8300.h: Likewise.
16585 * config/i386/cygwin.h: Likewise.
16586 * config/i386/djgpp.h: Likewise.
16587 * config/i386/gas.h: Likewise.
16588 * config/i386/gstabs.h: Likewise.
16589 * config/i386/i386-coff.h: Likewise.
16590 * config/i386/i386-interix.h: Likewise.
16591 * config/i386/sco5.h: Likewise.
16592 * config/i386/svr3dbx.h: Likewise.
16593 * config/i386/sysv3.h: Likewise.
16594 * config/i386/win32.h: Likewise.
16595 * config/i386/x86-64.h: Likewise.
16596 * config/i960/i960.h: Likewise.
16597 * config/ia64/ia64.h: Likewise.
16598 * config/ip2k/ip2k.h: Likewise.
16599 * config/m32r/m32r.h: Likewise.
16600 * config/m68k/3b1.h: Likewise.
16601 * config/m68k/3b1g.h: Likewise.
16602 * config/m68k/ccur-GAS.h: Likewise.
16603 * config/m68k/coff.h: Likewise.
16604 * config/m68k/hp2bsd.h: Likewise.
16605 * config/m68k/hp310g.h: Likewise.
16606 * config/m68k/hp320g.h: Likewise.
16607 * config/m68k/hp3bsd.h: Likewise.
16608 * config/m68k/hp3bsd44.h: Likewise.
16609 * config/m68k/linux-aout.h: Likewise.
16610 * config/m68k/m68k-aout.h: Likewise.
16611 * config/m68k/mot3300.h: Likewise.
16612 * config/m68k/netbsd.h: Likewise.
16613 * config/m68k/openbsd.h: Likewise.
16614 * config/m68k/pbb.h: Likewise.
16615 * config/m68k/plexus.h: Likewise.
16616 * config/m68k/sun2.h: Likewise.
16617 * config/m68k/sun3.h: Likewise.
16618 * config/m68k/tower-as.h: Likewise.
16619 * config/m68k/vxm68k.h: Likewise.
16620 * config/m88k/aout-dbx.h: Likewise.
16621 * config/m88k/m88k-aout.h: Likewise.
16622 * config/mcore/mcore-elf.h: Likewise.
16623 * config/mcore/mcore-pe.h: Likewise.
16624 * config/mips/elf.h: Likewise.
16625 * config/mips/elf64.h: Likewise.
16626 * config/mips/iris5gas.h: Likewise.
16627 * config/mips/iris6.h: Likewise.
16628 * config/mips/mips.h: Likewise.
16629 * config/mips/sni-gas.h: Likewise.
16630 * config/mmix/mmix.h: Likewise.
16631 * config/ns32k/netbsd.h: Likewise.
16632 * config/pa/pa64-hpux.h: Likewise.
16633 * config/romp/romp.h: Likewise.
16634 * config/rs6000/sysv4.h: Likewise.
16635 * config/rs6000/xcoff.h: Likewise.
16636 * config/sh/coff.h: Likewise.
16637 * config/sh/elf.h: Likewise.
16638 * config/sparc/linux64.h: Likewise.
16639 * config/sparc/liteelf.h: Likewise.
16640 * config/sparc/netbsd.h: Likewise.
16641 * config/sparc/openbsd.h: Likewise.
16642 * config/sparc/pbd.h: Likewise.
16643 * config/sparc/sp64-elf.h: Likewise.
16644 * config/sparc/sp86x-elf.h: Likewise.
16645 * config/sparc/sparc.h: Likewise.
16646 * config/vax/vax.h: Likewise.
16647 * config/vax/vaxv.h: Likewise.
16648
16649 2002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
16650
16651 * h8300.c (shift_alg_hi): Various tweaks to improve performance
16652 of HImode shifts.
16653 (get_shift_alg): Corresponding changes.
16654
16655 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
16656
16657 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
16658
16659 2002-08-29 Richard Henderson <rth@redhat.com>
16660
16661 * expr.h (enum block_op_methods): New.
16662 (emit_block_move): Update prototype.
16663 * expr.c (block_move_libcall_safe_for_call_parm): New.
16664 (emit_block_move_via_loop): New.
16665 (emit_block_move): Use them. New argument METHOD.
16666 (emit_push_insn): Always respect the given alignment.
16667 (expand_assignment): Update call to emit_block_move.
16668 (store_expr, store_field, expand_expr): Likewise.
16669 * builtins.c (expand_builtin_apply): Likewise.
16670 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
16671 * function.c (expand_function_end): Likewise.
16672 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
16673 * config/sparc/sparc.c (sparc_va_arg): Likewise.
16674 * calls.c (expand_call, emit_library_call_value_1): Likewise.
16675 (save_fixed_argument_area): Use emit_block_move with
16676 BLOCK_OP_CALL_PARM instead of move_by_pieces.
16677 (restore_fixed_argument_area): Likewise.
16678 (store_one_arg): Fix alignment parameter to emit_push_insn.
16679
16680 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
16681
16682 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
16683
16684 2002-08-29 Catherine Moore <clm@redhat.com>
16685
16686 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
16687 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
16688 (PREDICATE_CODES): Include new predicates.
16689 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
16690 (TARGET_SWITCHES): Add strict-align.
16691 (TARGET_STRICT_ALIGN): New.
16692 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
16693 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
16694 Define.
16695 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
16696 v850_muldi3.
16697 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
16698 L_callt_save_r2_r31, L_return_r2_r31,
16699 L_save_all_interrupt): Change addi to add.
16700 (L_save_interrupt, L_return_interrupt): Rework.
16701 (__return_r31): Correct .size directive.
16702 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
16703 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
16704 New routines.
16705 * config/v850/v850.c (expand_prologue): Call
16706 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
16707 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
16708 (reg_or_int9_operand): New predicate.
16709 (reg_or_const_operand): New routine.
16710 * config/v850/v850.md (return_interrupt): Changed from
16711 restore_interrupt.
16712 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
16713 (callt_save_interrupt): Change save sequence.
16714 (callt_return_interrupt): New.
16715 (save_interrupt): Don't use runtime function for LONG_CALLS
16716 and TARGET_PROLOG_FUNCTION.
16717 (save_all_interrupt): Likewise.
16718 (mulsi3): Use new predicate.
16719 (moviscc): Disallow some combination of constants.
16720 Fix define_split for sasf insns, so that it will not generate bad
16721 code if operand0 and operand5 are the same.
16722 * config/v850/v850-protos.h: Prototype new predicates.
16723
16724 2002-08-29 Zack Weinberg <zack@codesourcery.com>
16725
16726 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
16727 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
16728
16729 2002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
16730
16731 * c-common.c (builtin_define_type_precision): New function.
16732 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
16733 wchar_t is unsigned in C++.
16734 * doc/cpp.texi (Common Predefined Macros): Document
16735 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
16736 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
16737 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
16738
16739 2002-08-28 Sylvain Pion <pion@cs.nyu.edu>
16740
16741 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
16742 section. Mention that it is enabled by -Wall.
16743 (-Wall): Mention that there can be language-specific warnings as well.
16744 (-Wctor-dtor-privacy): Mention that it is enabled by default.
16745 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
16746
16747 Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
16748
16749 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
16750 if it is ever live.
16751
16752 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
16753 attribute for SHCOMPACT.
16754
16755 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
16756 appropriately.
16757 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
16758 by the ABI.
16759
16760 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
16761
16762 2002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
16763
16764 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
16765 "MASK_GAS|MASK_ABICALLS".
16766 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
16767 (TARGET_DEFAULT): Remove.
16768 (MACHINE_TYPE): Undefine before defining.
16769 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
16770
16771 2002-08-27 Mark Mitchell <mark@codesourcery.com>
16772
16773 * c-common.c (warn_abi): New variable.
16774 * c-common.h (warn_abi): Likewise.
16775 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
16776 (c_common_decode_option): Handle it.
16777 * doc/invoke.texi: Document -Wabi.
16778
16779 Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
16780
16781 * c-common.c (warn_undeclared_selector): New variable.
16782 * c-common.h (warn_undeclared_selector): Idem.
16783 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
16784 to on when -Wundeclared-selector is found.
16785 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
16786 * objc/objc-act.c (build_selector_expr): If
16787 warn_undeclared_selector is set, check that the selector has
16788 already been defined, and emit a warning if not.
16789
16790 2002-08-27 Nick Clifton <nickc@redhat.com>
16791 Catherine Moore <clm@redhat.com>
16792 Jim Wilson <wilson@cygnus.com>
16793
16794 * config.gcc: Add v850e-*-* target.
16795 Add --with-cpu= support for v850.
16796 * config/v850/lib1funcs.asm: Add v850e callt functions.
16797 * config/v850/v850.h: Add support for v850e target.
16798 * config/v850/v850.c: Add functions to support v850e target.
16799 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
16800 * config/v850/v850.md: Add patterns for v850e instructions.
16801 * doc/invoke.texi: Document new v850e command line switches.
16802
16803 Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
16804 Aldy Hernandez <aldyh at redhat dot com>
16805
16806 * doc/tm.texi: Applied numerous fixes to the automaton based
16807 scheduler descrition.
16808
16809 Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
16810
16811 * i386.c (classify_argument): Handle variable sized objects.
16812
16813 Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
16814
16815 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
16816
16817 Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
16818
16819 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
16820
16821 Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
16822
16823 * i386.c (classify_argument): Properly compute word size of the analyzed object.
16824
16825 Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
16826
16827 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
16828 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
16829 accordingly.
16830 (attribute insn_class): Provide default definitions based on type.
16831 Remove all insn-specific settings.
16832 (various function units): Remove old SH4 scheduling.
16833 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
16834 New attributes. Set them where appropriate.
16835 (cpu unit FS): Don't define / use.
16836 (F3, load_store): New cpu units.
16837 (F01): New reservation.
16838 (all insn_reservations): Make dependent on sh4 pipeline model.
16839 Fix latencies.
16840 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
16841 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
16842 (mt insn_reservation): Use type mt_group.
16843 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
16844 sh4_fload and sh4_store.
16845 (insn_reservation branch_zero and branch): Replace with sh4_branch.
16846 (insn_reservation branch_far): Replace with sh4_return.
16847 (insn_reservation return_from_exp): Rename to:
16848 (sh4_return_from_exp). Change to be just d_lock*5.
16849 (insn_reservation lds_to_pr): Rename to:
16850 (sh4_lds_to_pr). Change to be just d_lock*2.
16851 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
16852 d_lock*2.
16853 (insn_reservation prload_mem): Rename to:
16854 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
16855 (insn_reservation fpscr_store): Rename to:
16856 (fpscr_load). Change to d_lock,nothing,F1*3.
16857 (insn_reservation fpscr_store_mem): Rename to:
16858 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
16859 (insn_reservation multi): Change to
16860 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
16861 (insn_reservation fp_arith): Change to issue,F01,F2.
16862 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
16863 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
16864 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
16865 (insn_reservation fp_double_cmp): Change to
16866 d_lock,(d_lock+F01),F1+F2,F2.
16867 (insn_reservation dp_div): Change to
16868 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
16869 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
16870 (sh_adjust_cost, SHcompact): Differentiate between different
16871 kinds of dependencies. Drop factor of ten for superscalar.
16872 Use new instruction types. Add new exception rules.
16873
16874 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
16875
16876 * sh.md (mperm_w): Add DONE.
16877
16878 2002-08-27 David Edelsohn <edelsohn@gnu.org>
16879
16880 * longlong.h: Import current PowerPC defintion from GMP-4.1.
16881
16882 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
16883
16884 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
16885
16886 Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
16887
16888 * sh.h (MAX_FIXED_MODE_SIZE): Define.
16889
16890 2002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
16891
16892 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
16893 delimiter.
16894
16895 2002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
16896
16897 * c-common.c (cpp_define_data_format): New function.
16898 (cb_register_builtins): Call it.
16899
16900 * doc/cpp.texi (Common Predefined Macros): Document
16901 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
16902 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
16903 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
16904 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
16905 __TARGET_USES_VAX_H_FLOAT__.
16906
16907 2002-08-26 Ziemowit Laski <zlaski@apple.com>
16908
16909 * objc/objc-act.c (get_super_receiver): If inside a class method
16910 of a category, cast the receiver to 'id' before accessing the 'isa'
16911 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
16912
16913 2002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
16914
16915 * config/s390/s390-protos.h (s390_function_prologue,
16916 s390_function_epilogue): Remove.
16917 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
16918 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
16919
16920 config/s390/s390.c (s390_machine_dependent_recorg): New function.
16921 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
16922 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
16923 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
16924 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
16925
16926 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
16927 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
16928 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
16929 function is not a leaf function. Use save_gprs and restore_gprs.
16930 (s390_emit_epilogue): Likewise.
16931 (save_gprs, restore_gprs): New functions.
16932 (struct s390_frame): Remove return_reg_saved_p member.
16933 (save_fprs_p): Remove.
16934 (s390_optimize_prolog): New function.
16935 (s390_legitimate_reload_constant): Remove now unnecessary check.
16936
16937 (s390_function_count): Remove.
16938 (s390_output_symbolic_const): Replace s390_function_count by
16939 current_function_funcdef_no.
16940 (s390_output_constant_pool): Likewise.
16941
16942 (legitimize_pic_address): Use regs_ever_live to track PIC register
16943 instead of current_function_uses_pic_offset_table.
16944 (s390_emit_prologue): Likewise.
16945 config/s390/s390.md ("call", "call_value"): Likewise.
16946
16947 2002-08-26 Neil Booth <neil@daikokuya.co.uk>
16948
16949 * c-opts.c (find_opt): Don't complain about wrong languages
16950 here. Return exact matches even for wrong language.
16951 (c_common_decode_option): Complain about wrong languages
16952 here.
16953
16954 2002-08-24 Stuart Hastings <stuart@apple.com>
16955
16956 * function.h (struct function): Add flag
16957 all_throwers_are_sibcalls.
16958 * except.c (set_nothrow_function_flags): Replaces
16959 nothrow_function_p. Set new flag.
16960 * except.h (set_nothrow_function_flags): Replaces
16961 nothrow_function_p.
16962 * dwarf2out.c (struct dw_fde_struct): Add flag
16963 all_throwers_are_sibcalls.
16964 (output_call_frame_info): Test it.
16965 (dwarf2out_begin_prologue) Propagate it from cfun to
16966 dw_fde_struct.
16967 * toplev.c (rest_of_compilation): Update calls to
16968 nothrow_function_p.
16969
16970 2002-08-23 Zack Weinberg <zack@codesourcery.com>
16971
16972 * ggc-page.c (compute_inverse): Short circuit calculation for
16973 object sizes larger than half a page.
16974
16975 2002-08-23 David Edelsohn <edelsohn@gnu.org>
16976
16977 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
16978 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
16979 default.
16980 (rs6000_elf_unique_section): Likewise.
16981
16982 2002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16983
16984 * ns32k.c (ns32k_globalize_label): Delete.
16985 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
16986
16987 2002-08-23 Alan Modra <amodra@bigpond.net.au>
16988
16989 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
16990 for loading delta with num_insns_constant_wide. Calculate
16991 delta_low, delta_high without using a conditional.
16992
16993 2002-08-22 Jason Merrill <jason@redhat.com>
16994
16995 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
16996 * c-common.def: Adjust.
16997 * c-dump.c (c_dump_tree): Adjust.
16998 * c-semantics.c (genrtl_return_stmt): Adjust.
16999 * c-pretty-print.c (pp_c_statement): Adjust.
17000 * tree-inline.c (copy_body_r): Adjust.
17001
17002 2002-08-22 Zack Weinberg <zack@codesourcery.com>
17003
17004 * ggc-page.c: Avoid division in ggc_set_mark.
17005 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
17006 compute_inverse): New.
17007 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
17008 (init_ggc): Initialize inverse_table.
17009
17010 2002-08-22 Tom Tromey <tromey@redhat.com>
17011
17012 * doc/install.texi (Configuration): Document --datadir.
17013
17014 2002-08-22 Alexandre Oliva <aoliva@redhat.com>
17015
17016 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
17017
17018 2002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
17019
17020 * gengtype-lex.l (ID): Allow underscore as first character.
17021
17022 2002-08-21 David Edelsohn <edelsohn@gnu.org>
17023
17024 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
17025 function.
17026 (rs6000_xcoff_asm_named_section): Rename.
17027 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
17028
17029 2002-08-21 Tom Tromey <tromey@redhat.com>
17030
17031 For PR java/6005 and PR java/7611:
17032 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
17033 (fold): Likewise.
17034 * langhooks.c (lhd_can_use_bit_fields_p): New function.
17035 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
17036 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
17037 (LANG_HOOKS_INITIALIZER): Use it.
17038 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
17039 field.
17040
17041 2002-08-21 Stan Shebs <shebs@apple.com>
17042
17043 * tree.c (finish_vector_type): Fix a typo in a comment.
17044 * Makefile.in: Fix "the the" stutters in comments.
17045 * genautomata.c: Ditto.
17046 * ifcvt.c: Ditto.
17047 * regrename.c: Ditto.
17048 * config/alpha/alpha.c: Ditto.
17049 * config/alpha/vms-crt0-64.c: Ditto.
17050 * config/alpha/vms-crt0.c: Ditto.
17051 * config/alpha/vms-psxcrt0-64.c: Ditto.
17052 * config/alpha/vms-psxcrt0.c: Ditto.
17053 * config/d30v/d30v.h: Ditto.
17054 * config/fr30/fr30.h: Ditto.
17055 * config/rs6000/rs6000.c: Ditto.
17056 * config/stormy16/stormy16.h: Ditto.
17057 * doc/md.texi: Ditto.
17058
17059 2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
17060
17061 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
17062
17063 2002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
17064
17065 * c-decl.c (grokdeclarator): Make invalid combinations with long,
17066 short, signed or unsigned into hard errors. Fixes PR c/4319.
17067 Also make duplicate modifiers such as "short short" into hard
17068 errors.
17069
17070 2002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
17071 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17072
17073 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
17074 to the actual end. Add '@end table' and '@table @code'.
17075
17076 2002-08-20 Geoffrey Keating <geoffk@redhat.com>
17077
17078 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
17079
17080 * unroll.c (biv_total_increment): Don't try to compute the total
17081 increment for FP BIVs.
17082
17083 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17084
17085 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
17086 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
17087 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17088 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
17089 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
17090 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
17091 (GLOBAL_ASM_OP): Define.
17092 * arm.c (aof_globalize_label): New function.
17093 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
17094 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17095 * c4x.c (c4x_globalize_label): New function.
17096 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
17097 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
17098 (GLOBAL_ASM_OP): Define.
17099 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
17100 * darwin-protos.h (darwin_globalize_label): Declare.
17101 * darwin.c (darwin_globalize_label): New function.
17102 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
17103 (ASM_GLOBALIZE_LABEL): Delete.
17104 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
17105 * dsp16xx.c (asm_output_common): Use target hook.
17106 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
17107 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
17108 (GLOBAL_ASM_OP): Define.
17109 * i370.c (i370_globalize_label): New function.
17110 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
17111 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
17112 * i386.c (ix86_asm_file_end): Use target hook.
17113 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
17114 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
17115 * ia64.c (ia64_asm_output_external): Likewise.
17116 * ia64/sysv4.h: Update comment.
17117 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17118 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
17119 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
17120 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
17121 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
17122 * mmix-protos.h (mmix_asm_globalize_label): Delete.
17123 * mmix.c (mmix_asm_globalize_label): Likewise.
17124 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
17125 (GLOBAL_ASM_OP): Define.
17126 * ns32k.c (ns32k_globalize_label): New function.
17127 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
17128 (ASM_GLOBALIZE_LABEL): Delete.
17129 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
17130 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
17131 * pa.c (pa_globalize_label): New function.
17132 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
17133 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
17134 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
17135 (GLOBAL_ASM_OP): Define.
17136 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
17137 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17138 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
17139 (GLOBAL_ASM_OP): Define.
17140 * v850.c (v850_output_aligned_bss): Use target hook.
17141 * vax.c (vms_globalize_label): New function.
17142 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
17143 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
17144 (GLOBAL_ASM_OP): Define.
17145 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
17146 * doc/tm.texi: Update docs.
17147 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
17148 target hook.
17149 * final.c (output_alternate_entry_point): Likewise.
17150 * hooks.c (hook_FILEptr_constcharptr_void): New function.
17151 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
17152 * output.h (assemble_global): Delete.
17153 (default_globalize_label): Declare.
17154 * system.h (ASM_GLOBALIZE_LABEL): Poison.
17155 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
17156 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
17157 * target.h (gcc_target): Add globalize_label member.
17158 * varasm.c (asm_output_bss, asm_output_aligned_bss,
17159 globalize_decl): Use target hook.
17160 (assemble_global): Delete.
17161 (default_globalize_label): New function.
17162
17163 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17164
17165 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
17166
17167 2002-08-20 Devang Patel <dpatel@apple.com>
17168 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
17169
17170 2002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17171
17172 * arc.c (output_shift): Use stdio instead of asm_fprintf.
17173 * arm.c (thumb_output_function_prologue): Likewise.
17174 * avr.c (print_operand): Likewise.
17175 * c4x.c (c4x_print_operand): Likewise.
17176 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
17177 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
17178 * cris.c (cris_target_asm_function_prologue,
17179 cris_asm_output_mi_thunk): Likewise.
17180 * h8300.c (print_operand): Likewise.
17181 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17182 * ip2k.c (print_operand): Likewise. Fix format specifier.
17183 * m68hc11.c (asm_print_register, print_operand,
17184 print_operand_address): Use stdio instead of asm_fprintf.
17185 (print_operand_address): Fix format specifier.
17186 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
17187 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
17188 asm_fprintf.
17189 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17190 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17191 * m68k.c (m68k_output_function_prologue,
17192 m68k_output_function_epilogue, print_operand): Likewise.
17193 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
17194 Likewise. Fix format specifier.
17195 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17196 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17197 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17198
17199 2002-08-15 Eric Christopher <echristo@redhat.com>
17200 Jeff Knaggs <jknaggs@redhat.com>
17201
17202 * config.gcc (mipsisa64sr71k-elf): New target.
17203 * config/mips/sr71k.md: New file.
17204 * config/mips/mips.md: Use it.
17205 (rot*): Add sr71k specifics.
17206 * config/mips/t-sr71k: New file.
17207 * config/mips/mips.h (sr71k): New cpu.
17208 (TARGET_SR71K): Use it.
17209 (TUNE_SR71K): Ditto.
17210 (GENERATE_BRANCHLIKELY): Ditto.
17211 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
17212 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
17213 * config/mips/mips.c (sr71k): New cpu.
17214 (mips_use_dfa_pipeline_interface): Use.
17215
17216 2002-08-15 Eric Christopher <echristo@redhat.com>
17217 Richard Sandiford <rsandifo@redhat.com>
17218 Aldy Hernandez <aldyh@redhat.com>
17219 Graham Stott <grahams@redhat.com>
17220 Michael Meissner <meissner@redhat.com>
17221 Gavin Romig-Koch <gavin@redhat.com>
17222 Ken Raeburn <raeburn@cygnus.com>
17223 Alexandre Oliva <aoliva@redhat.com>
17224
17225 * config.gcc (mips64vr-elf): New target.
17226 * config/mips/5400.md: New file.
17227 * config/mips/5500.md: Ditto.
17228 * config/mips/mips.md: Use them.
17229 (frsqrt): New.
17230 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
17231 cpus.
17232 (mips_issue_rate): Use them.
17233 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
17234 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
17235 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
17236 cpus.
17237 (TARGET_MIPSx): Use them.
17238 (TUNE_MIPSx): Ditto.
17239 (GETNATE_MULT3_SI): Ditto.
17240 (ISA_HAS_BRANCHLIKELY): Ditto.
17241 (ISA_HAS_CONDMOVE): Ditto.
17242 (ISA_HAS_NMADD_NMSUB): Ditto.
17243 (ISA_HAS_MULHI): New. Ditto.
17244 (ISA_HAS_MULS): Ditto.
17245 (ISA_HAS_MSAC): Ditto.
17246 (ISA_HAS_MACC): Ditto.
17247 (ISA_HAS_ROTR_SI): Ditto.
17248 (ISA_HAS_ROTR_DI): Ditto.
17249 (RTX_COSTS): Use.
17250
17251 2002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
17252
17253 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
17254 at head.
17255 (remove_dup_nonsys_dirs): New function.
17256 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
17257 (merge_include_chains): Remove non-system include directories from
17258 quote and bracket include chains when they duplicate equivalent system
17259 directories.
17260 * doc/cpp.texi (-I): Update.
17261 * doc/cppopts.texi (-I): Update.
17262 * doc/install.texi (--with-local-prefix): Further document usage of
17263 this option.
17264 * doc/invoke.texi (-I): Update.
17265
17266 2002-08-20 Richard Henderson <rth@redhat.com>
17267
17268 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
17269 (emit_block_move): Split out subroutines.
17270 (emit_block_move_via_movstr): New.
17271 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
17272 (emit_block_move_libcall_fn): New. Construct function prototype for
17273 bcopy as well.
17274 (clear_storage): Split out subroutines.
17275 (clear_storage_via_clrstr): New.
17276 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
17277 (clear_storage_libcall_fn): New. Construct function prototype for
17278 bzero as well.
17279 (emit_push_insn): Use emit_block_move.
17280 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
17281 (store_constructor): Likewise.
17282
17283 2002-08-19 Ziemowit Laski <zlaski@apple.com>
17284
17285 * objc/objc-act.c (building_objc_message_expr): Rename to
17286 current_objc_message_selector.
17287
17288 2002-08-19 Ziemowit Laski <zlaski@apple.com>
17289
17290 * objc/objc-act.c (build_ivar_chain): Remove.
17291 (objc_copy_list): Likewise.
17292 (get_class_ivars): Inline call to removed build_ivar_chain
17293 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
17294 slot; use that slot (rather than CLASS_IVARS) when accessing
17295 ivars for base classes. Call copy_list and chainon instead of
17296 objc_copy_list.
17297 (build_private_template): Call get_class_ivars instead of
17298 build_ivar_chain.
17299 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
17300 (continue_class): Call get_class_ivars instead of
17301 build_ivar_chain.
17302 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
17303 of DECL_BIT_FIELD (which may have been cleared).
17304 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
17305
17306 2002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17307
17308 * genautomata.c (output_translate_vect, output_state_ainsn_table,
17309 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
17310 in output file.
17311 (output_internal_min_issue_delay_func): Initialize variable in
17312 output file.
17313
17314 2002-08-19 Alexandre Oliva <aoliva@redhat.com>
17315
17316 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
17317 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
17318
17319 2002-08-19 Geoffrey Keating <geoffk@redhat.com>
17320 Steve Ellcey <sje@cup.hp.com>
17321
17322 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
17323 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
17324 * explow.c (trunc_int_for_mode): Abort when the mode is not
17325 a scaler integer mode.
17326 * combine.c (expand_compound_operation): Don't expand Vector
17327 or Complex modes into shifts.
17328 (expand_field_assignment): Don't do bitwise arithmatic and
17329 shifts on Vector or Complex modes.
17330 (simplify_comparison): Don't call trunc_int_for_mode
17331 for VOIDmode.
17332 * recog.c (general_operand): Likewise.
17333 (immediate_operand): Likewise.
17334 (nonmemory_operand): Likewise.
17335
17336 2002-08-19 David Edelsohn <edelsohn@gnu.org>
17337
17338 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
17339 multi-instruction SImode constant. Add REG_EQUAL note.
17340 * config/rs6000/rs6000.md (movsi splitter): Use
17341 rs6000_emit_set_const.
17342
17343 2002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17344
17345 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
17346 the macro test controlling its use.
17347
17348 2002-08-18 H.J. Lu (hjl@gnu.org)
17349
17350 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
17351 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
17352 gnu_ld=yes.
17353 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
17354 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
17355 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
17356 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
17357 here.
17358 (cris-*-linux*): Remove setting thread_file here.
17359
17360 2002-08-18 Neil Booth <neil@daikokuya.co.uk>
17361
17362 PR preprocessor/7602
17363 * cppinit.c (path_include): Treat the system environment
17364 variables as being cxx_aware.
17365
17366 2002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
17367
17368 * c-decl.c (flexible_array_type_p): New function.
17369 (grokdeclarator, finish_struct): Use it.
17370 * doc/extend.texi: Document constraints on use of structures with
17371 flexible array members.
17372
17373 2002-08-17 Richard Sandiford <rsandifo@redhat.com>
17374
17375 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
17376 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
17377 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
17378
17379 2002-08-16 Stan Shebs <shebs@apple.com>
17380
17381 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
17382 for ObjC with -fnext-runtime.
17383 * doc/cpp.texi: Document it.
17384
17385 2002-08-16 Janis Johnson <janis187@us.ibm.com>
17386
17387 * doc/install.texi (Final installation): Replace links to individual
17388 build status pages with a link to a common page that lists them all.
17389
17390 2002-08-16 Sylvain Pion <pion@cs.nyu.edu>
17391
17392 * doc/invoke.texi: Fix typo.
17393
17394 2002-08-16 David Edelsohn <edelsohn@gnu.org>
17395
17396 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
17397
17398 2002-08-16 Andrew Haley <aph@redhat.com>
17399
17400 * tree-inline.c: Add includes for Java inliner.
17401 (remap_decl): Don't handle anonymous types for Java.
17402 (remap_block): Add handling for Java trees.
17403 (copy_scope_stmt): Conditionalize for non-Java use only.
17404 (copy_body_r): Handle Java trees. Add handling for
17405 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
17406 (initialize_inlined_parameters): Handle Java trees.
17407 (declare_return_variable): Likewise.
17408 (expand_call_inline): Handle Java trees.
17409 (walk_tree): Likewise.
17410 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
17411 (add_stmt_to_compound): New function.
17412
17413 2002-08-15 Richard Henderson <rth@redhat.com>
17414
17415 * Makefile.in (LOOSE_WARN): Remove -fno-common.
17416 (NOCOMMON_FLAG): New substitution point.
17417 (GCC_WARN_CFLAGS): Include it.
17418 * configure.in (ac_checking): Set nocommon_flag.
17419 (nocommon_flag): New substitution point.
17420
17421 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
17422
17423 * c-tree.h (skip_evaluation): Move declaration...
17424 * c-common.h: ... here.
17425 * c-typeck.c (build_external_ref): Don't assemble_external nor
17426 mark a tree as used if skip_evaluation is set.
17427 * c-parse.in (typeof): New non-terminal to set skip_evaluation
17428 around TYPEOF.
17429 (typespec_nonreserved_nonattr): Use it.
17430
17431 2002-08-15 Douglas B Rupp <rupp@gnat.com>
17432
17433 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
17434 (xcoff_debug_hooks): Update end_prologue.
17435 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
17436 * debug.h (end_prologue): Add file arg.
17437 (end_epilogue): Add line and file args.
17438 (dwarf2out_end_epilogue): Add line and file args.
17439 (vmsdbgout_after_prologue): Remove.
17440 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
17441 (dwarf2_debug_hooks): Update end_prologue.
17442 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
17443 (dwarfout_end_prologue): Add file arg.
17444 * final.c (vmsdbgout_after_prologue): Remove
17445 (final_end_function): Update end_epilogue call.
17446 (final_scan_insn): Update end_prologue call.
17447 * sdbout.c (sdbout_end_epilogue): Add line and file args.
17448 (sdbout_end_prologue): Add file arg.
17449 (sdb_debug_hooks): Update end_prologue.
17450 (sdb_begin_prologue): Update sdbout_end_prologue call.
17451 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
17452 vmsdbgout_end_function.
17453 (vmsdbgout_end_prologue): New function renamed from
17454 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
17455 (vmsdbgout_end_function): New function.
17456 (vmsdbgout_end_epilogue): Add line and file args. Call
17457 vmsdbgout_source_line.
17458 (write_pclines): Write only valid line numbers.
17459 (write_srccorr): Don't write source correlation records if 0 lines.
17460 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
17461
17462 2002-08-15 Steve Ellcey <sje@cup.hp.com>
17463
17464 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
17465 (_Unwind_Internal_Ptr): 32 bit version for use in
17466 read_encoded_value_with_base.
17467 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
17468 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
17469 right size.
17470
17471 2002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17472
17473 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
17474 signed/unsigned warnings.
17475
17476 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
17477 record_reg_classes): Likewise.
17478
17479 * reload.c (reload_inner_reg_of_subreg, push_reload,
17480 find_reloads_address_1): Likewise.
17481
17482 2002-08-15 David Edelsohn <edelsohn@gnu.org>
17483
17484 * rs6000.c (output_mi_thunk): Return to function section on
17485 TARGET_ELF.
17486
17487 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
17488
17489 2002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
17490
17491 * config/s390/s390.c (legitimize_address): Optimize loading
17492 of large displacements.
17493
17494 2002-08-14 Douglas B Rupp <rupp@gnat.com>
17495
17496 * config/alpha/alpha-protos.h: Update.
17497
17498 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
17499 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
17500 (alpha_linkage_symbol_p): New static function.
17501 (print_operand_address): Print linkage operand.
17502
17503 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
17504 variables.
17505 (reloc_kind): New enum.
17506 (struct alpha_funcs): New struct.
17507 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
17508
17509 (alpha_need_linkage): Rewrite.
17510 (alpha_use_linkage): New global function.
17511 (alpha_write_linkage): Rewrite and make static.
17512 (alpha_write_one_linkage): Rewrite
17513
17514 (alpha_start_function): Remove procedure descriptor output.
17515 (alpha_end_function): Write linkages at end of each function.
17516
17517 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
17518 (call_vms_1, call_value_vms_1): Rewrite.
17519
17520 * config/alpha/vms.h (ASM_FILE_END): Remove.
17521
17522 2002-08-14 Richard Henderson <rth@redhat.com>
17523
17524 * ggc-page.c (RTL_SIZE): New.
17525 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
17526 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
17527
17528 2002-08-14 Richard Henderson <rth@redhat.com>
17529
17530 * calls.c: Include target.h.
17531 * Makefile.in (calls.o): Update.
17532
17533 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
17534 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
17535
17536 2002-08-14 Richard Henderson <rth@redhat.com>
17537
17538 * Makefile.in (LOOSE_WARN): Add -fno-common.
17539 * c-common.h (constant_string_class_name): Add missing extern.
17540
17541 2002-08-15 Neil Booth <neil@daikokuya.co.uk>
17542
17543 PR preprocessor/7358
17544 * c-opts.c (check_deps_environment_vars): Ignore main file
17545 for SUNPRO_DEPENDENCIES.
17546 * cppfiles.c (stack_include_file): Ignore main file if
17547 appropriate.
17548 * cpplib.h (struct cpp_options): New member in deps.
17549 * doc/cppenv.texi: Update.
17550
17551 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
17552
17553 PR preprocessor/7526
17554 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
17555
17556 2002-08-14 Nathan Sidwell <nathan@codesourcery.com>
17557
17558 * doc/invoke.texi (-a): Remove documentation.
17559 (-fprofile-arcs): Remove reference to -a, -ax options.
17560 * doc/gcov.texi (Gcov Data Files): Data might be merged.
17561
17562 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
17563
17564 Fix PR/7566
17565 * c-semantics.c (genrtl_case_label): Don't (mis)use
17566 warning_with_decl.
17567
17568 2002-08-14 Dale Johannesen <dalej@apple.com>
17569
17570 * explow.c (emit_stack_restore): Emit memory clobbers
17571 preceding the stack pop, to prevent the scheduler from
17572 moving refs to variable arrays below this pop.
17573 * reload1.c (reload): Preserve these clobbers for sched2.
17574 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
17575
17576 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
17577
17578 * c-opts.c (c_common_post_options): Correct test.
17579
17580 2002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17581
17582 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
17583 order in call to fprintf.
17584
17585 2002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17586
17587 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
17588
17589 2002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
17590
17591 * reload.c (find_reloads): Handle constraint letters marked by
17592 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
17593 (alternative_allows_memconst): Likewise.
17594 * reload1.c (maybe_fix_stack_asms): Likewise.
17595 * recog.c (asm_operand_ok, preprocess_constraints,
17596 constrain_operands): Likewise.
17597 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
17598 * local-alloc.c (block_alloc, requires_inout): Likewise.
17599 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
17600
17601 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
17602 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
17603 * doc/tm.texi: Document these two new target macros.
17604
17605 * config/s390/s390.c (s390_expand_plus_operand): Accept already
17606 valid operands.
17607 (q_constraint): New function.
17608 config/s390/s390-protos.h (q_constraint): Declare it.
17609 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
17610 (EXTRA_MEMORY_CONSTRAINT): New macro.
17611
17612 * config/s390/s390.md: Throughout the machine description,
17613 replace all instances of the constraint combinations 'Qo'
17614 or 'oQ' with simply 'Q'.
17615
17616 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
17617
17618 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
17619 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
17620 (LIBGCC2_CFLAGS): Compile with -mrelax.
17621
17622 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
17623
17624 * doc/invoke.texi: Document -minmax for 68HC12.
17625
17626 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
17627 ("uminqi3"): Likewise.
17628 ("uminhi3", "umaxhi3"): Likewise.
17629
17630 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
17631 (TARGET_MIN_MAX): Define.
17632 (TARGET_SWITCHES): New option -minmax/-mnominmax.
17633
17634 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
17635
17636 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
17637 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
17638
17639 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
17640 (ret, declare, farsym): New gas macros.
17641 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
17642 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
17643 and declare the symbol far when compiled with -mlong-calls.
17644 (__far_trampoline): New for 68HC12 trampoline code to invoke a
17645 far handler using jsr/bsr.
17646
17647 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
17648 (jsr): New macro to transform a 'jsr' into a 'call'.
17649
17650 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
17651
17652 * doc/invoke.texi: Document -mlong-calls for 68HC12.
17653
17654 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
17655 -mlong-calls is specified.
17656 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
17657 assembler directives.
17658 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
17659 (TARGET_SWITCHES): Add -mlong-calls options.
17660 (current_function_far): Declare.
17661
17662 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
17663 into account the page register saved on the stack.
17664 (m68hc11_override_options): Take into account -mlong-calls option.
17665 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
17666
17667 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
17668 if the function is going to be in 68HC12 banked memory (-mlong-calls).
17669 ("*return_16bit"): Likewise.
17670 ("*return_void"): Likewise.
17671 ("call", "call_value"): Use call for a far function call.
17672
17673 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
17674
17675 * toplev.c (parse_options_and_default_flags): Don't call
17676 post_options here.
17677 (general_init): Initialize GC, pools and tree hash here,
17678 instead of lang_independent_init.
17679 (lang_independent_init): Rename backend_init.
17680 (do_compile): Call post_options hook; exit early if there
17681 have been errors after switch processing.
17682 (toplev_main): Update.
17683
17684 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
17685
17686 * c-pretty-print.h: Guard against multiple inclusion.
17687 Robustify macros.
17688 (pp_c_attributes): Declare.
17689 * c-pretty-print.c (pp_c_attributes): New function.
17690
17691 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17692
17693 * m68k.c (m68k_output_function_prologue,
17694 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
17695 and NEWS/MOTOROLA.
17696 * genattrtab.c: Remove dpx2 comment.
17697 * libgcc2.c (__enable_execute_stack): Delete versions for
17698 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
17699 sony_news/SYSTYPE_BSD.
17700 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
17701 __gmicro__, __i860__, __NeXT__ and __pyr__.
17702 * rtl.h: Remove convex comment.
17703 * varasm.c: Likewise.
17704
17705 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17706
17707 * c-opts.c (lang_flags): Const-ify.
17708 * ra-build.c (undef_table): Likewise.
17709 * ra.c (eliminables): Likewise.
17710
17711 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
17712
17713 * tree.h: Guard against multiple inclusion.
17714
17715 2002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
17716
17717 * reload1.c (reload_cse_simplify): Before checking
17718 REG_FUNCTION_VALUE_P, check REG_P.
17719
17720 2002-08-13 Geoffrey Keating <geoffk@redhat.com>
17721
17722 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
17723
17724 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
17725
17726 * c-opts.c (c_common_init_options): Extra braces needed.
17727
17728 Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
17729
17730 * sh.c (sh_init_builtins): Add PARAMS to declaration.
17731 (sh_media_init_builtins, sh_expand_builtin): Likewise.
17732 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
17733 (sh_expand_binop_v2sf): Likewise.
17734 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
17735 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
17736 (sh_initialize_trampoline): Likewise.
17737
17738 2002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
17739
17740 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
17741 new condition code modes.
17742 s390.c (s390_match_ccmode_set): Handle those new CC modes.
17743 (s390_select_ccmode): Likewise.
17744 (s390_branch_condition_mask): Likewise.
17745
17746 * s390-protos.h (s390_tm_ccmode): Declare.
17747 s390.c (s390_tm_ccmode): New function.
17748 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
17749
17750 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
17751 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
17752 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
17753
17754 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
17755 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
17756 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
17757 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
17758 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
17759
17760 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
17761 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
17762 "*cmpqi_ccs_0"): Remove, replace by ...
17763 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
17764 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
17765 "*tstqi", "*tstqi_cconly"): ... these new patterns.
17766
17767 ("*cmpsidi_ccs"): Remove, replace by ...
17768 ("*cmpsi_ccs_sign"): ... this new pattern.
17769 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
17770
17771 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
17772 ("*cli"): ... this new pattern.
17773
17774 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
17775 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
17776 New patterns.
17777 ("adddi3_64"): Rename to "*adddi3_64".
17778 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
17779 ("adddi3"): Adapt expander.
17780
17781 ("*addsi3_cc"): Allow "general_operand" for operand 2.
17782 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
17783 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
17784
17785 ("addhi3", "addqi3"): Remove, replace by ...
17786 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
17787
17788 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
17789 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
17790 ("subdi3"): Replace by insn and splitter "*subdi3_31".
17791 ("subdi3"): New expander.
17792
17793 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
17794
17795 ("subhi3", "subqi3"): Remove, replace by ...
17796 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
17797
17798 ("*muldi3_sign"): New pattern.
17799 ("muldi3"): Do not clobber CC.
17800 ("mulsi3"): Likewise.
17801 ("mulsi_6432"): Likewise.
17802
17803 2002-08-13 Denis Chertykov <denisc@overta.ru>
17804
17805 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
17806 which can change CC0.
17807
17808 Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
17809
17810 * gcse.c (adjust_libcall_notes): New function.
17811 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
17812
17813 2002-08-13 Nathan Sidwell <nathan@codesourcery.com>
17814
17815 * libgcc2.c (L_bb): Remove unneeded #includes.
17816 (__global_counters, __gthreads_active): Remove unused globals.
17817 (__bb_exit_func): Merge counts into files rather than appending.
17818 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
17819 (ALL_CFLAGS): ... to here.
17820
17821 2002-08-13 Denis Chertykov <denisc@overta.ru>
17822
17823 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
17824 (function_epilogue): Don't calculate function size.
17825 (ip2k_set_compare): Don't use lookup_const_double.
17826 (asm_file_start): Initialization of commands_in_file removed.
17827 (asm_file_end): Output of commands_in_file removed.
17828
17829 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
17830 __INT_MAX__.
17831
17832 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
17833
17834 * c-opts.c (c_common_init_options): Check option array is
17835 sorted if checking enabled.
17836
17837 2002-08-13 Gabriel Dos Reis <gdr@nerim.net>
17838
17839 * c-pretty-print.c: #include "c-tree.h".
17840 (pp_c_simple_type_specifier): Tweak.
17841 (pp_c_storage_class_specifier): New.
17842 (pp_c_function_specifier): Likewise.
17843 (pp_c_declaration_specifiers): Likewise.
17844 (pp_c_init_declarator): Likewise.
17845 (pp_c_declaration): Likewise.
17846 (pp_c_direct_declarator): Stub.
17847 (pp_c_declarator): Likewise.
17848 (pp_c_parameter_declaration): Likewise.
17849
17850 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
17851
17852 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
17853 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
17854 struct deferred_opt): New.
17855 (COMMAND_LINE_OPTIONS): Add -M*.
17856 (missing_arg): Update.
17857 (c_common_decode_option): Handle -M*.
17858 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
17859 don't call cpp_post_options.
17860 (c_common_finish, check_deps_environment_vars): Update.
17861 * cppfiles.c (stack_include_file, handle_missing_header): Update.
17862 * cpphash.h (CPP_PRINT_DEPS): Remove.
17863 * cppinit.c: Don't include version.h.
17864 (cpp_create_reader): Don't call deps_init. Initialize
17865 warn_long_long.
17866 (cpp_read_main_file): Init deps if necessary.
17867 (cpp_destroy): Conditionally free deps.
17868 (cpp_finish): Update.
17869 (no_tgt): Remove.
17870 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
17871 (cpp_post_options): Rename post_options.
17872 * cpplib.h (struct cpp_options): Remove some dependency options;
17873 move others to a new structure.
17874 (cpp_post_options): Remove.
17875 (cpp_finish): Comment.
17876 * fix-header.c (read_scan_file): Don't call cpp_post_options.
17877
17878 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
17879
17880 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
17881 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
17882 MMIX_rR_REGNUM as clobbered.
17883 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
17884
17885 2002-08-12 Gabriel Dos Reis <gdr@nerim.net>
17886
17887 * diagnostic.h (output_formatted_scalar): Rename from
17888 output_formatted_integer.
17889 * diagnostic.def: Add DK_DEBUG.
17890 * diagnostic.c (output_decimal): Adjust.
17891 (output_long_decimal): Likewise.
17892 (output_unsigned_decimal): Likewise.
17893 (output_octal): Likewise.
17894 (output_long_octal): Likewise.
17895 (output_hexadecimal): Likewise.
17896 (output_long_hexadecimal): Likewise.
17897 * c-pretty-print.c (pp_c_type_specifier): New function.
17898 (pp_c_specifier_qualifier_list): Likewise.
17899 (pp_c_abstract_declarator): Likewise.
17900 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
17901
17902 2002-08-12 David Edelsohn <edelsohn@gnu.org>
17903
17904 * doc/trouble.texi (Disappointments): Add static constructor and
17905 destructor dependency information for AIX.
17906
17907 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
17908
17909 * cpphash.h (struct printer): New from cppmain.c.
17910 (cpp_reader): New member.
17911 * cppmain.c (struct printer): Move to cpphash.h.
17912 (options, print): Remove.
17913 (account_for_newlines, print_line, maybe_print_line,
17914 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
17915 scan_translation_unit_trad, cb_line_change, cb_ident,
17916 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
17917 cb_def_pragma): Make reentrant.
17918
17919 2002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17920
17921 * real.c (ieee_64): Always define.
17922 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
17923 (dec_h): Not used yet, hide it.
17924 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
17925 macro controlling use.
17926 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
17927
17928 Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
17929
17930 * i386.md (tablejump): Sign extend the operand.
17931 * i386.c (classify_argument): Fix missed case from previous patch.
17932
17933 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
17934
17935 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
17936 to c-copts.c.
17937 (warn_multichar): Die.
17938 (cb_register_builtins): Export.
17939 * c-common.h (warn_multichar, preprocess_file): Remove.
17940 (cb_register_builtins): New.
17941 * c-lang.c (c_init): Remove.
17942 (LANG_HOOKS_INIT): Use c_objc_common_init.
17943 * c-lex.c (init_c_lex): Don't canonicalize filename.
17944 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
17945 (preprocess_file): Make static. Update for cpplib.
17946 (c_common_decode_option): Remove warn_multichar. Use in_fname.
17947 (c_common_post_options): Set some cpp options here.
17948 (c_common_init): Move from c-common.c.
17949 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
17950 * cpplib.h (struct cpp_options): Remove in_fname.
17951 (cpp_preprocess_file): Update.
17952 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
17953
17954 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17955
17956 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
17957
17958 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17959
17960 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
17961 backslash in comment preceeding macro definition.
17962 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
17963 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
17964 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
17965
17966 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
17967
17968 * expr.c (store_expr): In condition for checking if value is
17969 generated in TARGET, move call to expr_size last.
17970
17971 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
17972
17973 * c-common.c (c_common_init): Call preprocess_file instead.
17974 (c_common_finish): Move to c-opts.c.
17975 * c-common.h (preprocess_file): new.
17976 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
17977 check_deps_environment_vars, c_common_finish): New.
17978 (c_common_decode_option): Update for out_fname and dependencies.
17979 * cppinit.c (init_dependency_output, output_deps): Remove.
17980 (cpp_destroy): Update prototype.
17981 (cpp_add_dependency_target): New.
17982 (cpp_read_main_file): Don't overlay a buffer.
17983 (cpp_finish): Take a deps output stream and write deps to it.
17984 Return the error count.
17985 (cpp_post_options): Don't canonicalize out_fname, or do anything
17986 with dependencies.
17987 * cpplib.h (struct cpp_options): Remove out_fname and
17988 preprocess_only.
17989 (cpp_add_dependency_target): New.
17990 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
17991 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
17992 set preprocess_only. Don't handle the output stream directly.
17993
17994 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17995
17996 * dsp16xx.c (print_operand): Fix format specifier.
17997 * dsp16xx.md: Avoid automatic aggregate initialization.
17998 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
17999 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
18000 integer constant modifier.
18001 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
18002 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
18003 guards.
18004 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
18005 * v850.c (v850_select_section): Mark parameter with
18006 ATTRIBUTE_UNUSED.
18007 * global.c (global_alloc): Const-ify.
18008 * ra-colorize.c (hardregset_to_string): Fix format specifier.
18009
18010 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18011
18012 * darwin-c.c (darwin_pragma_options): Const-ify.
18013 * darwin.c (machopic_non_lazy_ptr_name,
18014 machopic_validate_stub_or_non_lazy_ptr): Likewise.
18015 (machopic_indirect_data_reference): Wrap variables in macros
18016 controlling their use.
18017 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
18018 (machopic_select_section): Use parentheses around && within ||.
18019 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
18020
18021 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18022
18023 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
18024 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
18025 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
18026 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
18027 mdr_try_remove_redundant_insns, track_w_reload,
18028 mdr_try_wreg_elim): Make function static to match prototype.
18029 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
18030 parameter with ATTRIBUTE_UNUSED.
18031
18032 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18033
18034 * arc.c (arc_init): Don't use ISO C style function definitions.
18035 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
18036 arm_get_strip_length, arm_strip_name_encoding): Likewise.
18037 * avr.h (progmem_section): Likewise.
18038 * h8300.c h8300_asm_insn_count): Likewise.
18039 * m32r.c (init_idents): Likewise.
18040 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
18041 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
18042 * xtensa.c (xtensa_build_va_list): Likewise.
18043
18044 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
18045
18046 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
18047 * c-opts.c (parse_option): Rename find_opt.
18048 (set_std_c99): New function.
18049 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
18050 (missing_arg): Remove OPT_std_bad. Handle -o.
18051 (c_common_decode_option): Handle input and output file names,
18052 -o and -remap. Clean up -std= handling.
18053 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
18054 (cpp_handle_option): Similarly. Don't handle filenames.
18055
18056 Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
18057
18058 * i386.c (classify_argument): Fix computing of field's offsets.
18059
18060 2002-08-11 Andreas Jaeger <aj@suse.de>
18061
18062 PR target/7531:
18063 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
18064
18065 2002-08-10 Ziemowit Laski <zlaski@apple.com>
18066
18067 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
18068 reference to clk_objective_c with flag_objc.
18069 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
18070 Likewise.
18071 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
18072
18073 2002-08-10 Neil Booth <neil@daikokuya.co.uk>
18074
18075 * c-opts.c (set_std_cxx98, set_std_c89): New.
18076 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
18077 (c_common_decode_option): Handle new switches from cppinit.c.
18078 Add -std=gnu++98.
18079 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
18080 (no_arg, no_num): Remove.
18081 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
18082 switches apart from -lang-objc and lang-asm.
18083 (cpp_handle_option): Similarly.
18084 * cpplib.h (cpp_set_lang): New.
18085 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
18086 -std=gnu++98.
18087 * objc/lang-specs.h: Remove -ansi.
18088
18089 Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
18090 Graham Stott
18091
18092 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
18093 errors.
18094
18095 2002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18096
18097 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
18098 emit_jump_insn): Fix uninitialized variable.
18099 * gcov.c (init_line_info): Likewise.
18100 * genautomata.c (transform_3): Add braces around ambiguous
18101 else.
18102 * ifcvt.c (cond_exec_process_insns): Mark parameter with
18103 ATTRIBUTE_UNUSED.
18104 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
18105 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
18106 variable.
18107
18108 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
18109 warnings in output files.
18110
18111 2002-08-09 Ziemowit Laski <zlaski@apple.com>
18112
18113 * c-common.c (flag_objc): New.
18114 * c-common.h (c_language_kind): Get rid of clk_objective_c
18115 enum value.
18116 (flag_objc): New extern declaration.
18117 * c-decl.c (implicitly_declare): Call objc_check_decl
18118 instead of maybe_objc_check_decl.
18119 (finish_decl): Likewise.
18120 (grokfield): Likewise.
18121 (finish_struct): Likewise.
18122 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
18123 (maybe_objc_comptypes): Rename to objc_comptypes.
18124 (maybe_building_objc_message_expr): Rename to
18125 objc_message_selector.
18126 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
18127 replace with flag_objc as needed.
18128 * c-opts.c (c_common_init_options): Likewise.
18129 (c_common_decode_option): Likewise.
18130 * c-parse.in (init_reswords): Likewise.
18131 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
18132 (maybe_objc_comptypes): Rename to objc_comptypes.
18133 (maybe_building_objc_message_expr): Rename to
18134 objc_message_selector.
18135 * c-typeck.c (comptypes): Call objc_comptypes instead of
18136 maybe_objc_comptypes, and/or objc_message_selector instead of
18137 maybe_building_objc_message_expr.
18138 (comp_target_types): Likewise.
18139 (convert_for_assignment): Likewise.
18140 (warn_for_assignment): Likewise.
18141 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
18142 independently of those for other languages.
18143 * objc/objc-act.c (maybe_objc_comptypes): Delete.
18144 (maybe_objc_check_decl): Delete.
18145 (maybe_building_objc_message_expr): Rename to
18146 objc_message_selector.
18147 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
18148 clk_objective_c; set flag_objc flag.
18149
18150 2002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
18151
18152 * ifcvt.c (find_if_case_2): Test correct basic block for size.
18153
18154 2002-08-09 Dale Johannesen <dalej@apple.com>
18155
18156 * config/rs6000/rs6000.md: Add sibcall patterns.
18157 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
18158 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
18159 Rewritten to handle sibcalls.
18160 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
18161 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
18162
18163 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
18164
18165 * profile.c (da_file_name): New static var.
18166 (init_branch_prob): Initialize it.
18167 (end_branch_prob): Remove da file.
18168
18169 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
18170 * configure.in (coverage_flags): Default to nothing.
18171 * configure: Rebuilt.
18172
18173 2002-08-09 Neil Booth <neil@daikokuya.co.uk>
18174
18175 * Makefile.in (c-opts.o): Update
18176 * c-opts.c: Include intl.h.
18177 (print_help): Move from cppinit.c. Remove unused options.
18178 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
18179 (missing_arg): Complain for switches without an argument.
18180 (c_common_decode_option): Reject missing joined arguments.
18181 Handle new switches from cppinit.c.
18182 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
18183 (cpp_handle_option): Similarly.
18184 (print_help): Moved to c-opts.c.
18185 * cpplib.h (struct cpp_options): Remove help_only.
18186 * gcc.c (cpp_unique_options): Remove -$.
18187 * doc/cppopts.texi: Undocument -h.
18188
18189 2002-08-08 Jakub Jelinek <jakub@redhat.com>
18190
18191 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
18192 legitimate constant.
18193 (legitimate_pic_operand_p): Neither pic operand.
18194 (legitimate_address_p): But legitimate address.
18195 (get_thread_pointer): Generate MEM/u instead of CONST around
18196 UNSPEC_TP.
18197 (print_operand): Remove printing of UNSPEC_TP.
18198 (print_operand_address): And print it here.
18199
18200 2002-08-08 Devang Patel <dpatel@apple.com>
18201
18202 * objc/objc-act.c (build_selector_translation_table): Issue warning,
18203 when -Wselector is used,if method for which selector is being
18204 created does not exist.
18205
18206 2002-08-08 Stephen Clarke <stephen.clarke@superh.com>
18207
18208 * config/sh/sh.c (prepare_move_operands): Only call
18209 target_reg_operand if TARGET_SHMEDIA.
18210
18211 2002-08-08 Jakub Jelinek <jakub@redhat.com>
18212
18213 * config/rs6000/rs6000.h, config/rs6000/aix.h,
18214 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
18215 two patches.
18216 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
18217
18218 2002-08-08 Lars Brinkhoff <lars@nocrew.org>
18219 Richard Henderson <rth@redhat.com>
18220
18221 * emit-rtl.c (gen_rtx_REG): After reload, only return
18222 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
18223
18224 2002-08-08 Jakub Jelinek <jakub@redhat.com>
18225
18226 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
18227 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
18228 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
18229 macro.
18230
18231 2002-08-08 Adam Nemet <anemet@lnxw.com>
18232
18233 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
18234 register.
18235 (thumb_expand_prologue): Likewise.
18236 (thumb_output_function_prologue): Likewise.
18237 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
18238 the additional push of the PIC register.
18239
18240 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
18241
18242 * configure.in (enable_coverage): New enable switch.
18243 * configure: Rebuilt.
18244 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
18245 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
18246 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
18247 (mostlyclean): Remove coverage files.
18248 * doc/install.texi: Document enable_coverage.
18249
18250 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
18251 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
18252 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
18253 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
18254 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
18255 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
18256 files.
18257
18258 2002-08-08 Neil Booth <neil@daikokuya.co.uk>
18259
18260 * c-opts.c (cpp_opts): New.
18261 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
18262 (c_common_decode_options): Handle cpplib switches.
18263 (c_common_init_options): Set cpp_opts.
18264 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
18265 (cpp_handle_option): Similarly.
18266
18267 2002-08-08 David Edelsohn <edelsohn@gnu.org>
18268
18269 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
18270 (TARGET_ALTIVEC_ABI): Same.
18271 (TARGET_ALTIVEC_VRSAVE): Same.
18272
18273 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
18274 icode not CODE_FOR_nothing. Change switch to if.
18275
18276 2002-08-08 Alan Modra <amodra@bigpond.net.au>
18277
18278 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
18279
18280 2002-08-08 Jakub Jelinek <jakub@redhat.com>
18281
18282 * stor-layout.c (place_union_field): For bitfields if
18283 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
18284 TYPE_USER_ALIGN.
18285
18286 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
18287
18288 * pa.c (struct deferred_plabel): Constify name field.
18289
18290 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
18291
18292 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
18293
18294 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
18295
18296 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
18297 local_prefix are the same.
18298 * configure: Rebuilt.
18299
18300 2002-08-07 Jakub Jelinek <jakub@redhat.com>
18301 Richard Henderson <rth@redhat.com>
18302
18303 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
18304 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
18305 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
18306 (place_field): Likewise.
18307 * config/i386/i386.c (x86_field_alignment): Don't check
18308 DECL_USER_ALIGN here.
18309 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
18310 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
18311 prototype.
18312 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
18313 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
18314 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
18315 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
18316 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
18317 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
18318
18319 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
18320
18321 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
18322 * c-common.c: Don't include tree-inline.h.
18323 (c_common_init_options, c_common_post_options): Move to c-opts.c.
18324 * c-common.h (c_common_decode_option): New.
18325 * c-decl.c (c_decode_option): Remove.
18326 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
18327 * c-opts.c: New file.
18328 * c-tree.h (c_decode_option): Remove.
18329 * doc/passes.texi: Update.
18330 * objc/objc-act.c (objc_decode_option): Remove.
18331 * objc/objc-act.h (objc_decode_option): Remove.
18332 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
18333 c_common_decode_option.
18334
18335 2002-08-07 Chris Demetriou <cgd@broadcom.com>
18336
18337 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
18338 dependency on TARGET_DOUBLE_FLOAT.
18339
18340 2002-08-07 Stephen Clarke <stephen.clarke@superh.com>
18341
18342 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
18343 overwrite callee-save registers. Fix comment.
18344
18345 2002-08-06 Chris Demetriou <cgd@broadcom.com>
18346
18347 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
18348 in target_flags based on ISA, if it was not set on the command
18349 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
18350 support Branch Likely instructions.
18351 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
18352 (TARGET_BRANCHLIKELY): Likewise.
18353 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
18354 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
18355 ISA_HAS_BRANCHLIKELY.
18356 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
18357 * doc/invoke.texi: Document new MIPS -mbranch-likely and
18358 -mno-branch-likely options.
18359
18360 2002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18361
18362 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
18363
18364 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
18365 $(GCONFIG_H).
18366
18367 2002-08-06 Aldy Hernandez <aldyh@redhat.com>
18368
18369 * c-decl.c (duplicate_decls): Error out for incompatible TLS
18370 declarations.
18371
18372 * testsuite/gcc.dg/tls/diag-3.c: New.
18373
18374 2002-08-06 Dale Johannesen <dalej@apple.com>
18375
18376 * c-common.c (fname_decl): Use line number 0 for
18377 __func__, to avoid confusing debuggers.
18378
18379 2002-08-06 Nathan Sidwell <nathan@codesourcery.com>
18380
18381 * gcov.c: Tidy.
18382 (struct line_info, struct coverage): New structures.
18383 (gcov_file_name, gcov_file): Remove globals.
18384 (output_data): Take source file parameter. Fix memory leak. Break
18385 up into ...
18386 (init_line_info, output_line_info, make_gcov_file_name,
18387 accumulate_branch_counts): ... here.
18388 (calculate_branch_probs, function_summary): Adjust.
18389 (main): Adjust.
18390 (function_*): Remove global variables.
18391
18392 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
18393
18394 * dwarf2out.c: Remove unused macros.
18395
18396 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
18397
18398 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
18399
18400 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
18401
18402 * cppinit.c (struct lang_flags): Rename trigraphs std.
18403 (set_lang): Update.
18404 * cpplib.h (struct cpp_options): New member std.
18405 * cppmacro.c (_cpp_builtin_macro_text): Use std.
18406 (collect_args): Flag whether to swallow a possible future
18407 comma pasted with varargs.
18408 (replace_args): Use this flag.
18409 * doc/cpp.texi: Update varargs extension documentation.
18410
18411 2002-08-06 Jakub Jelinek <jakub@redhat.com>
18412
18413 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
18414
18415 2002-08-06 Jakub Jelinek <jakub@redhat.com>
18416
18417 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
18418 and MODE_CLASS_INT modes.
18419
18420 2002-08-06 Jakub Jelinek <jakub@redhat.com>
18421
18422 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
18423 --{enable,disable}-threads is given to configure.
18424 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
18425 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
18426 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
18427 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
18428 Remove thread_file setting here.
18429
18430 2002-08-06 David Edelsohn <edelsohn@gnu.org>
18431
18432 * doc/install.texi (Binaries): Update Bull Freeware URL.
18433
18434 2002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18435
18436 * doc/gcc.texi (Top): Rename Index to Keyword Index.
18437
18438 2002-08-05 Nathan Sidwell <nathan@codesourcery.com>
18439
18440 * gcov.c (output_data): Round to % to nearest, tweak formatting.
18441
18442 2002-08-05 Jakub Jelinek <jakub@redhat.com>
18443
18444 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
18445 of the operands into MINUS_EXPR if code is PLUS_EXPR.
18446
18447 2002-08-05 Douglas B Rupp <rupp@gnat.com>
18448
18449 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
18450 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
18451 drectve_section): Define.
18452 * config/i386/t-interix: Replace interix.o rule with winnt.o.
18453 * config/i386/interix.c: Remove.
18454
18455 2002-08-05 Geoffrey Keating <geoffk@redhat.com>
18456
18457 * attribs.c: Don't include obstack.h.
18458 * builtins.c: Likewise.
18459 * cfganal.c: Likewise.
18460 * cfgbuild.c: Likewise.
18461 * cfgcleanup.c: Likewise.
18462 * emit-rtl.c: Likewise.
18463 * loop.c: Likewise.
18464 * stmt.c: Likewise.
18465
18466 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
18467
18468 2002-08-05 Gabriel Dos Reis <gdr@nerim.net>
18469
18470 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
18471
18472 2002-08-04 Chris Demetriou <cgd@broadcom.com>
18473
18474 * doc/invoke.texi: Remove duplicated paragraph describing
18475 TARGET_SWITCHES.
18476
18477 2002-08-04 Geoffrey Keating <geoffk@redhat.com>
18478
18479 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
18480 * collect2.h (permanent_obstack): Delete declaration.
18481 * collect2.c (permanent_obstack): Delete definition.
18482 (main): Don't initialize permanent_obstack. Use xstrdup instead.
18483 * expr.c: Don't include obstack.h.
18484 (permanent_obstack): Delete declaration.
18485 * function.c: Don't include obstack.h.
18486 (permanent_obstack): Delete declaration.
18487 * integrate.c: Don't include obstack.h.
18488 (function_maybepermanent_obstack): Delete declaration.
18489 * print-tree.c (debug_tree): Use x*alloc not permalloc.
18490 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
18491 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
18492 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
18493 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
18494 of permalloc, expralloc, perm_calloc.
18495 * tree.c (permanent_obstack): Delete definition.
18496 (init_ttree): Rename from init_obstacks.
18497 (permalloc): Delete.
18498 (perm_calloc): Delete.
18499 (dump_tree_statistics): Don't print information about
18500 permanent_obstack.
18501 * varasm.c (assemble_start_function): Use xstrdup instead of
18502 permalloc/strcpy.
18503 (assemble_variable): Likewise.
18504 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
18505 permalloc.
18506 (unicosmk_add_extern): Likewise.
18507 * config/c4x/c4x.c (c4x_external_ref): Likewise.
18508 (c4x_global_label): Likewise.
18509 * config/frv/frv.c (frv_encode_section_info): Likewise.
18510 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
18511 (i386_pe_record_exported_symbol): Likewise.
18512 * config/mips/mips.c (mips_output_external): Likewise.
18513 (mips_output_external_libcall): Likewise.
18514 * config/pa/pa.c: (permanent_obstack): Delete declaration.
18515 (output_call): Use ggc_strdup instead of allocating on
18516 permanent_obstack.
18517 * config/romp/romp.c: Include ggc.h.
18518 (get_symref): Don't declare permanent_obstack, use ggc_strdup
18519 intead of permanent_obstack.
18520 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
18521 instead of permalloc.
18522 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
18523 instead of permalloc
18524 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
18525 instead of permalloc.
18526 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
18527 permalloc.
18528
18529 2002-08-04 Bernd Schmidt <bernds@redhat.com>
18530
18531 Contribute a port developed primarily by Michael Meissner,
18532 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
18533 * config.gcc: Add frv-elf target.
18534 * config/frv/cmovd.c: New file.
18535 * config/frv/cmovh.c: New file.
18536 * config/frv/cmovw.c: New file.
18537 * config/frv/frv-abi.h: New file.
18538 * config/frv/frv-asm.h: New file.
18539 * config/frv/frv-modes.def: New file.
18540 * config/frv/frv-protos.h: New file.
18541 * config/frv/frv.c: New file.
18542 * config/frv/frv.h: New file.
18543 * config/frv/frv.md: New file.
18544 * config/frv/frvbegin.c: New file.
18545 * config/frv/frvend.c: New file.
18546 * config/frv/lib1funcs.asm: New file.
18547 * config/frv/media.h: New file.
18548 * config/frv/modi.c: New file.
18549 * config/frv/t-frv: New file.
18550 * config/frv/uitod.c: New file.
18551 * config/frv/uitof.c: New file.
18552 * config/frv/ulltod.c: New file.
18553 * config/frv/ulltof.c: New file.
18554 * config/frv/umodi.c: New file.
18555 * config/frv/xm-frv.h: New file.
18556
18557 * config/frv/media.h: Removed again.
18558
18559 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
18560
18561 * gcov.c (bb_file_time): New static variable.
18562 (object_directory): May also be object file.
18563 (preserve_paths): New static variable.
18564 (print_usage): Adjust.
18565 (options): Adjust.
18566 (process_args): Adjust.
18567 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
18568 file. Find modification date on bb file.
18569 (read_profile): Don't rewind a NULL file.
18570 (format_hwint): New static function.
18571 (function_summary): Use format_hwint.
18572 (output_data): SOURCE_FILE_NAME is never relative to
18573 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
18574 mangling. Adjust output format to make it more machine readable.
18575 * doc/gcov.texi: Document & clarify semantics.
18576
18577 2002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
18578
18579 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
18580
18581 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
18582
18583 * gcc.c (cc1_options): Pass output file as auxbase when
18584 appropriate.
18585 * profile.c (init_branch_prob): FILENAME has already had ending
18586 stripped.
18587 * final.c (end_final): Likewise.
18588 * toplev.c (aux_base_name): New global.
18589 (compile_file): Pass aux_base_name to init init_branch_prob and
18590 end_final.
18591 (independent_decode_option, case 'a'): New auxinfo options.
18592 (case 'd'): Protect against mising basename.
18593 (do_compile): Initialize aux_base_name.
18594 * toplev.h (aux_base_name): New global.
18595 * doc/invoke.texi: Adjust documentation.
18596
18597 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
18598
18599 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
18600 of TARGET_ALIGN_DOUBLE.
18601
18602 2002-08-04 Gabriel Dos Reis <gdr@nerim.net>
18603
18604 * diagnostic.c (inform): New function.
18605 * diagnostic.h (inform): Declare.
18606
18607 2002-08-03 David Edelsohn <edelsohn@gnu.org>
18608
18609 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
18610 (movhi_internal): Same.
18611 (movqi_internal): Same.
18612 (movdi_internal64): Same.
18613
18614 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
18615
18616 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
18617 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
18618 (COMMON_ASM_OP): Define.
18619 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
18620 Use ALIGN parameter.
18621 (LOCAL_COMMON_ASM_OP): Define.
18622 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
18623
18624 2002-08-03 Roger Sayle <roger@eyesopen.com>
18625
18626 * builtins.def: Define new builtin functions exp, expf, expl,
18627 log, logf and logl (and their __builtin_* variants).
18628 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
18629 Define exp_optab and log_optab.
18630 * optabs.c (init_optans): Initialize exp_optab and log_optab.
18631 * genopinit.c (optabs): Implement exp_optab and log_optab
18632 using exp?f2 and log?f2 patterns.
18633 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
18634 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
18635 (expand_builtin): Ignore the new builtins (and all cos and
18636 sin variants) when not optimizing. Expand new builtins via
18637 expand_builtin_mathfn when flag_unsafe_math_optimizations.
18638
18639 * doc/extend.texi: Document new exp and log builtins.
18640 * doc/md.texi: Document new exp?f2 and log?f2 patterns
18641 (and previously undocumented cos?f2 and sin?f2 patterns).
18642
18643 2002-08-03 Jason Merrill <jason@redhat.com>
18644
18645 * explow.c (int_expr_size): New fn.
18646 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
18647 * expr.h: Declare it.
18648
18649 2002-08-02 Krister Walfridsson <cato@df.lth.se>
18650
18651 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
18652 gengtype-* dependencies.
18653
18654 2002-08-02 Eric Christopher <echristo@redhat.com>
18655
18656 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
18657 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
18658 #ifndef to #undef.
18659 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
18660
18661 2002-08-02 David Edelsohn <edelsohn@gnu.org>
18662
18663 PR optimize/7067
18664 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
18665 small if optimizing for size.
18666
18667 2002-08-02 Daniel Jacobowitz <drow@mvista.com>
18668
18669 * configure.in (FORBUILD): Use $build_alias.
18670 * configure: Regenerated.
18671
18672 2002-08-02 Richard Sandiford <rsandifo@redhat.com>
18673
18674 * config.gcc: Don't include mips/abi64.h in $tm_file.
18675 * hard-reg-set.h (call_really_used_regs): Declare.
18676 * config/mips/abi64.h: Remove file.
18677 * config/mips/linux.h,
18678 * config/mips/iris6.h: Don't include it.
18679 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
18680 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
18681 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
18682 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
18683 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
18684 Bring across definitions from abi64.h.
18685 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
18686 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
18687 (struct mips_args): Use it.
18688 * config/mips/mips.c (mips_conditional_register_usage): Define.
18689
18690 2002-08-02 Jason Merrill <jason@redhat.com>
18691
18692 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
18693 * langhooks.c (lhd_expr_size): Define default.
18694 * langhooks.h (struct lang_hooks): Add expr_size.
18695 * explow.c (expr_size): Call it.
18696 * expr.c (store_expr): Don't copy an expression of size zero.
18697 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
18698 to store.
18699 * Makefile.in (builtins.o): Depend on langhooks.h.
18700
18701 2002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18702
18703 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
18704 * ra-debug.c: Include "tm_p.h".
18705 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
18706
18707 2002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
18708
18709 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
18710 when not honoring signalling NaNs.
18711 (simplify_ternary_operation): a == b has a definite value
18712 when not honoring NaNs.
18713
18714 2002-08-02 Jason Merrill <jason@redhat.com>
18715
18716 * gdbinit.in (pct): New macro.
18717
18718 2002-08-01 Stan Shebs <shebs@apple.com>
18719 Andreas Tobler <toa@pop.agri.ch>
18720
18721 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
18722 plays nice with Darwin headers.
18723 (_BSD_RUNE_T_DEFINED_): Likewise.
18724
18725 2002-08-01 Zack Weinberg <zack@codesourcery.com>
18726
18727 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
18728 * cppinit.c (cpp_post_options): Likewise.
18729
18730 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
18731 warning about 'LL' suffix (but not 'ULL' etc) when
18732 -Wno-long-long is in effect.
18733
18734 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
18735 Check for failing time()/localtime(), issue a warning, and
18736 make __TIME__ and __DATE__ expand to fallback strings.
18737
18738 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
18739 and __TIME__ when the date and time cannot be determined.
18740
18741 2002-08-02 Alan Modra <amodra@bigpond.net.au>
18742
18743 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
18744
18745 2002-08-01 Daniel Jacobowitz <drow@mvista.com>
18746
18747 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
18748
18749 2002-08-01 Chris Demetriou <cgd@broadcom.com>
18750
18751 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
18752 (mipsisa64sb1el-*-elf*): Likewise.
18753 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
18754 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
18755 (TARGET_SB1, TUNE_SB1): New macros.
18756 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
18757 -mtune flags.
18758
18759 2002-08-01 David Edelsohn <edelsohn@gnu.org>
18760
18761 * varasm.c (asm_emit_uninitialized): Return false if global BSS
18762 and ASM_EMIT_BSS not supported by target.
18763 (assemble_variable): Do not duplicate uninitialized logic.
18764 Fall through if asm_emit_uninitialized failed.
18765
18766 2002-08-01 Chris Demetriou <cgd@broadcom.com>
18767
18768 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
18769
18770 2002-08-02 Alan Modra <amodra@bigpond.net.au>
18771
18772 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
18773 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
18774
18775 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
18776 HOST_BITS_PER_WIDE_INT == 64.
18777
18778 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18779
18780 * df.c (df_insn_table_realloc): Change parameter to unsigned.
18781 * optabs.c (expand_binop): Make variable unsigned.
18782 * simplify-rtx.c (simplify_subreg): Likewise.
18783 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
18784
18785 2002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18786
18787 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
18788
18789 2002-08-01 Richard Henderson <rth@redhat.com>
18790
18791 * toplev.c (parse_options_and_default_flags): Don't set
18792 flag_reorder_blocks for -Os.
18793
18794 * config/avr/avr.c (avr_optimization_options): Remove.
18795 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
18796 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
18797 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
18798
18799 2002-08-01 H.J. Lu <hjl@gnu.org>
18800 Richard Henderson <rth@redhat.com>
18801
18802 * output.h (DECL_READONLY_SECTION): Remove.
18803 (decl_readonly_section): Declare.
18804 * varasm.c (decl_readonly_section): New.
18805 (default_section_type_flags, default_select_section): Use it.
18806 * config/arm/pe.c (arm_pe_unique_section): Likewise.
18807 * config/i386/interix.c (i386_pe_unique_section): Likewise.
18808 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
18809 * config/mcore/mcore.c (mcore_unique_section): Likewise.
18810 * config/mips/mips.c (mips_unique_section): Likewise.
18811
18812 2002-08-01 Richard Henderson <rth@redhat.com>
18813
18814 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
18815 refers to a subroutine parameter.
18816
18817 2002-08-01 Jakub Jelinek <jakub@redhat.com>
18818
18819 * varasm.c (assemble_visibility): Strip name encoding.
18820
18821 2002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
18822
18823 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
18824 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
18825 when there is no frame pointer.
18826 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
18827 registers properly.
18828 * config/ns32k/__unorddf2.c: New file.
18829 * config/ns32k/__unordsf2.c: New file.
18830 * config/ns32k/t-ns32k: New file.
18831 * config.gcc (ns32k-*-netbsd*): Use it.
18832
18833 2002-08-01 Aldy Hernandez <aldyh@redhat.com>
18834
18835 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
18836
18837 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
18838
18839 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
18840
18841 2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
18842
18843 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
18844
18845 2002-08-01 Richard Sandiford <rsandifo@redhat.com>
18846
18847 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
18848
18849 2002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
18850
18851 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
18852 n_sets): Removed.
18853 (expr_hash_table, set_hash_table): Type changed to ...
18854 (struct hash_table): New type.
18855 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
18856 insert_expr_in_table, insert_set_in_table, compute_hash_table,
18857 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
18858 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
18859 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
18860 (alloc_hash_table): New.
18861 (free_set_hash_table, free_expr_hash_table): Merged to ...
18862 (free_hash_table): New.
18863 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
18864 (compute_hash_table_work): New.
18865 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
18866 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
18867 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
18868 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
18869 hoist_code, one_code_hoisting_pass,
18870 trim_ld_motion_mems): Altered due to changed type of hash tables.
18871
18872 2002-08-01 Zack Weinberg <zack@codesourcery.com>
18873
18874 * final.c (output_alternate_entry_point):
18875 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
18876
18877 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18878
18879 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
18880 avoid ISO C style function definition.
18881
18882 * expr.c (expand_assignment): Delete unused variable.
18883
18884 2002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
18885
18886 * c-common.c (cb_register_builtins): Set
18887 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
18888 is given, and to 0 otherwise.
18889 * combine.c (simplify_if_then_else): HONOR_NANS
18890 implies FLOAT_MODE_P.
18891
18892 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
18893
18894 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
18895 (cpp_handle_option): Don't handle it.
18896 (print_help): Update.
18897 * doc/cppopts.texi: Update.
18898
18899 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
18900
18901 * c-common.c (cb_register_builtins): If C++, define
18902 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
18903 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
18904 cp:
18905 * lang-specs.h: Simplify in accordance with new code in
18906 c-common.c.
18907
18908 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
18909
18910 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
18911 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
18912 * c-decl.c: Move all warning and flag variables to c-common.c.
18913 * c-format.c: Move all warning variables to c-common.c.
18914 * c-tree.h: Move all warning and flag declarations to c-common.h.
18915 * objc/objc-act.c: Move all warning variables to c-common.c.
18916 (flag_warn_protocol): Rename warn_protocol.
18917
18918 2002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
18919
18920 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
18921
18922 2002-07-31 Graham Stott <graham.stott@btinternet.com>
18923
18924 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
18925 .section prefix.
18926
18927 2002-07-31 Stan Shebs <shebs@apple.com>
18928
18929 * config.gcc (i[34567]86-*-darwin*): New configuration.
18930 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
18931 defining.
18932 (TARGET_ENCODE_SECTION_INFO): Ditto.
18933 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
18934 * config/darwin.c (machopic_indirect_data_reference): Remove
18935 setting of RTX_UNCHANGING_P.
18936 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
18937 not to be applied to sums.
18938 * config/i386/t-darwin: New file.
18939 * config/i386/darwin.h: New file.
18940 * config/i386/i386.h (TARGET_MACHO): Add default definition.
18941 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
18942 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
18943 label and not the GOT add.
18944 (constant_address_p): For Mach-O, seeing a CONST is enough.
18945 (legitimate_pic_address_disp_p): Add a Mach-O case.
18946 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
18947 (legitimize_pic_address): Use generic Mach-O code to legitimize.
18948 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
18949 if outputting a difference.
18950 (ix86_output_addr_diff_elt): Add Mach-O case.
18951 (ix86_expand_move): Similarly.
18952 (ix86_expand_call): Similarly.
18953 (current_machopic_label_num): New global.
18954 (machopic_output_stub): New function.
18955 (ix86_value_regno): New function.
18956 (ix86_function_value): Use it instead of VALUE_REGNO.
18957 (ix86_libcall_value): Ditto.
18958 * config/i386/unix.h (VALUE_REGNO): Remove.
18959
18960 2002-07-31 Graham Stott <grahas@btinternet.com>
18961
18962 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
18963 hash for LABEL_REF's.
18964
18965 2002-07-31 Graham Stott <grahams@btinternet.com>
18966
18967 * config/rs6000/rs6000.c (spe_init_builtins,
18968 altivec_init_builtins, rs6000_common_init_builtins):
18969 Replace ANSI with K&R function def.
18970
18971 2002-07-31 David Edelsohn <edelsohn@gnu.org>
18972
18973 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
18974 for CCFPmode.
18975
18976 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
18977
18978 * config/mips/crtn.asm: Don't use __mips16 to determine the
18979 return-address offset. Define RA to a suitable temporary
18980 register for the return address.
18981
18982 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
18983
18984 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
18985 constraints to 'd'.
18986
18987 2002-07-30 Chris Demetriou <cgd@broadcom.com>
18988
18989 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
18990 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
18991 patch on 2002-07-29.)
18992 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18993
18994 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18995
18996 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
18997 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
18998 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
18999 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
19000 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
19001 (ASM_GLOBALIZE_LABEL): Delete.
19002 (GLOBAL_ASM_OP): Define.
19003
19004 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
19005
19006 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
19007 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
19008
19009 2002-07-30 Geoffrey Keating <geoffk@redhat.com>
19010
19011 * doc/extend.texi (Hints implementation): Document that GCC
19012 mostly ignores `register'.
19013
19014 2002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
19015
19016 * flags.h: Declare flag_finite_math_only.
19017 Use it in definition of HONOR_NANS and
19018 HONOR_INFINITIES.
19019 * c-common.c (cb_register_builtins): Emit
19020 __FINITE_MATH_ONLY__ when flag_finite_math_only
19021 is set.
19022 * combine.c (simplify_if_then_else): If
19023 flag_finite_math_only is set, a == b has a
19024 definite value.
19025 * toplev.c: Initialize flag_finite_math_only.
19026 (set_flags_fast_math): Set it on -ffast-math.
19027 (flag_fast_math_set_p): Test it.
19028 * doc/invoke.texi: Document -ffinite-math-only.
19029
19030 2002-07-30 Richard Henderson <rth@redhat.com>
19031
19032 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
19033 (noce_process_if_block): Likewise.
19034
19035 2002-07-30 Bernd Schmidt <bernds@redhat.com>
19036
19037 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
19038 Bail out early if false_expr is NULL and we'd crash due to this.
19039 * genemit.c (gen_expand): Recognize return insns even if the return
19040 appears in a parallel.
19041 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
19042 * config/fp-bit.c: Likewise.
19043 * doc/tm.texi: Document it.
19044
19045 2002-07-30 David Edelsohn <edelsohn@gnu.org>
19046 Zack Weinberg <zack@codesourcery.com>
19047
19048 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
19049 CODE_FOR_nothing. Change switch to if.
19050 (rs6000_expand_binop_builtin): Same.
19051 (rs6000_expand_builtin): Expand builtin if target support enabled.
19052 (rs6000_init_builtins): Init builtin if target support enabled.
19053 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
19054
19055 2002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
19056
19057 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
19058
19059 2002-07-30 Richard Sandiford <rsandifo@redhat.com>
19060
19061 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
19062
19063 Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
19064
19065 * sh.md (cond_delay_slot): New attribute.
19066 (cbranch delay): Use it for anulled-true case.
19067 (stuff_delay_slot): New pattern.
19068 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
19069 delay slot insn.
19070 (gen_far_branch): Emit stuff_delay_slot pattern.
19071
19072 Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
19073
19074 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
19075
19076 2002-07-30 Kazu Hirata <kazu@cs.umass.edu>
19077
19078 * fold-const.c: Fix comment typos.
19079 * gcse.c: Likewise.
19080 * reload1.c: Likewise.
19081
19082 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
19083
19084 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
19085 for TARGET_SPE.
19086
19087 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
19088
19089 * c-pretty-print.h (pp_c_statement): Declare.
19090 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
19091 (pp_c_statement): Define.
19092
19093 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19094
19095 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
19096 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
19097 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
19098 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
19099 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
19100 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
19101
19102 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
19103 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
19104
19105 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
19106
19107 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
19108 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
19109 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
19110 (pp_c_expression): Update.
19111
19112 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19113
19114 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
19115 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
19116 * alpha/vms-ld.c (main): Likewise.
19117 * dsp16xx.c (double_reg_to_memory): Likewise.
19118 * mcore.c (mcore_expand_prolog): Likewise.
19119 * cppfiles.c (read_name_map): Likewise.
19120 * gensupport.c (process_rtx, identify_predicable_attribute,
19121 alter_test_for_insn): Likewise.
19122 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
19123
19124 2002-07-29 Roger Sayle <roger@eyesopen.com>
19125
19126 * builtins.c (expand_builtin): Change the default behavior to
19127 only issue an error if the builtin function doesn't have a
19128 fallback library call. Remove several cases handled by the
19129 new default.
19130
19131 2002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
19132
19133 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
19134 floating point format of the target is IEEE.
19135 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
19136 format of the target is DEC.
19137
19138 2002-07-29 Richard Henderson <rth@redhat.com>
19139
19140 * unroll.c (verify_addresses): Remove.
19141 (find_splittable_givs): Never split DEST_ADDR givs.
19142
19143 2002-07-29 Geoffrey Keating <geoffk@redhat.com>
19144
19145 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
19146 is exhaustive.
19147 (Files): Improve documentation on generated source files.
19148
19149 * doc/extend.texi (Translation implementation): Document what
19150 diagnostics look like.
19151 (Identifiers implementation): Document that there's normally no
19152 limit on identifier names.
19153 (Integers implementation): Document two's complement.
19154 (Hints implementation): Document that GCC honors 'inline', mostly.
19155 (Preprocessing directives implementation): Document that GCC
19156 requires the current time.
19157
19158 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
19159
19160 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
19161 (pp_initializer): New macro.
19162 (pp_c_initializer): Declare.
19163 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
19164 (pp_c_initializer): Define.
19165 (pp_c_initializer_list): New function.
19166 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
19167 VECTOR_CST, CONSTRUCTOR.
19168 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
19169 IMAGPART_EXPR.
19170 (pp_c_cast_expression): Handle FLOAT_EXPR.
19171 (pp_c_assignment_expression): Handle INIT_EXPR.
19172 (pp_c_expression): Update.
19173
19174 2002-07-30 Neil Booth <neil@daikokuya.co.uk>
19175
19176 * objc/objc-act.c (objc_init): Return immediately if filename
19177 is NULL.
19178
19179 2002-07-29 Eric Christopher <echristo@redhat.com>
19180
19181 * config/mips/elf.h: Remove ecoff.h and gofast includes.
19182 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
19183 (SDB_DEBUGGING_INFO): Undefine.
19184 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
19185 (PUT_SDB_SIZE): Remove.
19186 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
19187 (STARTFILE_SPEC): Add isa3264 define.
19188 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
19189 * config/mips/ecoff.h: Remove. and here...
19190 * config/mips/iris3.h: and here...
19191 * config/mips/sni-svr4.h: and here...
19192 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
19193 Add assembler -mmdebug options for non-dwarf debugging.
19194 * config/mips/r3900.h: Remove debug info defines.
19195 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
19196 * config/mips/isa3264.h: Ditto.
19197 * config/mips/t-isa3264: Fix up for file removal and gofast configure
19198 change.
19199 * config/mips/t-elf: Ditto.
19200 * config/mips/t-ecoff: Ditto.
19201 * config/mips/t-r3900: Ditto.
19202 * config/mips/t-iris5-6: Ditto.
19203 * config/mips/t-isa3264: Ditto.
19204 * config/mips/t-linux: Remove.
19205 * config/mips/t-netbsd: Remove.
19206 * config/mips/t-mips: New file.
19207 * config/mips/t-gofast: Ditto.
19208 * config/mips/netbsd.h: Remove unnecessary undefines.
19209 * config/mips/linux.h: Remove #include of mips.h.
19210 * config.gcc: Add mips.h include for elf targets. Remove tm_file
19211 for ecoff. Add gofast configure option for mips.
19212
19213 2002-07-29 Chris Demetriou <cgd@broadcom.com>
19214
19215 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
19216 linker scripts use STARTUP directives consistently.
19217 * configure: Regenerate.
19218 * config.in: Regenerate.
19219 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
19220 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
19221 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
19222 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
19223 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
19224 will be the same.
19225
19226 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
19227
19228 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
19229
19230 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
19231
19232 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
19233
19234 2002-07-29 Aldy Hernandez <aldy@quesejoda.com>
19235
19236 * config/rs6000/rs6000.md: Move altivec patterns from here...
19237
19238 * config/rs6000/altivec.md: ...to here.
19239
19240 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
19241
19242 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
19243
19244 2002-07-29 Richard Henderson <rth@redhat.com>
19245
19246 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
19247 set_mem_attributes and add BITPOS argument. Subtract it from
19248 OFFSET when same is adjusted.
19249 (set_mem_attributes): New wrapper function.
19250 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
19251 remove offset adjustment hack.
19252 * expr.h (set_mem_attributes_minus_bitpos): Declare.
19253
19254 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
19255
19256 * Makefile.in (C_OBJS): Include c-pretty-print.o
19257 (c-pretty-print.o): Add depency rule.
19258 * pretty-print.h: Add more macros.
19259 * c-pretty-print.c: New file.
19260 * c-pretty-print.h: Likewise.
19261
19262 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
19263
19264 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
19265 constants to __ev64_s32__.
19266 (__internal_ev_mwhgsmian): Same.
19267 (__internal_ev_mwhgsmfan): Same.
19268 (__internal_ev_mwhgssfan): Same.
19269 (__internal_ev_mwhgumiaa): Same.
19270 (__internal_ev_mwhgsmiaa): Same.
19271 (__internal_ev_mwhgsmfaa): Same.
19272 (__internal_ev_mwhgssfaa): Same.
19273
19274 2002-07-29 David Edelsohn <edelsohn@gnu.org>
19275
19276 * varasm.c (assemble_variable): Narrow test for uninitialized
19277 without BSS target support.
19278
19279 2002-07-29 Nathan Sidwell <nathan@codesourcery.com>
19280
19281 * profile.c: Add file comment describing the overall algorithm and
19282 structures.
19283 (struct edge_info): Add comments.
19284 (struct bb_info): Add comments.
19285 * basic-block.h (EDGE_*): Add comments.
19286 * doc/gcov.texi (Gcov Data Files): Document bit flags.
19287
19288 2002-07-29 Bob Wilson <bob.wilson@acm.org>
19289
19290 * config/xtensa/elf.h, config/xtensa/linux.h
19291 (TARGET_OS_CPP_BUILTINS): Define.
19292 (CPP_PREDEFINES): Remove.
19293 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
19294 (CPP_SPEC): Remove.
19295
19296 2002-07-29 Zack Weinberg <zack@codesourcery.com>
19297
19298 * gensupport.c: Include hashtab.h.
19299 (insn_elision, condition_table, hash_c_test, cmp_c_test,
19300 maybe_eval_c_test): New routines and data structures to
19301 support insn elision.
19302 (init_md_reader): Read and initialize the condition_table.
19303 (read_md_rtx): Discard insn patterns whose C test is provably
19304 always false.
19305 * gensupport.h: Declare new functions and data structures.
19306
19307 * genconditions.c, dummy-conditions.c: New files.
19308 * Makefile.in: Build genconditions; run it to construct
19309 insn-conditions.c; build that and link it into most gen*
19310 programs.
19311 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
19312 (GEN): Delete, unused.
19313 (STAGESTUFF): Update.
19314
19315 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
19316 CODE_FOR_nothing for all elided patterns.
19317 (main): Tweaked to support this.
19318 * genflags.c (gen_proto): Emit a static inline generator
19319 function here for all elided patterns, which simply returns
19320 NULL_RTX.
19321 (gen_insn): Do not define HAVE_xxx for elided patterns.
19322 (main): Tweaked to support this. No need to forward-declare
19323 struct rtx_def.
19324 * genrecog.c: Do not bother emitting the C test if it's known
19325 to be true at compile time.
19326
19327 2002-07-29 Mike Stump <mrs@apple.com>
19328
19329 * config.gcc (target_gtfiles): Initialize, as otherwise cross
19330 compilers hosted on powerpc-apple-darwin6.0 won't even build.
19331
19332 2002-07-29 Richard Earnshaw <rearnsha@arm.com>
19333
19334 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
19335 remove clobber of LR.
19336 (sibcall_insn, sibcall_value_insn): Update accordingly.
19337 (sibcall_epilogue): Remove debugging comment from assembler stream.
19338
19339 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
19340
19341 * pretty-print.h: Define more macros.
19342 * diagnostic.h (output_formatted_integer): Moved from...
19343 * diagnostic.c: ... here.
19344
19345 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19346
19347 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
19348
19349 2002-07-28 Zack Weinberg <zack@codesourcery.com>
19350
19351 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
19352 arguments. Always use ".-symbol" as expression argument.
19353 * doc/tm.texi: Update to match. Document requirement for
19354 ".size symbol, .-symbol" to be acceptable to assembler.
19355
19356 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
19357 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
19358 config/i386/freebsd-aout.h, config/i386/sco5.h,
19359 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
19360 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
19361
19362 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19363
19364 * Makefile.in (gengtype-lex.c): Fix error in last change.
19365
19366 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
19367 backslash.
19368
19369 * Makefile.in (vmsdbgout.o): Depend on function.h.
19370
19371 * vmsdbgout.c: Include function.h.
19372
19373 2002-07-28 Alan Modra <amodra@bigpond.net.au>
19374
19375 * prefix.c (update_path): Don't strip single `.' path components
19376 unless stripping a later `..' component. Exit loop as soon as
19377 a valid path is found.
19378
19379 2002-07-27 Roger Sayle <roger@eyesopen.com>
19380
19381 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
19382 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
19383 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
19384 floating point unordered comparisons (e.g. __builtin_isgreater)
19385 as const, and leave the remaining GCC_BUILTINs unchanged.
19386
19387 * c-decl.c (builtin_function): No need to explicitly mark
19388 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
19389
19390 2002-07-27 Roger Sayle <roger@eyesopen.com>
19391
19392 * Makefile.in: rtlanal.o now depends upon real.h.
19393
19394 * flags.h [flag_signaling_nans]: New flag.
19395 [HONOR_SNANS]: New macro.
19396
19397 * toplev.c [flag_signaling_nans]: Initialize to false.
19398 (f_options): Add processing for "-fsignaling-nans".
19399 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
19400 (process_options): flag_signaling_nans implies flag_trapping_math.
19401
19402 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
19403 when -fsignaling-nans. First step to implementing WG14's N965.
19404
19405 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
19406 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
19407 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
19408
19409 * simplify-rtx.c (simplify_relational_operation): Conditionalize
19410 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
19411
19412 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
19413 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
19414 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
19415 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
19416 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
19417
19418 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
19419
19420 2002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19421
19422 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
19423 * gengtype-lex.l (YY_USE_PROTOS): Undef.
19424 (YY_DECL): Define.
19425
19426 2002-07-27 Roger Sayle <roger@eyesopen.com>
19427
19428 * doc/invoke.texi: Document that both -fno-builtin-foo and
19429 -fno-builtin are supported by the g++ front-end.
19430
19431 2002-07-27 Stan Shebs <shebs@apple.com>
19432
19433 * configure.in: Rename config_gtfiles to target_gtfiles.
19434 * configure: Regenerate.
19435 * doc/gty.texi: Update reference.
19436 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
19437 instead of appending to it.
19438
19439 2002-07-25 Aldy Hernandez <aldyh@redhat.com>
19440
19441 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
19442 vectors are split into two registers.
19443 (function_arg): Same.
19444
19445 Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
19446
19447 * pa.md (extv): Check predicates before emitting extv_32.
19448
19449 2002-07-27 Alan Modra <amodra@bigpond.net.au>
19450
19451 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
19452 (rs6000_traceback): New var.
19453 (rs6000_override_options): Set rs6000_traceback.
19454 (rs6000_output_function_epilogue): Implement traceback options.
19455 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
19456 (rs6000_traceback_name): Declare.
19457
19458 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
19459 label reference when NO_PROFILE_COUNTERS.
19460
19461 2002-07-26 Jason Merrill <jason@redhat.com>
19462
19463 * function.c (assign_parms): Handle frontend-directed pass by
19464 invisible reference.
19465
19466 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
19467
19468 * doc/cppopts.texi: Update.
19469
19470 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
19471
19472 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
19473 warnings on assertions.
19474
19475 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
19476
19477 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
19478 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
19479 RID_COMPL): Remove.
19480 * c-parse.in (rid_to_yy): Similarly.
19481
19482 2002-07-26 Jason Merrill <jason@redhat.com>
19483
19484 * c-dump.c: Resurrect.
19485 * tree-dump.c: Move C-specific stuff to c-dump.c.
19486 * c-common.h: Declare c_dump_tree.
19487 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
19488 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
19489 (c-dump.o): New rule.
19490
19491 2002-07-26 Alan Modra <amodra@bigpond.net.au>
19492
19493 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
19494 PowerPC64. Replace "T" and "S" constraints with "n" when the
19495 predicate will do. Formatting fixes.
19496 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
19497 as for extzvsi_internal1.
19498
19499 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
19500
19501 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
19502 DERIV_END_LABEL_FMT): Remove.
19503 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
19504
19505 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
19506
19507 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
19508 Remove.
19509
19510 2002-07-25 Stan Shebs <shebs@apple.com>
19511
19512 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
19513 local var dwarfp.
19514 (output_compiler_stub): Remove unused locals.
19515 (output_call): Always initialize line number.
19516
19517 Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
19518
19519 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
19520 * sh.md (truncdiqi2, movqi_media): Likewise.
19521
19522 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
19523
19524 * gcse.c (obstack_chunk_alloc): Remove.
19525 (gcse_alloc): Fix to count allocated bytes.
19526 * collect2.c (SYMBOL__MAIN): Remove.
19527
19528 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
19529
19530 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
19531 HAVE_TARGET_EXECUTABLE_SUFFIX.
19532
19533 Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
19534
19535 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
19536 SIZE, EXPR and OFFSET.
19537
19538 2002-07-25 Richard Henderson <rth@redhat.com>
19539
19540 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
19541 in ARRAY_REF of DECL_P case.
19542
19543 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
19544
19545 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
19546 description. Document -mips32, -mips64, and the associated -march
19547 values. Describe the "mipsN" arguments to -march. Say that the
19548 -mipsN options are equivalent to -march. Reword the description
19549 of default type sizes.
19550 * toplev.h (target_flags_explicit): Declare.
19551 * toplev.c (target_flags_explicit): New var.
19552 (set_target_switch): Update target_flags_explicit.
19553 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
19554 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
19555 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
19556 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
19557 * config/mips/mips.h (mips_cpu_info): New struct.
19558 (mips_cpu_string, mips_explicit_type_size_string): Remove.
19559 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
19560 (MIPS_CPP_SET_PROCESSOR): New macro.
19561 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
19562 Define _MIPS_ARCH and _MIPS_TUNE.
19563 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
19564 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
19565 MIPS_ISA_DEFAULT were already defined.
19566 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
19567 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
19568 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
19569 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
19570 (ABI_GAS_ASM_SPEC): Remove.
19571 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
19572 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
19573 Invoke %(asm_abi_default_spec) if no ABI was specified.
19574 (CC1_SPEC): Remove ISA -> register-size rules.
19575 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
19576 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
19577 (mips_cpu_string, mips_explicit_type_size_string): Remove.
19578 (mips_cpu_info_table): New array.
19579 (mips_set_architecture, mips_set_tune): New fns.
19580 (override_options): Rework to make -mipsN equivalent to -march.
19581 Detect more erroneous cases, including those removed from CC1_SPEC.
19582 Don't change the ABI based on architecture, or vice versa.
19583 Unify logic with GAS.
19584 (mips_asm_file_start): Get architecture name from mips_arch_info.
19585 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
19586 (mips_parse_cpu): Take the name of the option as argument. Handle
19587 'from-abi'. Raise an error if the option is wrong.
19588 (mips_cpu_info_from_isa): New fn.
19589
19590 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
19591
19592 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
19593 (tablejump_mips162): Likewise.
19594
19595 Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
19596
19597 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
19598 int_mode_for_mode.
19599
19600 2002-07-25 Gabriel Dos Reis <gdr@nerim.net>
19601
19602 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
19603 complaining.
19604 * c-common.h (c_sizeof): Adjust definition.
19605 (c_alignof): Likewise.
19606 * c-tree.h (c_sizeof_nowarn): Now macro.
19607 * c-typeck.c (c_sizeof_nowarn): Remove definition.
19608
19609 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
19610
19611 * c-decl.c (c_decode_option): No need to handle switches
19612 cpplib handles.
19613
19614 2002-07-24 Zack Weinberg <zack@codesourcery.com>
19615
19616 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
19617 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
19618 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
19619 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
19620
19621 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
19622 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
19623 config/cris/aout.h, config/i386/freebsd-aout.h,
19624 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
19625 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
19626 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
19627 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
19628 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
19629 config/xtensa/elf.h, config/xtensa/linux.h:
19630 Use the new macros.
19631 Where possible, remove redundant definitions of SIZE_ASM_OP,
19632 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
19633
19634 2002-07-24 Aldy Hernandez <aldyh@redhat.com>
19635
19636 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
19637 TARGET_ISEL, and TARGET_FPRS.
19638
19639 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
19640 -mabi=spe, -mabi=no-spe, and -misel=.
19641
19642 * config/rs6000/rs6000-protos.h: Add output_isel.
19643 Move vrsave_operation prototype here.
19644
19645 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
19646 (smaxsi3): Same.
19647 (uminsi3): Same.
19648 (umaxsi3): Same.
19649 (abssi2_nopower): Disallow when TARGET_ISEL.
19650 (*ne0): Same.
19651 (negsf2): Change to expand and rename old pattern to *negsf2.
19652 (abssf2): Change to expand and rename old pattern to *abssf2.
19653
19654 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
19655 fixunssfsi2.
19656
19657 Change patterns that check for TARGET_HARD_FLOAT or
19658 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
19659
19660 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
19661 rs6000_isel, rs6000_fprs, rs6000_isel_string.
19662 (rs6000_override_options): Add 8540 case to
19663 processor_target_table.
19664 Set rs6000_isel for the 8540.
19665 Call rs6000_parse_isel_option.
19666 (enable_mask_for_builtins): New.
19667 (rs6000_parse_isel_option): New.
19668 (rs6000_parse_abi_options): Add spe and no-spe.
19669 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
19670 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
19671 for TARGET_HARD_FLOAT.
19672 Add case for SPE_VECTOR_MODE.
19673 (rs6000_legitimize_reload_address): Handle SPE vector modes.
19674 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
19675 vector modes.
19676 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
19677 (rs6000_emit_move): Check for TARGET_FPRS.
19678 Add cases for SPE vector modes.
19679 (function_arg_boundary): Return 64 for SPE vector modes.
19680 (function_arg_advance): Check for TARGET_FPRS and
19681 Handle SPE vectors.
19682 (function_arg): Same.
19683 (setup_incoming_varargs): Check for TARGET_FPRS.
19684 (rs6000_va_arg): Same.
19685 (struct builtin_description): Un-constify mask field. Move up in
19686 file.
19687 (bdesc_2arg): Un-constify and add SPE builtins.
19688 (bdesc_1arg): Same.
19689 (bdesc_spe_predicates): New.
19690 (bdesc_spe_evsel): New.
19691 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
19692 (rs6000_expand_binop_builtin): Same.
19693 (bdesc_2arg_spe): New.
19694 (spe_expand_builtin): New.
19695 (spe_expand_predicate_builtin): New.
19696 (spe_expand_evsel_builtin): New.
19697 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
19698 (rs6000_init_builtins): Initialize SPE builtins. Call
19699 rs6000_common_init_builtins.
19700 (altivec_init_builtins): Move all non-altivec builtin code to...
19701 (rs6000_common_init_builtins): ...here. New function.
19702 (branch_positive_comparison_operator): Allow NE code for SPE.
19703 (ccr_bit): Return correct ccr bit for SPE fp.
19704 (print_operand): Emit crnor in 'D' case for SPE.
19705 New case 't'.
19706 Add SPE code for 'y' case.
19707 (rs6000_generate_compare): Generate rtl for SPE fp.
19708 (output_cbranch): Handle SPE hard floats.
19709 (rs6000_emit_cmove): Handle isel.
19710 (rs6000_emit_int_cmove): New.
19711 (output_isel): New.
19712 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
19713 64-bits for SPE.
19714 (debug_stack_info): Add SPE info.
19715 (gen_frame_mem_offset): New.
19716 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
19717 Change mode of frame pointer, when saving it, to Pmode.
19718 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
19719 Misc cleanups and use gen_frame_mem_offset when appropriate.
19720
19721 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
19722 (TARGET_SPE_ABI): New.
19723 (TARGET_SPE): New.
19724 (TARGET_ISEL): New.
19725 (TARGET_FPRS): New.
19726 (FIXED_SCRATCH): New.
19727 (RTX_COSTS): Add PROCESSOR_PPC8540.
19728 (ASM_CPU_SPEC): Add case for 8540.
19729 (TARGET_OPTIONS): Add isel= case.
19730 (rs6000_spe_abi): New.
19731 (rs6000_isel): New.
19732 (rs6000_fprs): New.
19733 (rs6000_isel_string): New.
19734 (UNITS_PER_SPE_WORD): New.
19735 (LOCAL_ALIGNMENT): Adjust for SPE.
19736 (HARD_REGNO_MODE_OK): Same.
19737 (DATA_ALIGNMENT): Same.
19738 (MEMBER_TYPE_FORCES_BLK): New.
19739 (FIRST_PSEUDO_REGISTER): Set to 113.
19740 (FIXED_REGISTERS): Add SPE registers.
19741 (reg_class): Same.
19742 (REG_CLASS_NAMES): Same.
19743 (REG_CLASS_CONTENTS): Same.
19744 (REGNO_REG_CLASS): Same.
19745 (REGISTER_NAMES): Same.
19746 (DEBUG_REGISTER_NAMES): Same.
19747 (ADDITIONAL_REGISTER_NAMES): Same.
19748 (CALL_USED_REGISTERS): Same.
19749 (CALL_REALLY_USED_REGISTERS): Same.
19750 (SPE_ACC_REGNO): New.
19751 (SPEFSCR_REGNO): New.
19752 (SPE_SIMD_REGNO_P): New.
19753 (HARD_REGNO_NREGS): Adjust for SPE.
19754 (VECTOR_MODE_SUPPORTED_P): Same.
19755 (REGNO_REG_CLASS): Same.
19756 (FUNCTION_VALUE): Same.
19757 (LIBCALL_VALUE): Same.
19758 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
19759 (SPE_VECTOR_MODE): New.
19760 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
19761 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
19762 (rs6000_stack): Add spe_gp_size, spe_padding_size,
19763 spe_gp_save_offset.
19764 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
19765 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
19766 (SPE_CONST_OFFSET_OK): New.
19767 (rs6000_builtins): Add SPE builtins.
19768
19769 * testsuite/gcc.dg/ppc-spe.c: New.
19770
19771 * config/rs6000/eabispe.h: New.
19772
19773 * config/rs6000/spe.h: New.
19774
19775 * config/rs600/spe.md: New.
19776
19777 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
19778 __SIMD__ for TARGET_SPE.
19779
19780 * config.gcc: Add powerpc-*-eabispe* case.
19781 Add spe.h to user headers for powerpc.
19782
19783 2002-07-24 Chris Demetriou <cgd@broadcom.com>
19784
19785 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
19786 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
19787 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
19788
19789 2002-07-24 Richard Henderson <rth@redhat.com>
19790
19791 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
19792 form when not optimizing.
19793
19794 2002-07-24 David Mosberger <davidm@hpl.hp.com>
19795
19796 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
19797 thread_pointer_rtx as unchanging.
19798
19799 2002-07-24 Michael Matz <matz@suse.de>
19800
19801 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
19802 (free_reg): Use it.
19803
19804 2002-07-24 Richard Earnshaw <rearnsha@arm.com>
19805
19806 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
19807 pattern.
19808 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
19809 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
19810
19811 2002-07-24 Chris Demetriou <cgd@broadcom.com>
19812
19813 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
19814 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
19815 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
19816
19817 Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
19818
19819 * toplev.c (rest_of_compilation): Dump loops before clobbering
19820 the structure.
19821
19822 Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
19823
19824 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
19825
19826 2002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
19827
19828 PR optimization/7291
19829 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
19830 problem on x86_64.
19831
19832 2002-07-24 Gabriel Dos Reis <gdr@nerim.net>
19833
19834 * pretty-print.h: Add macros from cp/error.c
19835
19836 2002-07-24 Alan Modra <amodra@bigpond.net.au>
19837
19838 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
19839 (mask64_2_operand): Declare.
19840 (build_mask64_2_operands): Declare.
19841 (and64_2_operand): Declare.
19842 (extract_MB): Declare.
19843 (extract_ME): Declare.
19844 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
19845 CONST_DOUBLE code.
19846 (mask_operand_wrap): New insn predicate.
19847 (mask64_2_operand): Likewise.
19848 (and64_2_operand): Likewise.
19849 (build_mask64_2_operands): New function.
19850 (extract_MB): New function.
19851 (extract_ME): New function.
19852 (print_operand <case m,M>): Use extract_MB and extract_ME.
19853 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
19854 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
19855 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
19856 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
19857 * config/rs6000/rs6000.md (andsi3_internal3): New
19858 (andsi3_internal3+1): Enable split for powerpc64.
19859 (andsi3_internal3+2): New split.
19860 (andsi3_internal4): Renamed old andsi3_internal3.
19861 (andsi3_internal5): New.
19862 (andsi3_internal5+1): Enable split for powerpc64.
19863 (andsi3_internal5+2): New split.
19864 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
19865 (anddi3): Handle 't' constraint.
19866 (anddi3+1): New split.
19867 (anddi3_internal2): Handle 't' constraint.
19868 (anddi3_internal2+1): New split.
19869 (anddi3_internal3): Handle 't' constraint.
19870 (anddi3_internal3+1): New split.
19871
19872 2002-07-24 Alan Modra <amodra@bigpond.net.au>
19873
19874 * config/rs6000/rs6000.md: Remove scratch reg on insns using
19875 addze and similar (plus (comparison r1 r2) r3) insns. Add
19876 missing scratch reg in one case. Formatting fixes.
19877
19878 2002-07-24 Neil Booth <neil@daikokuya.co.uk>
19879
19880 * cppexp.c (parse_defined): Mark macro used.
19881 * cpphash.h (struct cpp_macro): New member "used".
19882 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
19883 (struct cpp_reader): New member.
19884 * cppinit.c (cpp_finish_options): Set first_unused_line.
19885 (cpp_finish): Warn of unused macros if requested.
19886 (OPT_TABLE): New switches.
19887 (cpp_handle_option): Handle them.
19888 * cpplib.c (do_undef): Warn if macro unused.
19889 (do_ifdef, do_ifndef): Mark macro used.
19890 * cpplib.h (struct cpp_options): New member.
19891 * cppmacro.c (_cpp_warn_if_unused_macro): New.
19892 (enter_macro_context): Mark macro used.
19893 (_cpp_create_definition): Mark macro unused; warn if unused
19894 when redefined.
19895 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
19896 Mark macros used.
19897 * doc/cppopts.texi: Update.
19898
19899 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
19900
19901 * dwarf2out.c (SECTION_ASM_OP,
19902 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19903 * system.h (SECTION_ASM_OP): Poison.
19904 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
19905 * config/alpha/alpha-interix.h, config/mips/linux.h
19906 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19907 * config/mmix/mmix-protos.h, config/mmix/mmix.c
19908 (mmix_asm_output_define_label_difference_symbol): Remove.
19909 * config/mmix/mmix.h
19910 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19911 * doc/tm.texi: Remove documentation.
19912
19913 Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
19914
19915 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
19916 (constrain_operands): Likewise.
19917 * regclass.c (record_reg_classes): Likewise.
19918 * reload.c (find_reloads): Likewise.
19919 * doc/md.texi: Likewise.
19920
19921 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
19922 * simplify-rtx.c (simplify_subreg): When converting to a non-int
19923 mode, try to convert to an integer mode of matching size first.
19924
19925 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
19926 from individual subregs, check that each subreg has been generated
19927 sucessfully.
19928
19929 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
19930
19931 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
19932 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
19933 FOR_EACH_BB_IN_SBITMAP): Remove.
19934 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
19935 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
19936 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
19937 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
19938 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
19939 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
19940
19941 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
19942
19943 * pretty-print.h: New file.
19944
19945 2002-07-23 Paul Koning <pkoning@equallogic.com>
19946
19947 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
19948 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
19949 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
19950 (TARGET_G_FLOAT): Default to 0 if not defined.
19951 (ieeetoe): New, common routine to convert target format floats
19952 to internal form.
19953 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
19954 vs. others.
19955 (e113toe): Change to use ieeetoe.
19956
19957 2002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
19958
19959 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
19960 IBM.
19961 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
19962 (e64toe): Remove special cases for DEC and IBM. Remove support for
19963 ARM_EXTENDED_IEEE_FORMAT.
19964 (e24toe): Remove special cases for DEC.
19965 (significand_size): Simplify. Indent.
19966 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
19967 (etoieee, toieee): New.
19968 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
19969 etoieee and toieee for IEEE arithmetic.
19970
19971 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
19972
19973 * doc/extend.texi: Say ISO C90, not ISO C89.
19974 * doc/invoke.texi: Likewise.
19975 * doc/standards.texi: Likewise.
19976
19977 2002-07-23 Steve Ellcey <sje@cup.hp.com>
19978
19979 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
19980 Fix permutation of conversion and plus/mult.
19981 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
19982 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
19983 (expand_builtin_strncpy) Ditto.
19984 (expand_builtin_memset) Ditto.
19985
19986 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
19987
19988 Fix PR/7363:
19989 * c-common.c (c_sizeof_or_alignof_type): New function.
19990 (c_alignof): Remove definition.
19991 * c-common.h (c_sizeof, c_alignof): Define as macros.
19992 (c_sizeof_or_alignof_type): Declare.
19993 (my_friendly_assert): Moved from cp/cp-tree.h
19994 * c-typeck.c (c_sizeof): Remove definition.
19995
19996 2002-07-23 Jan Hubicka <jh@suse.cz>
19997
19998 * gcse.c (try_replace_reg): Use num_changes_pending.
19999 * recog.c (num_changes_pending): New function.
20000 (validate_replace_src): Use validate_repalce_src_group.
20001 (validate_replace_src_group): New.
20002 * recog.h (validate_repalce_src_group): New.
20003 (num_changes_pending): Likewise.
20004
20005 Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
20006
20007 * calls.c (emit_library_call_value_1): If
20008 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
20009 libcall, const call nor pure call.
20010
20011 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
20012
20013 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
20014
20015 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
20016
20017 * vmsdbgout.c (SECTION_ASM_OP): Remove.
20018
20019 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
20020
20021 * config/i386/i386.c (AT_BP): Remove.
20022
20023 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
20024
20025 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
20026 Default definition.
20027 * gcse.c: Don't define obstack_chunk_free.
20028 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
20029 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
20030 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
20031 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
20032 Don't define obstack macros.
20033
20034 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
20035
20036 PR target/6744
20037 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
20038 ASM_OPERANDS instructions.
20039
20040 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
20041
20042 PR target/7361
20043 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
20044 constant addresses only on 68HC12.
20045
20046 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
20047
20048 * cppfiles.c (stack_include_file): Correct test of whether
20049 a dependency should be output.
20050
20051 2002-07-22 David Edelsohn <edelsohn@gnu.org>
20052
20053 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
20054
20055 2002-07-22 Richard Earnshaw <rearnsha@arm.com>
20056
20057 * arm.md (movqi): If optimizing and we can create pseudos, use
20058 a ZERO_EXTEND to load from memory, then copy the result into the
20059 target.
20060 (movhi): Likewise, but only for ARMv4.
20061
20062 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
20063
20064 * ssa-ccp.c (PHI_PARMS): Remove.
20065
20066 2002-07-22 Richard Sandiford <rsandifo@redhat.com>
20067
20068 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
20069 on big-endian targets.
20070
20071 2002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20072
20073 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
20074 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
20075 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
20076 New formatting macros.
20077
20078 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
20079
20080 Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
20081
20082 * rtlanal.c (subreg_regno_offset): Return correct offset for
20083 big endian paradoxical subregs.
20084
20085 * optabs.c (expand_vector_unop): Don't expand using sub_optab
20086 if we got the wrong mode.
20087
20088 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
20089 * genrecog.c (write_switch, write_cond): Use it.
20090 * genemit.c (gen_exp): Likewise.
20091
20092 2002-07-22 Jakub Jelinek <jakub@redhat.com>
20093
20094 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
20095
20096 2002-07-22 Jakub Jelinek <jakub@redhat.com>
20097
20098 * c-decl.c (build_compound_literal): Defer compound literal decls
20099 until until file end to emit them only if they are actually used.
20100
20101 2002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20102
20103 * ra-build.c (check_conflict_numbers): Hide unused function.
20104 (livethrough_conflicts_bb): Avoid automatic aggregate
20105 initialization.
20106 (parts_to_webs_1): Avoid `U' integer constant modifier.
20107 (conflicts_between_webs): Wrap a variable in the macro controlling
20108 its usage.
20109 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
20110 (dump_igraph, dump_graph_cost): Avoid string concatenation
20111 (dump_static_insn_cost): Avoid automatic aggregate
20112 initialization.
20113 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
20114 initialization.
20115 (dump_cost): Avoid string concatenation
20116
20117 2002-07-21 Richard Henderson <rth@redhat.com>
20118
20119 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
20120 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
20121
20122 2002-07-21 Richard Henderson <rth@redhat.com>
20123
20124 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
20125 that are not unrolled completely.
20126
20127 2002-07-21 Richard Henderson <rth@redhat.com>
20128
20129 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
20130 * loop.c (strength_reduce): Update.
20131 * toplev.c (rest_of_compilation): Do unrolling in the first
20132 loop pass, not the second.
20133
20134 2002-07-21 Richard Henderson <rth@redhat.com>
20135
20136 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
20137 when flag_argument_noalias == 2.
20138 * alias.c (nonoverlapping_memrefs_p): Handle that.
20139 * print-rtl.c (print_mem_expr): Likewise.
20140
20141 2002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
20142
20143 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
20144 instead of __negdi2 directly.
20145
20146 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
20147
20148 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
20149 * function.c (SYMBOL__MAIN): Remove definition.
20150 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
20151 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
20152 * profile.c (GCOV_INDEX_TO_BB): Remove.
20153 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
20154 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
20155
20156 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
20157
20158 * c-lex.c (GET_ENVIRONMENT): Remove.
20159 * collect2.c (GET_ENV_PATH_LIST): Remove.
20160 (prefix_from_env): Use GET_ENVIRONMENT.
20161 * cppinit.c (GET_ENV_PATH_LIST): Remove.
20162 (init_standard_includes): Use GET_ENVIRONMENT.
20163 * defaults.h (GET_ENVIRONMENT): Define here if not already.
20164 * gcc.c (GET_ENV_PATH_LIST): Remove.
20165 (make_relative_prefix, process_command): Update.
20166 * protoize.c (GET_ENV_PATH_LIST): Remove.
20167 (do_processing): Update.
20168
20169 2002-07-21 Gabriel Dos Reis <gdr@nerim.net>
20170
20171 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
20172 (grokdeclarator): Likewise.
20173 * c-format.c (C_STD_NAME): Likewise.
20174 * c-lex.c (interpret_integer): Likewise.
20175 * c-typeck.c (build_array_ref): Likewise.
20176 * cpplex.c (_cpp_lex_direct): Likewise.
20177 * toplev.c (documented_lang_options): Likewise.
20178
20179 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
20180
20181 * c-format.c (T99_I, T99_UI): Remove.
20182
20183 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
20184
20185 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
20186
20187 Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
20188
20189 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
20190 do_local_cprop.
20191
20192 2002-07-21 Andreas Jaeger <aj@suse.de>
20193
20194 * reload1.c (fixup_abnormal_edges): Remove unused variable.
20195
20196 2002-07-21 Bernd Schmidt <bernds@redhat.com>
20197
20198 Improvements for the ifcvt pass from Michael Meissner, with patches
20199 by Richard Sandiford <rsandifo@redhat.com>
20200 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
20201 * ifcvt.c (cond_exec_changed_p): New static variable.
20202 (last_active_insn): New function, renamed from last_active_insn_p
20203 and changed to return the last active insn in a basic block. All
20204 callers updated.
20205 (block_fallthru): New function.
20206 (cond_exec_process_insns): New argument CE_INFO. Pass it to
20207 IFCVT_MODIFY_INSN. All callers updated.
20208 Return false if START or END are NULL.
20209 Handle case where we're processing an insn that is already
20210 conditional.
20211
20212 (noce_process_if_block): CE_INFO argument rather than
20213 multiple args containing the involved basic blocks. All callers
20214 changed.
20215 (process_if_block, merge_if_block, find_if_block,
20216 cond_exec_process_if_block): Likewise.
20217
20218 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
20219 changed.
20220 Use new function last_active_insn to simplify some code.
20221 New code to handle multiple tests.
20222 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
20223 cond_exec_changed_p to TRUE.
20224
20225 (process_if_block): New code to handle multiple tests.
20226 (merge_if_block): Likewise.
20227 (find_if_header): New arg PASS. Changed to return the currently
20228 processed basic block or NULL instead of true/false. All callers
20229 changed.
20230 Call IFCVT_INIT_EXTRA_FIELDS.
20231 (block_jumps_and_fallthru_p): New function.
20232 (find_if_block): Discover opportunities to convert multiple tests.
20233 Add additional debugging output.
20234 Update the ce_info structure before returning.
20235
20236 (if_convert): Run multiple passes of if-conversion.
20237 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
20238 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
20239 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
20240 these macros.
20241
20242 Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
20243
20244 * gcse.c: Include cselib.h
20245 (constptop_register): Break out from ...
20246 (cprop_insn): ... here; kill basic_block argument.
20247 (do_local_cprop, local_cprop_pass): New functions.
20248 (one_cprop_pass): Call local_cprop_pass.
20249
20250 2002-07-20 Roger Sayle <roger@eyesopen.com>
20251
20252 * simplify-rtx.c (simplify_relational_operation): Optimize
20253 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
20254
20255 2002-07-20 Michae Matz <matz@suse.de>
20256
20257 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
20258
20259 2002-07-20 Neil Booth <neil@daikokuya.co.uk>
20260
20261 * cppexp.c (struct op): Add token pointer.
20262 (check_promotion, CHECK_PROMOTION): New.
20263 (optab): Update.
20264 (_cpp_parse_expr): Update, use token pointer of struct op.
20265 (reduce): Warn about change of sign owing to promotion.
20266 * cppinit.c (cpp_handle_option): New warning if -Wall.
20267 * cpplib.h (struct cpp_options): New member.
20268
20269 2002-07-19 David Edelsohn <edelsohn@gnu.org>
20270
20271 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
20272 fpu list. Separate Power4 compare and delayed_compare. Correct
20273 Power4 fpcompare.
20274 (fix_truncdfsi2_internal): Restore FPR preference.
20275 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
20276 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
20277
20278 2002-07-19 Momchil Velikov <velco@fadata.bg>
20279
20280 * reload1.c (reload_as_needed): Duplicate oldpat.
20281
20282 2002-07-20 Alan Modra <amodra@bigpond.net.au>
20283
20284 PR optimization/7130
20285 * loop.h (struct loop_info): Add "preconditioned".
20286 * unroll.c (unroll_loop): Set it.
20287 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
20288
20289 2002-07-19 Zack Weinberg <zack@codesourcery.com>
20290
20291 * rtl.def (CODE_LABEL): Remove slot 8.
20292 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
20293 (LABEL_ALTERNATE_NAME): Delete.
20294 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
20295 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
20296
20297 * final.c (output_alternate_entry_point): New.
20298 (final_scan_insn): Use it instead of
20299 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
20300 of a case label being an alternate entry point.
20301
20302 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
20303 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
20304 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
20305 (field deleted).
20306 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
20307
20308 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
20309 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
20310 * doc/tm.texi: Delete documentation of
20311 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
20312
20313 2002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
20314
20315 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
20316 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
20317 (LINK_SPEC): Define.
20318 (STARTFILE_SPEC): Define.
20319 (ENDFILE_SPEC): Define.
20320
20321 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
20322 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
20323
20324 * config/mips/iris6-o32-gas.h: New file.
20325 * config.gcc (mips-sgi-irix6*o32): Use it.
20326
20327 * config/mips/t-iris5-gas: New file.
20328 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
20329
20330 2002-07-19 Neil Booth <neil@daikokuya.co.uk>
20331
20332 * cppexp.c (ALWAYS_EVAL): Remove.
20333 (optab, reduce): Always evaluate.
20334 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
20335 only if not skipping evaluation.
20336
20337 2002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
20338
20339 * config/avr/avr.c (debug_hard_reg_set): Remove.
20340
20341 2002-07-19 Chris Demetriou <cgd@broadcom.com>
20342
20343 * gcc.c (cpp_options): Include "%1" (cc1_spec).
20344
20345 2002-07-19 Richard Henderson <rth@redhat.com>
20346
20347 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
20348
20349 2002-07-19 Alan Modra <amodra@bigpond.net.au>
20350
20351 * prefix.c (update_path): Don't zap single `.' path components
20352 unless followed by another `.' and fix typo last patch.
20353
20354 2002-07-18 Neil Booth <neil@daikokuya.co.uk>
20355
20356 * cppexp.c (cpp_num_mul): Remove unused parameter.
20357 (UNARY, BINARY, OTHER, binary_handler): Remove.
20358 (ALWAYS_EVAL): New.
20359 (optab): Update.
20360 (reduce): Refactor to a large switch, don't use a function
20361 pointer.
20362
20363 2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
20364
20365 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
20366
20367 Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
20368
20369 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
20370 (sh_expand_binop_v2sf): Likewise.
20371 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
20372 (int_gpr_dest, trunc_hi_operand): New functions.
20373 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
20374 trunc_hi_operand.
20375 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
20376 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
20377 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
20378 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
20379 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
20380 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
20381 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
20382 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
20383 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
20384 (movsf_ie+1): Likewise.
20385 (loaddi_trunc): Use int_gpr_dest predicate.
20386 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
20387 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
20388 (casesi_worker_0+[12], casesi_worker): Likewise.
20389 (shcompact_preserve_incoming_args): Likewise.
20390 (mov_nop): Use any_register_operand predicate.
20391 (mperm_w0): Use trunc_hi_operand predicate.
20392
20393 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
20394
20395 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
20396 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
20397 numbering.
20398
20399 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
20400
20401 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
20402
20403 2002-07-18 Richard Henderson <rth@redhat.com>
20404
20405 PR optimization/7147
20406 * ifcvt.c (noce_get_condition): Make certain that the condition
20407 is valid at JUMP.
20408
20409 Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
20410
20411 * sh.c (barrier_align, push): Shut up compiler warnings.
20412 (initial_elimination_offset,sh_media_init_builtins): Likewise.
20413 (reg_no_subreg_operand): Delete.
20414
20415 2002-07-17 Bo Thorsen <bo@suse.de>
20416
20417 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
20418 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
20419 (STARTFILE_SPEC): Remove hardcoded library paths.
20420 (ENDFILE_SPEC): Likewise.
20421
20422 Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
20423
20424 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
20425
20426 * gcse.c (try_replace_reg): Do not return false positives.
20427
20428 2002-07-18 Alan Modra <amodra@bigpond.net.au>
20429
20430 * prefix.c: (update_path): Strip ".." components when prior dir
20431 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
20432
20433 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
20434 (ASM_OUTPUT_REG_POP): Likewise.
20435
20436 2002-07-18 Alan Modra <amodra@bigpond.net.au>
20437
20438 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
20439 adjustments to first_reg for profiling case.
20440 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
20441 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
20442 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
20443 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
20444 (ASM_OUTPUT_REG_POP): Define.
20445 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
20446 (ASM_OUTPUT_REG_POP): Undef.
20447
20448 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
20449
20450 * cpplib.c (do_sccs): Handle #sccs on all systems.
20451 * system.h (SCCS_DIRECTIVE): Poison.
20452 * config/darwin.h, config/freebsd.h, config/netbsd.h,
20453 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
20454 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
20455 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
20456 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
20457 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
20458 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
20459 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
20460 Remove all references to SCCS_DIRECTIVE.
20461 * doc/cpp.texi, doc/tm.texi: Update.
20462
20463 Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
20464
20465 * regrename.c (maybe_mode_change): New function.
20466 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
20467
20468 2002-07-17 Rodney Brown <rbrown64@csc.com.au>
20469
20470 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
20471 suppress addition when either ct or cf are zero.
20472
20473 2002-07-17 Eric Botcazou <ebotcazou@multimania.com>
20474 Glen Nakamura <glen@imodulo.com>
20475
20476 PR optimization/6713
20477 * loop.c (loop_givs_rescan): Explicitly delete the insn that
20478 sets a non-replaceable giv after issuing the new one.
20479
20480 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
20481
20482 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
20483 eval_token): Clarify and correct use of "bool" variables.
20484 * cpplib.h (struct cpp_options): Similarly.
20485 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
20486 * cpptrad.c (recursive_macro): Similarly.
20487
20488 Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
20489
20490 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
20491 SHmedia code.
20492
20493 * sh.md (cmpgtudi_media): Remove spurious @.
20494
20495 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
20496 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
20497
20498 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
20499 * sh-protos.h (sh_initialize_trampoline): Declare.
20500 * sh.c (sh_initialize_trampoline): New function.
20501 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
20502 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
20503 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
20504 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
20505 * sh.md (initialize_trampoline, double_shori): New patterns.
20506 (initialize_trampoline_compact): Likewise.
20507 (shmedia32_initialize_trampoline_big): Remove.
20508 (shmedia32_initialize_trampoline_little): Likewise.
20509
20510 * sh-protos.h (binary_float_operator): Remove declaration.
20511 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
20512 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
20513 (unary_float_operator, sh_expand_unop_v2sf): New functions.
20514 (sh_expand_binop_v2sf): Likewise.
20515 (zero_vec_operand): Delete.
20516 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
20517 all non-shared ones.
20518 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
20519 Enable nsb and byterev.
20520 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
20521 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
20522 in general regs.
20523 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
20524 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
20525 immediate operands.
20526 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
20527 Add DF_HI_REGS.
20528 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
20529 lowpart fp regs - only for big endian for now.
20530 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
20531 when FPU is in use.
20532 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
20533 (LOAD_EXTEND_OP): NIL for SImode.
20534 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
20535 general and fp registers is 4.
20536 PREDICATE_CODES: Amend binary_float_operator entry.
20537 Remove zero_vec_operand. Add unary_float_operator.
20538 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
20539 subreg SET_DEST.
20540 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
20541 (truncdiqi2): Do sign extension.
20542 (movsi_media, movdi_media): Allow to use r63 to an fp register.
20543 (movdf_media, movsf_media): Likewise.
20544 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
20545 Collapse to one define_insn_and_split. Allow immediate sources.
20546 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
20547 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
20548 (movv4sf): Allow immediate sources.
20549 (movsf_media_nofpu+1): Don't split moves to FP registers.
20550 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
20551 (movv8qi_i+3): Check against CONST0_RTX.
20552 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
20553 for input and output operands. Fix argument 3 to gen_mextr_rl.
20554 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
20555 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
20556 (mshf0_w, fipr, ftrv): Likewise.
20557 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
20558
20559 2002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20560
20561 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
20562 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
20563 * arm.c: Similarly.
20564
20565 2002-07-17 Richard Sandiford <rsandifo@redhat.com>
20566
20567 * config/mips/mips-protos.h (mips_sign_extend): Declare.
20568 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
20569 (TARGET_SWITCHES): Remove debugh.
20570 (ISA_HAS_TRUNC_W): New macro.
20571 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
20572 (PREDICATE_CODES): Remove se_nonimmediate_operand.
20573 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
20574 any SImode move_operand.
20575 (se_nonimmediate_operand): Remove.
20576 (mips_sign_extend): New.
20577 (mips_move_2words): Use it for sign-extended source operands.
20578 (override_options): Allow integers to be put into single FPRs.
20579 (mips_secondary_reload_class): Handle integers in float registers.
20580 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
20581 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
20582 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
20583 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
20584 (fix_truncdfdi2): Provide only a single alternative, in which the
20585 integer is in a float register. Depend on TARGET_FLOAT64 rather
20586 than TARGET_64BIT.
20587 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
20588 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
20589 (movdi_internal2): Don't allow the source operand to be sign-extended.
20590 Add alternatives for float registers.
20591 (*movdi_internal2_extend): New. Version of movdi_internal2 that
20592 allows sign-extension.
20593 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
20594 (movsi_internal2): Rename to movsi_internal. Add alternatives for
20595 float registers. Remove TARGET_DEBUG_H_MODE test.
20596 (movhi_internal1): Rename to movhi_internal. Don't check
20597 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
20598 (movqi_internal1): Rename to movqi_internal and remove
20599 TARGET_DEBUG_H_MODE dependency.
20600 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
20601
20602 2002-07-16 Jim Wilson <wilson@redhat.com>
20603
20604 * toplev.c (lang_dependent_init): Create function context for
20605 init_expr_once.
20606
20607 2002-07-16 Hans-Peter Nilsson <hp@axis.com>
20608
20609 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
20610 --gc-sections if -r.
20611 * config/cris/cris.h: Ditto.
20612
20613 2002-07-16 Rodney Brown <rbrown64@csc.com.au>
20614
20615 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
20616 the comparison directly gives a mask suppress addition when cf is
20617 zero by complementing the mask.
20618
20619 2002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
20620
20621 * Makefile.in: Delete references to enquire.
20622 * enquire.c: Move to contrib.
20623
20624 2002-07-16 Stan Shebs <shebs@apple.com>
20625
20626 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
20627 config/rs6000/darwin.h.
20628 (ASM_OUTPUT_SKIP): Ditto.
20629 (TEXT_SECTION_ASM_OP): Ditto.
20630 (DATA_SECTION_ASM_OP): Ditto.
20631 (ASM_APP_ON): Define.
20632 (ASM_APP_OFF): Define.
20633 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
20634 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
20635
20636 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
20637 (machopic_function_base_name): Declare result to be const.
20638 (machopic_non_lazy_ptr_name): Ditto.
20639 (machopic_stub_name): Ditto.
20640 * config/darwin-protos.h: Ditto for the prototypes.
20641
20642 Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
20643
20644 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
20645
20646 Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
20647
20648 * i386.md (prefetch): Fix for 64bit mode.
20649 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
20650
20651 Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
20652
20653 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
20654 * i386.c (x86_machine_dependent_reorg): New function.
20655 * i386-protos.h (x86_machine_dependent_reorg): Declare.
20656
20657 2002-07-16 Zack Weinberg <zack@codesourcery.com>
20658
20659 * builtins.c (std_expand_builtin_va_start): Remove unused
20660 first argument.
20661 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
20662 std_expand_builtin_va_start with just two arguments.
20663 * expr.h: Update prototypes.
20664
20665 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
20666 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
20667 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
20668 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
20669 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
20670 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
20671 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
20672 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
20673 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
20674 argument from all implementations of EXPAND_BUILTIN_VA_START
20675 and all uses of std_expand_builtin_va_start.
20676
20677 Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
20678
20679 * regrename.c (copy_value): Don't record high part copies.
20680
20681 2002-07-16 Steve Ellcey <sje@cup.hp.com>
20682
20683 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
20684 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
20685 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
20686
20687 2002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
20688
20689 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
20690
20691 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
20692 into addsi3 using register class "x" and "y".
20693
20694 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
20695 "earlyclobber" constraint modifier for some alternative.
20696
20697 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
20698 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
20699 unordered.
20700 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
20701
20702 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
20703 (TARGET_SWITCHES): Add -mieee-compare option.
20704 (OVERRIDE_OPTIONS): 32332 is a subset of
20705 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
20706 (TARGET_SWITCHES): Fix description of bitfield option.
20707 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
20708 -mieee-compare option. Remove 32332 flag.
20709
20710 2002-07-16 Steve Ellcey <sje@cup.hp.com>
20711
20712 * explow.c (convert_memory_address): Remove special handling
20713 when POINTERS_EXTEND_UNSIGNED < 0.
20714 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
20715 (movedi_symbolic): Fix typo.
20716 (load_fptr): Remove mode restriction so it works for SI and DI.
20717 (load_fptr_internal1): Ditto.
20718 (load_gprel): Ditto.
20719 (load_symptr_internal1): Ditto.
20720 (call_pic): Ditto.
20721 * config/ia64.c (call_operand): Modify mode check.
20722 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
20723 (ia64_expand_move): Ditto.
20724 (ia64_assemble_integer): Handle SImode function pointers.
20725 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
20726 (ia64_expand_op_and_fetch): Ditto.
20727 (ia64_expand_compare_and_swap): Ditto.
20728 (ia64_expand_lock_test_and_set): Ditto.
20729 (ia64_expand_lock_release): Ditto.
20730
20731 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20732
20733 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
20734
20735 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20736 Richard Earnshaw <rearnsha@arm.com>
20737
20738 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
20739 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
20740
20741 2002-07-16 Richard Earnshaw <rearnsha@arm.com>
20742
20743 * arm.md (stack_tie): New insn. Use an idiom that the alias code
20744 understands to be a memory clobber.
20745 * arm.c (arm_expand_prologue): Use it.
20746
20747 2002-07-16 Daniel Berlin <dberlin@dberlin.org>
20748
20749 * ra-rewrite.c: #include reload.h, insn-config.h
20750 * ra-build.c: #include reload.h
20751 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
20752 depend on reload.h, insn-config.h.
20753
20754 Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
20755
20756 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
20757 the same size as a word.
20758
20759 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
20760 BYTES_BIG_ENDIAN into account.
20761
20762 Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
20763
20764 * i386.md (prefetch): Fix for 64bit mode.
20765 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
20766
20767 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
20768
20769 2002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
20770
20771 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
20772
20773 2002-07-15 Zack Weinberg <zack@codesourcery.com>
20774
20775 * ginclude/varargs.h: Replace with stub which issues #error.
20776 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
20777 __builtin_va_start.
20778
20779 * builtins.def (BUILT_IN_VARARGS_START): Delete.
20780 (BUILT_IN_VA_START): New.
20781 * builtins.c (expand_builtin_va_start): Eliminate first
20782 argument and code to implement pre-ISO varargs.
20783 (std_expand_builtin_va_start): Ignore first argument; it is
20784 always 1.
20785 (expand_builtin): Handle BUILT_IN_VA_START and
20786 BUILT_IN_STDARG_START identically. Delete
20787 BUILT_IN_VARARGS_START case.
20788
20789 * function.c (assign_parms): Delete hide_last_arg and all
20790 its uses.
20791 (mark_varargs): Delete function.
20792 * function.h (struct function): Delete 'varargs' bit.
20793 (current_function_varargs): Delete macro.
20794 * tree.h: Don't declare mark_varargs.
20795
20796 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
20797 (c_expand_body): Don't call mark_varargs.
20798 * c-objc-common.c: Handle BUILT_IN_VA_START and
20799 BUILT_IN_STDARG_START identically. Delete
20800 BUILT_IN_VARARGS_START case.
20801 * c-tree.h: Don't declare c_mark_varargs.
20802 * c-parse.in: Remove grammar rules for '&...' (which has been
20803 commented out since before 2.7.2) and for '...' in K+R
20804 argument declarations.
20805
20806 * builtins.c, function.c, integrate.c, sibcall.c,
20807 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
20808 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
20809 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
20810 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
20811 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
20812 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
20813 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
20814 config/stormy16/stormy16.c: Delete all references to
20815 current_function_varargs, and code predicated on that flag.
20816
20817 * config/alpha/alpha.c (alpha_va_start),
20818 config/arc/arc.c (arc_va_start),
20819 config/i386/i386.c (ix86_va_start),
20820 config/mips/mips.c (mips_va_start),
20821 config/mn10300/mn10300.c (mn10300_va_start),
20822 config/rs6000/rs6000.c (rs6000_va_start),
20823 config/s390/s390.c (s390_va_start),
20824 config/sh/sh.c (sh_va_start),
20825 Ignore first argument; it is always 1.
20826
20827 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
20828 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
20829 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
20830 Delete m68hc11_va_start.
20831 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
20832 No need to define EXPAND_BUILTIN_VA_START.
20833
20834 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
20835 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
20836
20837 2002-07-15 Eric Botcazou <ebotcazou@multimania.com>
20838
20839 PR optimization/7153
20840 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
20841 dies in more than one insn.
20842
20843 2002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
20844
20845 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
20846
20847 2002-07-15 Michael Matz <matz@suse.de>,
20848 Daniel Berlin <dberlin@dberlin.org>,
20849 Denis Chertykov <denisc@overta.ru>
20850
20851 Add a new register allocator.
20852
20853 * ra.c: New file.
20854 * ra.h: New file.
20855 * ra-build.c: New file.
20856 * ra-colorize.c: New file.
20857 * ra-debug.c: New file.
20858 * ra-rewrite.c: New file.
20859
20860 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
20861 (ra-rewrite.o): New .o files for libbackend.a.
20862 (GTFILES): Add basic-block.h.
20863
20864 * toplev.c (flag_new_regalloc): New.
20865 (f_options): New option "new-ra".
20866 (rest_of_compilation): Call initialize_uninitialized_subregs()
20867 only for the old allocator. If flag_new_regalloc is set, call
20868 new allocator, instead of local_alloc(), global_alloc() and
20869 friends.
20870
20871 * doc/invoke.texi: Document -fnew-ra.
20872 * basic-block.h (FOR_ALL_BB): New.
20873 * config/rs6000/rs6000.c (print_operand): Write small constants
20874 as @l+80.
20875
20876 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
20877 (df_reg_table_realloc): Make size at least as large as max_reg_num().
20878 (df_insn_table_realloc): Size argument now is absolute, not relative.
20879 Changed all callers.
20880
20881 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
20882 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
20883
20884 2002-06-20 Michael Matz <matz@suse.de>
20885
20886 * df.h (struct ref.id): Make unsigned.
20887 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
20888
20889 2002-06-13 Michael Matz <matz@suse.de>
20890
20891 * df.h (DF_REF_MODE_CHANGE): New flag.
20892 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
20893 involving subregs with invalid mode changes, when
20894 CLASS_CANNOT_CHANGE_MODE is defined.
20895
20896 2002-05-07 Michael Matz <matz@suse.de>
20897
20898 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
20899
20900 2002-05-03 Michael Matz <matz@suse.de>
20901
20902 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
20903
20904 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
20905
20906 * regclass.c (regclass): Work with all regs which have sets or
20907 refs.
20908 (reg_scan_mark_refs): Count regs inside (clobber ...).
20909
20910 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
20911
20912 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
20913 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
20914 add new refs.
20915 (df_bb_refs_update): Don't clear insns_modified here, ...
20916 (df_analyse): ... but here.
20917
20918 * sbitmap.c (dump_sbitmap_file): New.
20919 (debug_sbitmap): Use it.
20920
20921 * sbitmap.h (dump_sbitmap_file): Add prototype.
20922
20923 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
20924
20925 * df.c (df_insn_modify): Grow the UID table if necessary, rather
20926 than assume all emits go through df_insns_modify.
20927
20928 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
20929
20930 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
20931 increase REG_N_REFS (like flow does), so that regclass doesn't
20932 think a reg is useless, and thus, not calculate a class, when it
20933 really should have.
20934
20935 2001-01-28 Daniel Berlin <dberlin@redhat.com>
20936
20937 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
20938 dataflow analysis.
20939
20940 2002-07-15 Jakub Jelinek <jakub@redhat.com>
20941
20942 PR middle-end/7245
20943 * config/i386/i386.c (const_int_1_31_operand): New.
20944 * config/i386/i386.h (PREDICATE_CODES): Add it.
20945 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
20946 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
20947 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
20948
20949 2002-07-14 Alan Modra <amodra@bigpond.net.au>
20950
20951 PR target/7282
20952 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
20953 (floatunssidf2): Likewise.
20954 (floatsidf_ppc64): New insn_and_split.
20955 (floatunssidf_ppc64): Likewise.
20956
20957 2002-07-14 Andreas Jaeger <aj@suse.de>
20958
20959 * config.gcc (sh64): Remove unused
20960 target_requires_64bit_host_wide_int.
20961
20962 2002-07-12 Roger Sayle <roger@eyesopen.com>
20963
20964 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
20965 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
20966 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
20967 whether clear_by_pieces should be used to clear storage.
20968 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
20969
20970 * doc/tm.texi: Document these two new target macros.
20971
20972 2002-07-12 Stephane Carrez <stcarrez@nerim.fr>
20973
20974 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
20975 the scratch register.
20976 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
20977 of it, forbid reload to use it.
20978
20979 2002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
20980
20981 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
20982 usage on 64-bit hosts, return value was truncated to 32 bits.
20983
20984 Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
20985
20986 * simplify-rtx.c (simplify_subreg): Handle floating point
20987 CONST_DOUBLEs. When an integer subreg of a smaller mode than
20988 the element mode is requested, compute a subreg with an
20989 integer mode of the same size as the element mode first.
20990
20991 Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
20992
20993 * combine.c (try_combine): When converting a paradoxical subreg
20994 to an extension, take LOAD_EXTEND_OP into account.
20995
20996 2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
20997
20998 * config.gcc (mips-sgi-irix6*o32): New configuration.
20999
21000 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
21001 configurations.
21002 * configure: Regenerate.
21003
21004 * config/mips/iris6-o32-as.h: New file.
21005 * config/mips/iris6-o32.h: New file.
21006
21007 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
21008 (NM_FLAGS): Define.
21009 (HAVE_AS_SHF_MERGE): Undefine.
21010
21011 * config/mips/t-iris5-as: New file.
21012 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
21013
21014 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
21015 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
21016 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
21017 dp-bit.c, fp-bit.c): Move ...
21018 * config/mips/t-iris5-6: ... here.
21019 New file, shared by IRIX 5 and IRIX 6.
21020 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
21021 mips-sgi-irix5*): Use it.
21022
21023 * config/mips/iris6.h: Remove duplicate comment.
21024
21025 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
21026 !TARGET_IRIX6]: Define.
21027 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
21028
21029 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
21030
21031 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
21032
21033 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
21034 and delete code to force constant to register.
21035 * pa-protos.h (adddi3_operand): Add prototype.
21036 * pa.c (adddi3_operand): New function.
21037
21038 2002-07-11 Roger Sayle <roger@eyesopen.com>
21039
21040 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
21041 non-ANSI builtin functions.
21042
21043 Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
21044
21045 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
21046 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
21047 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
21048 (gen_const_vector_0): Use it.
21049
21050 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
21051
21052 * pa.md (adddi3): For 32-bit targets, force constants to a register
21053 if they don't fit in an 11-bit immediate. Change insn predicate to
21054 arith11_operand. Remove comment.
21055 * pa.c (cint_ok_for_move): Fix comment.
21056 (emit_move_sequence): Don't directly split DImode constants on 32-bit
21057 targets.
21058
21059 2002-07-11 Tim Josling <tej@melbpc.org.au>
21060
21061 Remove front end hard coding from gengtype.c.
21062
21063 * Makefile.in
21064 (STAGESTUFF): add gtyp-gen.h
21065 (GTFILES): Remove front end specific files.
21066 (GTFILES_FILES_LANGS): New, from configure..
21067 (GTFILES_FILES_FILES): Likewise.
21068 (GTFILES_LANG_DIR_NAMES): Likewise.
21069 (GTFILES_SRCDIR): Likewise.
21070 (gtyp-gen.h): Build from configure information.
21071 (s-gtype): Remove command line parameters from gengtype.
21072 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
21073 (mostlyclean): Delete files generated by and for gengtype.
21074
21075 * c-config-lang.in: New file.
21076
21077 * configure.in (all_gtfiles_files_langs): New. Accumulate files
21078 for each language.
21079 (all_gtfiles_files_files): New. Accumulate language for each file
21080 accumulated.
21081 (gtfiles): Pick up value for C.
21082 (srcdir): AC-SUBST this variable.
21083 (all_gtfiles_files_langs): AC-SUBST this variable.
21084 (all_gtfiles_files_files): AC-SUBST this variable.
21085
21086 * configure: Regenerate.
21087
21088 * gengtype-lex.l (parse_file): Make parameter const.
21089
21090 * gengtype.c (toplevel): include gtyp-gen.h.
21091 (BASE_FILE_<language> unnamed enum): Delete.
21092 (lang_names): Delete (replaced by gtyp-gen.h)
21093 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
21094 all references.
21095 (NUM_GT_FILES): New.
21096 (NUM_LANG_FILES): New.
21097 (srcdir_len): New.
21098 (NUM_BASE_FILES): Change calculation.
21099 (open_base_files): Change prototype to avoid warning.
21100 (startswith): Delete.
21101 (get_file_basename): Iterate through generated language list not
21102 hard coded list.
21103 (get_base_file_bitmap): Use generated list of files and languages.
21104 (close_output_files): Add prototype to rmove warning.
21105 (main): Iterate through list of generated files from gtyp-gen.h
21106 rather than command line paramaters. Ignore duplicated file
21107 names.
21108
21109 * gengtype.h (parse_file): Amend prototype for const parameter.
21110
21111 * doc/sourcebuild.texi: Document gtfiles variable.
21112
21113 * doc/gty.texi: Document changes to gtfiles variable for front
21114 ends.
21115
21116 * objc/config-lang.in (gtfiles): Add files needed for objc front
21117 end.
21118
21119 2002-07-10 Roger Sayle <roger@eyesopen.com>
21120
21121 PR c/2454
21122 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
21123 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
21124
21125 2002-07-10 Roger Sayle <roger@eyesopen.com>
21126 Zack Weinberg <zack@codesourcery.com>
21127
21128 * builtins.def: Make the argument types of abort and exit
21129 independent of the front-end.
21130
21131 2002-07-11 Alan Modra <amodra@bigpond.net.au>
21132
21133 * config/rs6000/linux64.h (ASM_SPEC): Define.
21134
21135 2002-07-10 Aldy Hernandez <aldyh@redhat.com>
21136
21137 * config/rs6000/rs6000.c (emit_frame_save): New.
21138 (rs6000_frame_related): Replace reg2 before reg.
21139 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
21140 and eh_return registers.
21141
21142 2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
21143
21144 Revert all patches for optimization of Complex .op. Real.
21145 * complex_part_zero_p: Remove
21146 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
21147 with x.
21148 * expand_cmplxdiv_wide: Ditto.
21149 * expand_binop: Ditto.
21150
21151 2002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
21152
21153 * config/avr/avr.md: Fix two 0x80000000 constants to make them
21154 negative also on 64-bit hosts.
21155
21156 Default to -fno-reorder-blocks when optimizing for size.
21157 * config/avr/avr-protos.h (avr_optimization_options): Declare.
21158 * config/avr/avr.c (avr_optimization_options): New function.
21159 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
21160
21161 Optimize returning from simple functions.
21162 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
21163 * config/avr/avr.c (avr_simple_epilogue): New function.
21164 * config/avr/avr.md (return): New insn.
21165
21166 2002-07-10 Douglas B Rupp <rupp@gnat.com>
21167
21168 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
21169 HAS_INIT_SECTION to protection.
21170
21171 2002-07-10 Mark Mitchell <mark@codesourcery.com>
21172
21173 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
21174 deprecated.
21175
21176 Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
21177
21178 * combine.c (gen_lowpart_for_combine): Handle vector modes.
21179 Supply non-VOID mode to simplify_gen_subreg.
21180
21181 Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
21182
21183 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
21184
21185 2002-07-10 Jeffrey A Law <law@redhat.com>
21186
21187 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
21188 as appropriate.
21189
21190 * mn10200.c (expand_epilogue): Fix test to determine which scratch
21191 register to use.
21192
21193 Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
21194
21195 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
21196 Get mode from dest.
21197 If simplify_gen_subreg fails, try next equivalent.
21198
21199 2002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
21200
21201 * diagnostic.h: #include location.h
21202 (location_t): Move definition to..
21203 * location.h: ... here. New file.
21204 * tree.h: #include location.h
21205 (DECL_SOURCE_LOCATION): New macro.
21206 (DECL_SOURCE_FILE): Use.
21207 (DECL_SOURCE_LINE): Likewise.
21208 (struct tree_decl): REplace filename and linenum with locus.
21209 * Makefile.in (TREE_H): add location.h
21210 (diagnostic.o): Depends on gt-location.h
21211 (gt-location.h): Depends on s-gtype
21212
21213 2002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
21214
21215 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
21216 TARGET_OS_CPP_BUILTINS.
21217 * config/rs6000/aix31.h: Likewise.
21218 * config/rs6000/aix41.h: Likewise.
21219 * config/rs6000/aix43.h: Likewise.
21220 * config/rs6000/aix51.h: Likewise.
21221 * config/rs6000/beos.h: Likewise.
21222 * config/rs6000/darwin.h: Likewise.
21223 * config/rs6000/eabi.h: Likewise.
21224 * config/rs6000/eabisim.h: Likewise.
21225 * config/rs6000/linux.h: Likewise.
21226 * config/rs6000/linux64.h: Likewise.
21227 * config/rs6000/lynx.h: Likewise.
21228 * config/rs6000/mach.h: Likewise.
21229 * config/rs6000/rtems.h: Likewise.
21230 * config/rs6000/sysv4.h: Likewise.
21231 * config/rs6000/vxppc.h: Likewise.
21232
21233 2002-07-09 Devang Patel <dpatel@apple.com>
21234 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
21235 Do not allow ObjC objects as a parameter type for Objective-C methods.
21236 My previous patch restricted 'struct' also.
21237
21238 2002-07-09 Neil Booth <neil@daikokuya.co.uk>
21239
21240 * cpperror.c (cpp_error): Default to directive_line within
21241 directives here.
21242 * cppexp.c (cpp_interpret_integer): Only use traditional
21243 number semantics in directives.
21244 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
21245 (do_include_common): Similarly.
21246 * cpptrad.c (scan_out_logical_line): Implement accurate
21247 quoting of <> in #include.
21248 * doc/cpp.texi: Update.
21249
21250 Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
21251 J"orn Rennecke <joern.rennecke@superh.com>
21252
21253 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
21254 * sh.md (attribute issues): Replace with:
21255 (attribute pipe_model). All users changed.
21256 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
21257 All users changed.
21258 (function units sh5issue, sh5fds): New.
21259 (attribute is_mac_media): New.
21260 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
21261 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
21262 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
21263 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
21264 (call_media, call_value_media, sibcall_media): Likewise.
21265 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
21266 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
21267 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
21268 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
21269 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
21270 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
21271 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
21272 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
21273 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
21274 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
21275 (truncdfsf2_media): Likewise.
21276 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
21277 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
21278
21279 Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
21280
21281 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
21282 * sh.c (general_extend_operand, inqhi_operand): New functions.
21283 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
21284 alternatives using 'N' modifier. Add type.
21285 (adddi3z_media): Likewise. Enable generator function generation.
21286 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
21287 exact predicates / constraints. Add type.
21288 (subsi3): Allow 0 for SHMEDIA.
21289 (udivsi3_i4_media): Use match_operand for input values
21290 rather than hard registers.
21291 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
21292 unnecessarily through hard registers. Keep copies of pseudo
21293 registers outside of the libcall sequence.
21294 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
21295 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
21296 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
21297 (extendhidi2, extendqidi2): Likewise.
21298 (andsi3_compact): Name.
21299 (andcdi3): Enable generator function generation.
21300 (zero_extendhisi2, zero_extendqisi2): Rename to
21301 (zero_extendhisi2_compact, zero_extendqisi2_compact).
21302 (extendhisi2, extendqisi2): Rename to
21303 (extendhisi2_compact, extendqisi2_compact).
21304 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
21305 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
21306 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
21307 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
21308 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
21309 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
21310 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
21311 (shmedia32_initialize_trampoline_big): Likewise.
21312 (shmedia32_initialize_trampoline_little): Likewise.
21313 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
21314 (negdi2): Remove spurious T clobber.
21315 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
21316 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
21317 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
21318 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
21319 (ic_invalidate_line_media): Write back data cache before invalidating
21320 instruction cache. Add type.
21321 (movsf_media): Sign-extend when the destination is a general
21322 purpose register. Add type.
21323 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
21324 (casesi_worker_0+1): Only increment ref count for proper label.
21325 (casesi_worker_0+2): Likewise.
21326
21327 2002-07-09 Mark Mitchell <mark@codesourcery.com>
21328
21329 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
21330
21331 2002-07-09 Steve Ellcey <sje@cup.hp.com>
21332
21333 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
21334 from Pmode to ptr_mode.
21335 (get_exception_pointer): Ditto.
21336 (connect_post_landing_pads): Ditto.
21337 (dw2_build_landing_pads): Ditto.
21338
21339 2002-07-08 Steve Ellcey <sje@cup.hp.com>
21340 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
21341 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
21342 (handle_pragma_redefine_extname): Change to use new function.
21343
21344 2002-07-08 Roger Sayle <roger@eyesopen.com>
21345
21346 * combine.c (combine_simplify_rtx): Add an explicit cast
21347 to avoid signed/unsigned comparison warning.
21348 (simplify_if_then_else): Likewise.
21349 (extended_count): Likewise.
21350 (simplify_shift_const): Likewise.
21351 (simplify_comparison): Likewise.
21352
21353 2002-07-08 Richard Sandiford <rsandifo@redhat.com>
21354
21355 * config/mips/mips.md: Add imadd type. Update scheduler description
21356 to use imadd as well as imul.
21357 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
21358 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
21359 (*mul_sub_si): Likewise for first alternative. Change second
21360 alternative from imul to multi.
21361
21362 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
21363
21364 * c-common.c (c_common_post_options): Update prototype;
21365 don't init backends if preprocessing only.
21366 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
21367 * langhooks.h (struct lang_hooks): Update post_options to
21368 return a boolean.
21369 * toplev.c (parse_options_and_default_flags, do_compile,
21370 lang_independent_init): Update prototypes. Allow the
21371 front end to specify that there is no need to initialize
21372 the back end.
21373 (general_init): Move call to hex_init here...
21374 (toplev_main): ...from here. Pass flag for back end init
21375 suppression.
21376
21377 Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
21378
21379 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
21380 (PREDICATE_CODES): Add entries for equality_comparison_operator,
21381 greater_comparison_operator and less_comparison_operator.
21382 * sh.c (print_operand): Add '\'' code. Make 'o' handle
21383 more operators.
21384 (equality_comparison_operator): New function.
21385 (greater_comparison_operator, less_comparison_operator): Likewise.
21386 * sh.md (beq_media_i): Disable generator function generation.
21387 Use match_operator to handle a whole class of comparisons. Add
21388 modifier in output template to provide branch prediction. Add type.
21389 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
21390 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
21391 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
21392 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
21393
21394 2002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
21395
21396 Emit MMIX function prologue and epilogue as rtl.
21397 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
21398 not unprototyped get_hard_reg_initial_val.
21399 ("call_value", "nonlocal_goto_receiver"): Ditto.
21400 ("return"): Make define_expand. Move real insn to...
21401 ("*expanded_return"): New pattern.
21402 ("prologue", "epilogue"): New define_expands.
21403 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
21404 (struct machine_function): New member in_prologue.
21405 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
21406 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
21407 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
21408 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
21409 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
21410 (LOCAL_REGNO): Define. Adjust comment.
21411 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
21412 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
21413 leaf_function_p.
21414 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
21415 the prologue.
21416 (mmix_target_asm_function_prologue): Make static. Just mark that
21417 the prologue is being emitted. Move guts to...
21418 (mmix_expand_prologue): New function. Adjust for emitting
21419 prologue as rtl. For sizes, use HOST_WIDE_INT only.
21420 (mmix_target_asm_function_epilogue): Make static. Simply emit a
21421 \n. Move guts to...
21422 (mmix_expand_epilogue): New function. Adjust for emitting
21423 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
21424 (mmix_target_asm_function_end_prologue): Mark that the prologue
21425 has ended.
21426 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
21427 (mmix_conditional_register_usage): Improve comments.
21428 (mmix_local_regno): New function.
21429 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
21430 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
21431 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
21432 (mmix_get_hard_reg_initial_val): Ditto.
21433
21434 2002-07-06 Andreas Jaeger <aj@suse.de>
21435
21436 * toplev.c (set_fast_math_flags): Don't use ISO C style function
21437 definitions.
21438 * gengtype.c (open_base_files): Likewise.
21439 (close_output_files): Likewise.
21440 * tracer.c (find_best_predecessor): Likewise.
21441 (find_best_successor): Likewise.
21442 (ignore_bb_p): Likewise.
21443
21444 2002-07-05 Roger Sayle <roger@eyesopen.com>
21445
21446 PR c++/7099
21447 * builtin-attrs.def: Define new attribute lists for use in
21448 builtins.def.
21449 * builtins.def [DEF_BUILTIN]: Modify to take an additional
21450 ATTRS argument, an enumerated value defined in builtin-attrs.def
21451 that represents the attribute list for the builtins. Modify
21452 all builtin functions to pass an appropriate attribute list.
21453 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
21454 their required noreturn attributes.
21455 * tree.h (enum_builtin_function): Ignore the additional parameter
21456 to DEF_BUILTIN.
21457 * builtins.c (built_in_names): Likewise.
21458 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
21459 argument with a tree representing the functions attribute list.
21460 Pass this "attrs" argument to builtin_function. No longer handle
21461 the noreturn_p processing manually.
21462 (built_in_attributes): Move the definitions from builtin-attrs.def
21463 before c_common_nodes_and_builtins.
21464 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
21465 DEF_BUILTIN, passing it to both builtin_function and the changed
21466 builtin_function_2.
21467
21468 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
21469 __builtin__exit and __builtin__Exit.
21470
21471 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
21472
21473 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
21474 QI mode registers in soft registers.
21475 ("zero_extendqihi2"): Do not take into account soft registers
21476 for register allocation (use '*' constraint).
21477
21478 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
21479
21480 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
21481 it is dead.
21482 ("*ashrsi3"): Likewise.
21483 ("*lshrsi3"): Likewise.
21484
21485 2002-07-05 Vladimir Makarov <vmakarov@redhat.com>
21486
21487 * genautomata.c (output_max_insn_queue_index_def): Take latencies
21488 into account.
21489
21490 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
21491
21492 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
21493 address computation and memory moves.
21494
21495 2002-07-03 Mark Mitchell <mark@codesourcery.com>
21496
21497 PR c++/6706
21498 * dwarfout.c (output_reg_number): Fix warning message.
21499 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
21500 before using it.
21501
21502 2002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
21503
21504 * gcc/gcc.c (asm_debug): Move initialization ...
21505 (init_spec): ... here.
21506
21507 2002-07-05 Nathan Sidwell <nathan@codesourcery.com>
21508
21509 * c-parse.in (extdef): Append ';'.
21510 (old_style_parm_decls): Append ';'.
21511
21512 2002-07-04 Daniel Jacobowitz <drow@mvista.com>
21513
21514 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
21515 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
21516 to gcc_cv_as_gstabs_flag.
21517 * configure: Rebuilt.
21518
21519 2002-07-04 Geoffrey Keating <geoffk@redhat.com>
21520
21521 * ggc.h (ggc_add_root): Document as obsolete.
21522
21523 Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
21524
21525 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
21526 (mshflo_w): Likewise.
21527
21528 Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
21529
21530 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
21531 vector mode subregs of constants to finding integer mode
21532 subregs of constants.
21533 * cse.c (cse_insn): Use simplify_gen_subreg.
21534 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
21535 From a vector mode expression of different size than the
21536 target mode.
21537
21538 2002-07-03 Eric Christopher <echristo@redhat.com>
21539
21540 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
21541 * config/mips/mips.h: Remove deprecated -m<processor> options
21542 and cc1_cpu_spec associated.
21543 (CONSTANT_ADDRESS_P): Fix last patch.
21544 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
21545 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
21546 sunge_sf): Remove.
21547
21548 2002-07-03 Stan Shebs <shebs@apple.com>
21549
21550 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
21551 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
21552 (CPP_SPEC): Remove insertion of APPLE_CC definition.
21553
21554 2002-07-03 Roger Sayle <roger@eyesopen.com>
21555
21556 * combine.c (struct_undo): Change types of recorded substitutions
21557 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
21558 (do_SUBST_INT): Change types of the substitution from unsigned int
21559 to int, to avoid compilation warning from SUBST_INT's only caller.
21560
21561 (make_extraction): Add cast to avoid compilation warning.
21562 (force_to_mode): Remove cast to avoid compilation warning.
21563
21564 2002-07-03 Eric Botcazou <ebotcazou@multimania.com>
21565 Jeff Law <law@redhat.com>
21566
21567 * i386.md (length_immediate attribute): Fix typo.
21568 (length_address attribute): Likewise.
21569 (modrm attribute): Set it to 0 for immediate call instructions.
21570 (jcc_1 pattern): Set modrm attribute to 0.
21571 (jcc_2 pattern ): Likewise.
21572 (jump pattern): Likewise.
21573 (doloop_end_internal pattern): Explicitly set length.
21574 (leave pattern): Fix typo.
21575 (leave_rex64 pattern): Likewise.
21576
21577 2002-07-03 David Edelsohn <edelsohn@gnu.org>
21578
21579 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
21580 in FPR as preference.
21581 (fctiwz): Same.
21582 (floatdidf2, fix_truncdfdi2): Same.
21583 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
21584 (floatditf2): Same.
21585 (floatsitf2, fix_trunctfsi2): SImode in GPR.
21586 (ctrdi): Remove FPR alternative and splitter.
21587
21588 2002-07-03 Will Cohen <wcohen@redhat.com>
21589
21590 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
21591
21592 Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
21593
21594 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
21595 than UNITS_PER_WORD, unless this is little endian and the first unit
21596 in this word. Let extract_bit_field decide how to load an element.
21597 Force arguments to matching mode.
21598 (expand_vector_unop): Likewise.
21599
21600 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
21601 consist of word_mode elements.
21602 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
21603 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
21604 (build_unary_op): Allow vector types for BIT_NOT_EPR.
21605 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
21606 CONST_VECTOR.
21607 * optabs.c (expand_vector_binop): Try to perform operation in
21608 smaller vector modes with same inner size. Add handling of AND, IOR
21609 and XOR. Reject expansion to inner-mode sized scalars when using
21610 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
21611 (expand_vector_unop): Try to perform operation in smaller vector
21612 modes with same inner size. Add handling of one's complement.
21613 When there is no vector negate operation, try a vector subtract
21614 operation. Use simplify_gen_subreg on constants.
21615 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
21616 constants into smaller vectors with same inner mode, and to
21617 integer CONST_DOUBLEs.
21618
21619 2002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21620
21621 * c-parse.in (parsing_iso_function_signature): New variable.
21622 (extdef_1): New, copied from...
21623 (extdef): ... here. Reset parsing_iso_function_signature.
21624 (old_style_parm_decls): Reset parsing_iso_function_signature.
21625 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
21626 Warn about ISO C style function definitions.
21627 (nested_function, notype_nested_function): Reset
21628 parsing_iso_function_signature.
21629 (parmlist_2): Set parsing_iso_function_signature.
21630
21631 * doc/invoke.texi (-Wtraditional): Document new behavior.
21632
21633 2002-07-02 Chris Demetriou <cgd@broadcom.com>
21634
21635 * config.gcc (mips*el-*-*): Use tm_defines to set
21636 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
21637 * config/mips/little.h: Remove.
21638
21639 2002-07-02 Devang Patel <dpatel@apple.com>
21640
21641 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
21642 object as parameter. Prevent something like 'NSObject' to be
21643 used as the type for a method argument.
21644
21645 2002-07-03 Neil Booth <neil@daikokuya.co.uk>
21646
21647 * cpptrad.c: Update comment.
21648
21649 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
21650
21651 * doc/cpp.texi: Update for traditional preprocessing changes.
21652 * goc/cppopts.texi: Similarly.
21653
21654 2002-07-02 Ziemowit Laski <zlaski@apple.com>
21655
21656 * c-parse.in (designator): Enable designated initializers if ObjC.
21657 (objcmessageexpr): Remove references to objc_receiver_context.
21658 * objc/objc-act.h (objc_receiver_context): Remove decl.
21659 * objc/objc-act.c (objc_receiver_context): Remove.
21660 (lookup_objc_ivar): Test objc_method_context instead of
21661 objc_receiver_context.
21662
21663 Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
21664
21665 * sh.c (print_operand, case 'N'): Allow zero vector.
21666 (arith_reg_or_0_operand): Likewise.
21667 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
21668 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
21669 IOR, XOR, PLUS and SET and take their respective constant
21670 ranges into account.
21671 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
21672 * sh.md (subdi3, subdi3_media): Allow zero operand.
21673 (movv8qi_i+3): Only vector that is not split is the zero vector.
21674 Fix operand 3 to simplify_subreg.
21675 (movv2si_i): Split alternative 1.
21676 (mshfhi_l_di_rev+1): New splitter.
21677
21678 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
21679
21680 PR preprocessor/7029
21681 * cppinit.c (cpp_handle_option): Suppress warnings with an
21682 implicit "-w" for "-M" and "-MM".
21683 * doc/cppopts.texi: Update.
21684
21685 2002-07-01 Roger Sayle <roger@eyesopen.com>
21686
21687 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
21688 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
21689 builtin_function.
21690
21691 2002-07-02 Alan Modra <amodra@bigpond.net.au>
21692
21693 * README.Portability: Fix typos.
21694
21695 2002-07-01 Hans-Peter Nilsson <hp@axis.com>
21696
21697 PR target/7177
21698 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
21699 of indirections for register inside sign-extended mem part.
21700
21701 2002-07-01 Roger Sayle <roger@eyesopen.com>
21702
21703 * tree.h: Modify builtin_function interface to take an extra
21704 argument ATTRS, which is a tree representing an attribute list.
21705
21706 * c-decl.c (builtin_function): Accept additional parameter.
21707 * objc/objc-act.c (builtin_function): Likewise.
21708 * f/com.c (builtin_function): Likewise.
21709 * java/decl.c (builtin_function): Likewise.
21710 * ada/utils.c (builtin_function): Likewise.
21711 * cp/decl.c (builtin_function): Likewise.
21712 (builtin_function_1): Likewise.
21713
21714 * c-common.c (c_common_nodes_and_builtins): Pass an additional
21715 NULL_TREE argument to builtin_function. (builtin_function_2):
21716 Likewise.
21717 * cp/call.c (build_java_interface_fn_ref): Likewise.
21718 * objc/objc-act.c (synth_module_prologue): Likewise.
21719 * java/decl.c (java_init_decl_processing): Likewise.
21720 * f/com.c (ffe_com_init_0): Likewise.
21721
21722 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
21723 NULL_TREE argument to builtin_function.
21724 * config/arm/arm.c (def_builtin): Likewise.
21725 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
21726 * config/i386/i386.c (def_builtin): Likewise.
21727 * config/ia64/ia64.c (def_builtin): Likewise.
21728 * config/rs6000/rs6000.c (def_builtin): Likewise.
21729
21730 2002-07-01 Zack Weinberg <zack@codesourcery.com>
21731
21732 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
21733 * config/mips/t-isa3264: Likewise.
21734 * config/mmix/t-mmix: Likewise.
21735
21736 2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
21737
21738 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
21739
21740 2002-07-01 Roger Sayle <roger@eyesopen.com>
21741
21742 PR opt/4046
21743 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
21744 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
21745 B are truth values.
21746
21747 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
21748
21749 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
21750
21751 2002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
21752
21753 * README.Portability (Function prototypes): Give an example of
21754 declaring and defining a function with no arguments.
21755
21756 * README.Portability (Function prototypes): Document new
21757 variable-argument function macros.
21758
21759 Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
21760
21761 * sh.c (langhooks.h): Include.
21762 (sh_init_builtins, sh_media_init_builtins): New functions.
21763 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
21764 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
21765 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
21766 (builtin_description): New struct tag.
21767 (signature_args, bdesc): New arrays.
21768 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
21769 (print_operand): Add 'N' modifier.
21770 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
21771 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
21772 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
21773 (CONST_COSTS): Add special case for SHmedia AND.
21774 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
21775 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
21776 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
21777 target_operand can also be const or unspec.
21778 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
21779 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
21780 (attribute type): Add new types.
21781 (anddi3): Add splitter.
21782 (movdi_const_16bit+1): Add code to handle vector constants and
21783 bitmasks efficiently.
21784 (shori_media): Have generator function made.
21785 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
21786 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
21787 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
21788 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
21789 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
21790 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
21791 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
21792 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
21793 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
21794 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
21795 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
21796 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
21797 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
21798 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
21799 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
21800 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
21801 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
21802 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
21803 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
21804 (ftrv): Likewise.
21805
21806 (fpu_switch+1, fpu_switch+2): Remove constraint.
21807
21808 2002-07-01 Aldy Hernandez <aldyh@redhat.com>
21809
21810 * tree.c (build_function_type_list): Update function comment.
21811 Rename first argument to return_type.
21812
21813 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
21814
21815 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
21816 tradcif.y and related files.
21817
21818 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
21819
21820 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
21821
21822 2002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21823
21824 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
21825
21826 See ChangeLog.7 for earlier changes.
This page took 0.958755 seconds and 5 git commands to generate.