]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
[gcc.git] / gcc / ChangeLog
CommitLineData
988d1653
JH
1Sat 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
73ba39fc
HPN
82003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
9
10 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
11
3b684012
RE
122003-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
fa5848c7
HPN
252003-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
4555be98
NB
312003-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
39a91264
NB
362003-03-08 Neil Booth <neil@daikokuya.co.uk>
37
38 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
39
9571a6b9
KH
402003-03-08 Kazu Hirata <kazu@cs.umass.edu>
41
42 * config/h8300/h8300.md (*extzv_16_8): New.
43
18d13f34
JH
44Sat 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
72b8d451
ZD
672003-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
ed97aa66
EB
752003-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
d7b53ca4
DE
812003-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
3dc575ff
KH
862003-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
9bcd9715
JW
1012003-03-07 James E Wilson <wilson@tuliptree.org>
102
ed97aa66 103 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
9bcd9715 104
6e5c4eaf
GK
1052003-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
50aac998
MM
1132003-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
37f74dcf
RE
1312003-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
203b3521
KH
1392003-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
8643e92d
GK
1442003-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
7f3d8013
DJ
1682003-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
14484a78
VM
1732003-03-06 Vladimir Makarov <vmakarov@redhat.com>
174
175 * haifa-sched.c (schedule_block): Don't call reorder when sorting
176 is prohibited.
177
9d10c9a9
NB
1782003-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
37f5242b
RS
1962003-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
f3922fd2
DD
2022002-03-05 Tom Tromey <tromey@redhat.com>
203
204 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
205 Define.
206
2072002-03-05 Nick Clifton <nickc@cambridge.redhat.com>
208
209 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
210 operand 2.
211 ("*ineqbranchsi"): Likewise.
212
2132002-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
2192002-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
4c28216d
JM
2442003-03-06 Jason Merrill <jason@redhat.com>
245
246 * tree-inline.c (inlinable_function_p): Revert earlier change
247 pending investigation.
248
0135f343
KH
2492003-03-06 Kazu Hirata <kazu@cs.umass.edu>
250
251 * config/h8300/h8300.md (a new peephole2): New.
252
5c2e00ee
JH
253Thu 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
323658ea
ZD
2572003-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
2b18b49b
HPN
2622003-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
1a71a5b0
RS
2682003-03-05 Roger Sayle <roger@eyesopen.com>
269
270 * expr.h (lang_expand_expr): Delete obsolete prototype.
271
26d249eb
KH
2722003-03-05 Kazu Hirata <kazu@cs.umass.edu>
273
274 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
275
8b41a8da
KH
2762003-03-05 Kazu Hirata <kazu@cs.umass.edu>
277
278 * config/h8300/h8300.md (a peephole2): Generalize to
279 accept a memory operand.
280
39ee7fa9
OH
281Wed 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
cda26058
RK
288Wed 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
98857de8
JDA
2932003-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
96714395
AH
2992003-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
b255a036
JH
319Wed 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
0eb933a0
KH
3352003-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
35b07080
ZD
3432003-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
bb182d23
R
369Wed 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
f2d0440f
SC
3772003-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
165b263e
DE
3852003-03-05 David Edelsohn <edelsohn@gnu.org>
386
387 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
388 else clauses.
389
8c38a24f
MM
3902003-03-05 Michael Matz <matz@suse.de>
391
392 * i386/i386.c (ix86_save_reg): Also test
393 current_function_uses_const_pool.
394
336d0d96
MM
3952003-03-05 Michael Matz <matz@suse.de>
396
397 * unwind.h: Add the GPL exception.
398 * Makefile.in (USER_H): Add unwind.h.
399
be2fa211
EB
4002003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
401
402 PR c/9799
403 * c-typeck.c (push_init_level): Add sanity check.
404
dafc5b82
JH
405Wed 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
006c9f4a
SE
4282003-03-04 Steve Ellcey <sje@cup.hp.com>
429
430 * expr.c (convert_modes): Check for legal hard register.
431
65ebbf81
TT
4322003-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
ec4a0419
ZD
4412003-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
79dbeefc
AS
4582003-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
3ac1a319
SE
4632003-03-04 Steve Ellcey <sje@cup.hp.com>
464
465 * expr.c (expand_expr): Call promote_mode to set unsignedp.
466
db720d9a
DJ
4672003-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
9a79ab7e
AJ
4732003-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
a8f0e848
KH
4852003-03-04 Kazu Hirata <kazu@cs.umass.edu>
486
487 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
488
2ad1815d
EB
4892003-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
e2483ef7
JH
495Tue 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
34a86c2b
NN
5012003-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
63973df3
NB
5082003-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
95f3f59e
JDA
5322003-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
234c071b
KB
5492003-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
f12448c8
AO
5542003-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
f9d36a92
JW
5632003-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
8dfb356f
KH
5682003-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
0d9bf032
KH
5742003-03-03 Kazu Hirata <kazu@cs.umass.edu>
575
576 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
577 pattern.
578
b89a3806
GK
5792003-03-03 Geoffrey Keating <geoffk@apple.com>
580
581 * doc/install.texi (Specific): Update entry for powerpc-darwin.
582
568d661d
RH
5832003-03-03 Richard Henderson <rth@redhat.com>
584
585 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
586
3317bab1
DE
5872003-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
03275f81
ZD
5952003-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
d1a74aa7
JM
6002003-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
d44cc404
R
610Mon 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.
10f4f635
R
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
f7da1e9a
JH
638Mon Mar 3 19:07:21 CET 2003 Jan Hubicka <jh@suse.cz>
639
09e2bf48
JH
640 * calls.c (rtx_for_function_call): Take the address as an argument
641 (expand_call): Do not modify the expression.
642
f7da1e9a
JH
643 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
644 optimizing.
645
426ace7f
KH
6462003-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
6967a126
KH
6512003-03-03 Kazu Hirata <kazu@cs.umass.edu>
652
653 * config/h8300/h8300.md (a peephole2): New.
654
1f7e8790
KH
6552003-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
6602003-03-03 Kazu Hirata <kazu@cs.umass.edu>
2807791e
KH
661
662 * reload1.c (reload_cse_move2add): Remove variable success.
663
a2581175
KG
6642003-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
ef1ecf87
RH
6692003-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.
9a79ab7e 674 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
ef1ecf87
RH
675 paired ldtoffx and ldxmov annotations.
676 (load_symptr_internal1): Remove.
677 (load_symptr_high, load_symptr_low): New.
678
82f6e3eb
NB
6792003-03-02 Neil Booth <neil@daikokuya.co.uk>
680
681 * c-incpath.c (add_path): Fix sysp assignment.
682
bc522472
KG
6832003-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.
9a79ab7e 689 * toplev.c (decode_f_option): Set multiple parameters
bc522472
KG
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
b9f4b20a
GK
7122003-03-02 Geoffrey Keating <geoffk@apple.com>
713
714 * fix-header.c (read_scan_file): Don't reference simplify_path.
715
97d322cc
SC
7162003-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
65fb64fe
SC
7212003-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
b45e9837
SC
7262003-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.
9a79ab7e 731 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
b45e9837
SC
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
b1cbe78c
NB
7412003-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
b059c02a
KH
7512003-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
986b1f13
NB
7682003-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
8a035a6b
AH
7792003-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
23cdb465
KH
7872003-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
29efb633
KG
7952003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
796
797 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
798
36bf3f1b
KH
7992003-03-01 Kazu Hirata <kazu@cs.umass.edu>
800
801 * config/h8300/h8300.md (a peephole2): Remove dead code.
802
08291658
RS
8032003-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
e5258f85
KH
8262003-03-01 Kazu Hirata <kazu@cs.umass.edu>
827
828 * config/h8300/h8300.md (a peephole2): New.
829
85bb9c2a
RE
8302003-03-01 Richard Earnshaw <rearnsha@arm.com>
831
832 * predict.c (estimate_bb_frequencies): Correctly set
833 real_values_initialized after initialization.
834
5793b276
NB
8352003-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
6620997b
KH
8792003-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
82b4dc2e
KH
8842003-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
c4f6b78e
RE
8912003-03-01 Richard Earnshaw <rearnsha@arm.com>
892
893 * predict.c (estimate_bb_frequencies): Initialize the sreal
894 constants once per compilation.
895
9552a3e3
RH
8962003-02-28 Richard Henderson <rth@redhat.com>
897
898 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
899
73c68f61
SS
9002003-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
d8fad4ea
GK
9262003-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
9855905c
AH
9322003-02-28 Aldy Hernandez <aldyh@redhat.com>
933
934 * floatlib.c: Remove.
935
3695c25f
JM
9362003-02-28 Jason Merrill <jason@redhat.com>
937
938 * stor-layout.c (variable_size): Leave a "minus 1" outside the
939 SAVE_EXPR.
940
f8f0e566
DE
9412003-02-28 David Edelsohn <edelsohn@gnu.org>
942
943 * config/rs6000/power4.md: Add compare bypass.
944
35501efe
JT
9452003-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
8f7ee471
DJ
9512003-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
67c2b45f
JS
9602003-02-28 Joel Sherrill <joel@OARcorp.com>
961
962 PR 9638/other
9a79ab7e 963 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
67c2b45f
JS
964 this constant defaults to 1.
965
066f1538
BW
9662003-02-28 Bob Wilson <bob.wilson@acm.org>
967
968 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
969
b8c53e96
RE
9702003-02-28 Richard Earnshaw <rearnsha@arm.com>
971
9a79ab7e 972 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
b8c53e96
RE
973 ARMv5e processor, not just for XScale. Instructions are predicable.
974 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
975
b93828f3
NC
9762003-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
3c042316
KH
9812003-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
28727f1f
RS
9882002-02-28 Richard Sandiford <rsandifo@redhat.com>
989
990 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
991 #ifndef __mips16.
992
10a3fdd9
JH
993Fri 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
9d18e06b
JZ
10032003-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
95456d43
RS
10102003-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
28ae9fed
KH
10152003-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
d47719fd
DE
10242003-02-27 David Edelsohn <edelsohn@gnu.org>
1025
30e7f17e
DE
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.
d47719fd
DE
1031 * config/rs6000/power4.md: Additional VMX bypasses.
1032
7a69a172
GB
10332003-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
678e68fc
JW
10382003-02-27 James E Wilson <wilson@tuliptree.org>
1039
1040 * combine.c (simplify_comparison): Require integral mode when
1041 permuting SUBREG with AND.
1042
986704f1
SE
10432003-02-27 Steve Ellcey <sje@cup.hp.com>
1044
1045 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
1046
1e3af7f6
NC
10472003-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
51b7c247
JT
10522003-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
3eae722d
RS
10572003-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
6fc19dc9
AM
10642003-02-27 Alan Modra <amodra@bigpond.net.au>
1065
1066 * config/rs6000/rs6000.md: Add TI constant splitter.
1067
c41536f5
AO
10682003-02-26 Alexandre Oliva <aoliva@redhat.com>
1069
65c04548
AO
1070 * builtins.c (purge_builtin_constant_p): Handle subreg of
1071 constant_p_rtx too.
1072
c41536f5
AO
1073 * function.c (assign_stack_local_1): Truncate constant added to
1074 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
1075
dccd5213
DE
10762003-02-26 David Edelsohn <edelsohn@gnu.org>
1077
1078 * config.gcc: Add power4 to PowerPC with_cpu list.
1079
47a5d8e7
JH
1080Wed Feb 26 19:46:25 CET 2003 Jan Hubicka <jh@suse.cz>
1081
1082 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
1083
cb9e4555
ZD
10842003-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
b0d7ef9a
JDA
11122003-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
f6e91562
MM
11182003-02-26 Michael Matz <matz@suse.de>
1119
1120 * ra-colorize.c (merge_moves): Fix list handling.
1121
f0375c66
NC
11222003-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
9a79ab7e 1145 'normal'.
f0375c66 1146
0d446150
JH
1147Tue 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
b17d5d7c
ZD
11712003-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
244f7aa9
DB
12002003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
1201
1202 * fixinc/fixincl.x: Regenerate
1203
1d14f992
JZ
12042003-02-26 Josef Zlomek <zlomekj@suse.cz>
1205
1206 * function.c (assign_parms): Set reg_attrs for parameters passed in
1207 registers.
1208
8ace9f18
AM
12092003-02-26 Alan Modra <amodra@bigpond.net.au>
1210
38a84391 1211 PR target/9681
8ace9f18
AM
1212 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
1213
9a29ee42
DE
12142003-02-25 David Edelsohn <edelsohn@gnu.org>
1215
1216 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
1217 pseudo-op.
1218
8beccec8
RS
12192003-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
b052d8ee
RS
12282003-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
8d454008
RH
12372003-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
fc943f55
KH
12422003-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
14f00213
FS
12472003-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
8164b171
RH
12572003-02-25 Richard Henderson <rth@redhat.com>
1258
1259 * real.c (real_to_integer2): Force overflow result only for
1260 unsigned overflow.
1261
9e48c409
KH
12622003-02-25 Kazu Hirata <kazu@cs.umass.edu>
1263
1264 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
1265
3044064c
VM
12662003-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
4e21585b 1270 there is no similar load.
3044064c 1271
15aab9c0
VM
12722003-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.
9a79ab7e 1291
15aab9c0
VM
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
12962003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9
AH
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
fa1a0d02
JH
1330Tue 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
b103bfef
NC
13422003-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
2d21f7d6
JH
1348Mon Feb 24 22:08:22 CET 2003 Jan Hubicka <jh@suse.cz>
1349
1350 * combine.c (simplify_shift_const): Fix previous patch.
1351
2bac97f7
JL
13522003-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
f8dc212b
RO
13582003-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
9a79ab7e 1365 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
f8dc212b
RO
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.
9a79ab7e 1370
44ee6e9e
RS
13712003-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
463f02cd
KK
13762003-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
8403445a
AM
14012003-02-24 Alan Modra <amodra@bigpond.net.au>
1402
6fc19dc9 1403 PR 9297, PR 9722
8403445a
AM
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
ef906381
KH
14152003-02-23 Kazu Hirata <kazu@cs.umass.edu>
1416
1417 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
1418
16226f1e
KG
14192003-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
9e555526
RH
14282003-02-22 Richard Henderson <rth@redhat.com>
1429
1430 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
1431
14322003-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
9d913bbf
KC
14372003-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
d2c172bf
AS
14452003-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
b3de7382
JH
1451Sat 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
90b8be73
JH
1456Sat 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
764c4414
JH
1461Sat Feb 22 12:42:16 CET 2003 Jan Hubicka <jh@suse.cz>
1462
1463 * c-decl.c (c_expand_body_1): Fix.
1464
1c4a429a
JH
1465Sat 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
1e2115dc
JZ
14912003-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
26182e15
SB
14962003-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
b6553814
SB
1502 PR c/8828
1503 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
1504 insns. Update comments to reflect what the function really does.
1505
c0a47a61
RS
15062003-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
51928907
HPN
15162003-02-22 Hans-Peter Nilsson <hp@axis.com>
1517
5b296d93
HPN
1518 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
1519 Fix functionalization typo.
1520
51928907
HPN
1521 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
1522 in an asm.
1523
9ac121af
KG
15242003-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
453ee231
JH
1537Sat 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
d50672ef
JH
1552Sat 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
9809a362
JH
1575Fri 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
a93d1ba2
R
1582Fri 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
a8d0ddaf
ZW
15902003-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
902ac719
KH
15992003-02-21 Kazu Hirata <kazu@cs.umass.edu>
1600
1601 * config/h8300/h8300.md (a peephole2): New.
1602
9dca2ad5
JH
1603Fri 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
64465d27
JH
1610Fri 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
9e7d0b92
GN
16142003-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
a7582c8c
BE
16202003-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
91710e62
AO
16262003-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
d64f6f86
KH
16342003-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
fd7acc30
RS
16402003-02-20 Roger Sayle <roger@eyesopen.com>
1641
1642 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
1643
1c2de642
TM
16442003-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
b9422b69
JH
1651Thu Feb 20 21:41:19 CET 2003 Jan Hubicka <jh@suse.cz>
1652
fd7acc30
RS
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.
b9422b69
JH
1657 (rest_of_compilation): Deal with it.
1658 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
1659 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
1660 Declare.
b9422b69
JH
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
a62bfff2
DE
16682003-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
dbbf88d1
NS
16742003-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
6d6ab190
DE
18262003-02-20 David Edelsohn <edelsohn@gnu.org>
1827
a8d0ddaf
ZW
1828 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1829 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
1830 insn reservations.
1831 (power4-fpstore): Compact.
1832
2dd5df7c
KH
18332003-02-20 Kazu Hirata <kazu@cs.umass.edu>
1834
1835 * config/h8300/h8300.md (*iorsi3_w): New.
1836
8fa08316
JZ
18372003-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
c8717368
JZ
18452003-02-20 Josef Zlomek <zlomekj@suse.cz>
1846
1847 * bb-reorder.c (find_traces_1_round): Fix comment typo.
1848
3bc400cd
RS
18492003-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
b5a49c0b
KW
18542003-02-19 Krister Walfridsson <cato@df.lth.se>
1855
1856 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
1857
472f2723
KH
18582003-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
6d9cc15b
JZ
18652003-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
563a317a
JH
1871Wed 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
be9d08c2
KH
18942003-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
f23147fe
RO
18992003-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.
a8d0ddaf 1910
f23147fe
RO
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
30e4d9d4
JH
1917Wed Feb 19 17:22:51 CET 2003 Jan Hubicka <jh@suse.cz>
1918
1919 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
1920
2792d578
DE
19212003-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
19262003-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
48a5f2fa
DJ
19312003-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
9e889775
JH
1936Wed Feb 19 14:22:42 CET 2003 Jan Hubicka <jh@suse.cz>
1937
1938 * i386.md (cosxf2): Fix conditional.
1939
f4c07fbf
KH
19402003-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
590734b6
KH
19462003-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
c001c39b
JH
1959Tue 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
2f51bb1d 19642003-02-18 Matt Austern <austern@apple.com>
3bc400cd 1965
2f51bb1d 1966 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 1967 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 1968
ff6e1a2f
KH
19692003-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
78bd5210
RS
19752003-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
9f3a9a08
KK
19802003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
1981
a8d0ddaf 1982 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 1983 (sh_cannot_copy_insn_p): New.
a8d0ddaf 1984 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 1985
d7ddbe24
RH
19862003-02-18 Richard Henderson <rth@redhat.com>
1987
1988 * c-common.c (handle_used_attribute): Accept static data too.
1989
19902003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 1991 Aldy Hernandez <aldyh@redhat.com>
22d324c1 1992
a8d0ddaf 1993 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 1994
a8d0ddaf 1995 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 1996
a8d0ddaf
ZW
1997 * target-def.h (TARGET_INITIALIZER): Add
1998 TARGET_VECTOR_TYPES_COMPATIBLE.
1999 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 2000
a8d0ddaf 2001 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 2002
a8d0ddaf
ZW
2003 * c-typeck.c (comptypes): Take into account
2004 TARGET_VECTOR_TYPES_COMPATIBLE.
2005 (convert_for_assignment): Same.
22d324c1 2006
a8d0ddaf
ZW
2007 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
2008 (rs6000_spe_vector_types_compatible): New.
2009 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 2010
e5378e8d
AS
20112003-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
fcc11c35
CD
20162003-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
29db2a1e
R
2023Tue Feb 18 20:15:54 2003 J"orn Rennecke <joern.rennecke@superh.com>
2024
3bc400cd
RS
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.
29db2a1e 2027
582d11e6
JW
20282003-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
3edc4b23
KW
20362003-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
080ea642
RS
20422003-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
e360ab39
RS
20492003-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
6b00cbc7
KH
20552003-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
2b59501b 20622003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 2063
2b59501b
MA
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
a8d0ddaf
ZW
2070 conditional.
2071
131efcd8
JDA
20722003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2073
2074 * pa.md: Correct and enhance comment.
2075
e17aafd1
GK
20762003-02-18 Geoffrey Keating <geoffk@apple.com>
2077
2078 * gcc.c (validate_switches): Don't scan past closing '}'.
2079
f57a2e3a
BE
20802003-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
9b0c0e9f
AH
20872003-02-17 Aldy Hernandez <aldyh@redhat.com>
2088
a8d0ddaf
ZW
2089 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
2090 (__ev_stdw): Same.
2091 (__ev_stdh): Same.
9b0c0e9f 2092
35a3fa09
JH
2093Mon Feb 17 16:16:54 CET 2003 Jan Hubicka <jh@suse.cz>
2094
2095 * recog.c (split_all_insns): Fix memory overflow.
2096
6dc50366
KH
20972003-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
096daf41
JH
2106Sun 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
35113fde
GP
21112003-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
3a1944a6
RE
21162003-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
cdd4b0d4
AB
21212003-02-16 Arend Bayer <arend.bayer@web.de>
2122 Richard Henderson <rth@redhat.com>
2123
ddb9eedd 2124 PR c/8068
cdd4b0d4
AB
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
616f273a
DS
21292003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
2130
2131 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
2132 MASK_ALIGN_DOUBLE.
2133
881b2a96
RS
21342003-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
d203738b
GK
21572003-02-15 Geoffrey Keating <geoffk@apple.com>
2158
2159 * doc/invoke.texi (Optimize Options): Correct @option syntax.
2160
0b077eac
RH
21612003-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
9a71ece1
RH
21732003-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
b54cf83a
DE
21782003-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
99dc7277
RH
22182003-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.
a8d0ddaf 2227 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
2228 indirect branch per function.
2229
5f24e0dc
RH
22302003-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
9381bbc9
RH
22392003-02-15 Richard Henderson <rth@redhat.com>
2240
a8d0ddaf
ZW
2241 * recog.c (split_all_insns): Include new blocks in life update;
2242 do a global life update.
9381bbc9 2243
e898926c
DS
22442003-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
ce65116b
FH
22512003-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
fe7496dd
AO
22572003-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
6017c719
KH
22652003-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
9fb28a67
RO
22702003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2271
2272 * configure.in: Fix typo.
2273 * configure: Regenerate.
2274
60f469fa
KH
22752003-02-14 Kazu Hirata <kazu@cs.umass.edu>
2276
2277 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
2278
8fd73754 22792003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 2280
a8d0ddaf 2281 PR opt/2391
ce65116b
FH
2282 * combine.c: Fix spelling in comment.
2283 (cached_nonzero_bits): New function.
2284 (cached_num_sign_bit_copies): New function.
8fd73754
AN
2285 (nonzero_bits_with_known): New macro.
2286 (num_sign_bit_copies_with_known): New macro.
ce65116b 2287 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
2288 arguments. Change calls from nonzero_bits to
2289 nonzero_bits_with_known.
ce65116b 2290 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
2291 three new arguments. Change calls from num_sign_bit_copies to
2292 num_sign_bit_copies_with_known.
ce65116b
FH
2293 (nonzero_bits): New macro.
2294 (num_sign_bit_copies): New macro.
2295 (update_table_tick): Don't traverse identical subexpression more
8fd73754 2296 than once.
ce65116b 2297 (get_last_value_validate): Likewise.
8fd73754 2298
ddb0ae00
ZW
22992003-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
c20b55c0
JDA
23112003-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
ffc8f11e
JZ
23172003-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
047d636f
DJ
23222003-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
4302db79
KH
23552003-02-13 Kazu Hirata <kazu@cs.umass.edu>
2356
2357 * config/h8300/h8300.md (a peephole2): New.
2358
e0d9cc77 23592003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 2360 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
2361
2362 * doc/install.texi (Specific): Update three SCO-related URLs.
2363
9fb93b00
AS
23642003-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
22ffcc6f
GDR
23702003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
2371
2372 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
2373
1fb54135
RS
23742003-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
19a7414e
MS
23822003-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
e589cc6e
AH
23912003-02-12 Aldy Hernandez <aldyh@redhat.com>
2392
ddb0ae00
ZW
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.
e589cc6e 2399
2bbfc542
KH
24002003-02-12 Kazu Hirata <kazu@cs.umass.edu>
2401
2402 * config/h8300/h8300.md (a peephole2): New.
2403
e72fcfe8
JH
2404Wed 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
9037b0c7
AH
24362003-02-12 Aldy Hernandez <aldyh@redhat.com>
2437
ddb0ae00
ZW
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.
9037b0c7 2443
55ae46b1
RM
24442003-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
3963c2e0
ZW
24492003-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
d1a86812
GP
24582003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2459
2460 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
2461
6efcd268
JH
2462Wed Feb 12 15:19:42 CET 2003 Jan Hubicka <jh@suse.cz>
2463
2464 * predict.c (estimate_probability): Fix roundoff error.
2465
9083b5da
KH
24662003-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
86bc9b19
KH
24712003-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
ceda50e9
RH
24762003-02-11 Richard Henderson <rth@redhat.com>
2477
2478 * gcse.c (lookup_set): Remove unused argument PAT. Update
2479 both callers.
2480
886e0865
GK
24812003-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
76438597
NN
24912003-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
09b568fc
RH
24962003-02-11 Richard Henderson <rth@redhat.com>
2497
2498 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
2499
8b978a57
JH
2500Mon 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
a3259be8
BW
25052003-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
da52a069
RS
25112003-02-11 Roger Sayle <roger@eyesopen.com>
2512
2513 * builtins.c: Fix failure caused by commiting wrong patch.
2514
d58f6584
DJ
25152003-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
22fd5743
FH
25202003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2521
2522 PR optimization/9651
2523 * rtlanal.c (may_trap_p): Handle FIX.
2524
3462df62
DJ
25252003-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
a693fbb9
GK
25302003-02-11 Geoffrey Keating <geoffk@apple.com>
2531
2532 * config/rs6000/host-darwin.c: Fix comment.
2533
bb157ff4
DE
25342003-02-11 David Edelsohn <edelsohn@gnu.org>
2535
2536 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
2537 predicate for mod result.
2538
16ddb599
JDA
25392003-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
6f0d3566
JH
2547Tue 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
d0a5295a
RH
25512003-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
9672132f
KH
25582003-02-11 Kazu Hirata <kazu@cs.umass.edu>
2559
2560 * config/h8300/h8300.md (a peephole2): Add a case of 255.
2561
b5e01d4b
RS
25622003-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
cb119f82
JH
2580Tue 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
a05566a3
KH
25852003-02-11 Kazu Hirata <kazu@cs.umass.edu>
2586
2587 * config/h8300/h8300.md (a peephole2): Fix a typo.
2588
20ae4500
RE
25892003-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
717d8b71
KH
25942003-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
e36e8f52
JH
2602Tue 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
c728da61
JH
2606Tue Feb 11 10:02:54 CET 2003 Jan Hubicka <jh@suse.cz>
2607
2608 * predict.c (choose_function_section): Choose sections correctly.
2609
4cc0fdd2
JDA
26102003-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
44b1fa11
RS
26172003-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
2948ade7 26292003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 2630 Aldy Hernandez <aldyh@redhat.com>
2948ade7 2631
3963c2e0
ZW
2632 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
2633 override options which have been specified on the command line.
2948ade7 2634
2a4e6df4
KH
26352003-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
411e2759
PE
26412003-02-10 Phil Edwards <pme@gcc.gnu.org>
2642
2643 * tree.c (build_tree_list): Fix parameter names in comment.
2644
2b24fc41
JJ
26452003-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
aa634f11
JZ
26502003-02-10 Josef Zlomek <zlomekj@suse.cz>
2651
2652 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 2653 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
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
17edbda5
AH
26692003-02-10 Aldy Hernandez <aldyh@redhat.com>
2670
2671 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
2672
57116c34
DN
26732003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
2674
2675 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 2676 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 2677
4f448245
NC
26782003-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
19190d27
KH
26942003-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
ecf92f82 27032003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 2704 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
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
ac5e69da
JZ
27102003-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
9b6b54e2
NC
27182003-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
3963c2e0 2722 <aldyh@redhat.com>.
9b6b54e2
NC
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
949824fe
JH
2733Mon 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
546ff777
AM
27392003-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
626098f9 27452003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 2746 Aldy Hernandez <aldyh@redhat.com>
626098f9 2747
3963c2e0
ZW
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.
626098f9
AH
2754
27552003-02-09 Aldy Hernandez <aldyh@redhat.com>
2756
3963c2e0
ZW
2757 Rename spe_evxor to xorv2si3.
2758 (xorv4hi3): New.
2759 (xorv1di3): New.
626098f9 2760
8d23a2c8 27612003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 2762
8d23a2c8
GN
2763 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
2764 tag.
2765
fdc4b40b
JH
2766Mon 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
35c28a13
JH
2773Sun Feb 9 23:58:33 CET 2003 Jan Hubicka <jh@suse.cz>
2774
2775 * i386.md (floathi*): Deal with SSE.
2776
852c8ba1
JH
2777Sun 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
2382b79f
RS
27832002-02-09 Richard Sandiford <rsandifo@redhat.com>
2784
2785 * toplev.c (rest_of_compilation): Recompute register usage after
2786 split_all_insns.
2787
8275b011
RH
27882003-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
794aca5d
WB
28042003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
2805
2806 * doc/install.texi: Squeeze and streamline section on
2807 testing and regression checking.
2808
d9deed68
JH
2809Sun 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
83fd323c
JH
2824Sat 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
4ee7aa60
RH
28302003-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
c117dddc
KH
28352003-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
8aa063fb
KH
28402003-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
01a132bb
ZD
28552003-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
617b465c
ZD
28602003-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
3bd03194
KH
28882003-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
d865b122
DE
28962003-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.
94993909 2900 (ctzsi2): New pattern.
d865b122
DE
2901 (ffssi2): Use clz instead of unspec.
2902 (clzdi2): Rename from cntlzd2.
94993909 2903 (ctzdi2): New pattern.
d865b122
DE
2904 (ffsdi2): Use clz instead of unspec.
2905
8f37dd98
LR
29062003-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
83205b9b
WB
29132003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
2914
2915 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
2916
710ee3ed
RH
29172003-02-07 Richard Henderson <rth@redhat.com>
2918
2919 PR 9226
3963c2e0
ZW
2920 * gcse.c (local_cprop_find_used_regs): New.
2921 (local_cprop_pass): Use it.
710ee3ed 2922
3ef879d2
FF
29232003-02-07 Fred Fish <fnf@intrinsity.com>
2924
2925 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 2926 precedence bugs.
3ef879d2 2927
a0f0e963 29282003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 2929
3963c2e0 2930 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 2931
46847aa6
RS
29322003-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
c48d6750
JH
2946Fri Feb 7 23:24:28 CET 2003 Jan Hubicka <jh@suse.cz>
2947
2948 * i386.md (sse2_nandv2di3): Fix.
2949
5e062767
DS
29502003-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
3f755ed0
JH
2958Fri 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
0816bcd2
DB
29622003-02-07 Daniel Berlin <dberlin@dberlin.org>
2963
2964 * cfg.c (dump_flow_info): Add back accidently deleted line.
2965
7bf0a593
AP
29662003-02-07 Andrey Petrov <petrov@netbsd.org>
2967
2968 * optabs.c (expand_float): Search wider integer modes first.
2969
01e4596e
BW
29702003-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
fbef91d8
RS
29752003-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
6713831e
JT
29842003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
2985
2986 * config/t-netbsd (USER_H): Revert previous change.
2987
10d2dbe2
GG
29882003-02-07 Gabor Greif <ggreif@lucent.com>
2989
2990 * doc/c-tree.texi (Namespaces): Fix typo.
2991
d1d3c9a6
JH
2992Fri 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
1b1f249d
VM
29972003-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
90330d31
JDA
30082003-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
d1164330
RH
30242003-02-06 Richard Henderson <rth@redhat.com>
3025
3026 * combine.c (nonzero_bits): Fix double break.
3027
5fbf0217 30282003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 3029 Richard Henderson <rth@redhat.com>
5fbf0217
EB
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
8f62128d
JH
3035Thu 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
476d9098
GK
30592003-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
69bd9368
RS
30782003-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
7127fd58
RH
31032003-02-05 Richard Henderson <rth@redhat.com>
3104
8dde7a2c 3105 PR c/8602
3963c2e0
ZW
3106 * integrate.c (output_inline_function): Reset input_filename
3107 and lineno from the decl before rest_of_compilation.
7127fd58 3108
7dba8395
RH
31092003-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
8d705469
JH
3133Wed 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
bc810602
ZD
31402003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3141
3142 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
3143
07938cec
HB
31442003-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
ca9398d1
RS
31492002-02-05 Roger Sayle <roger@eyesopen.com>
3150
3151 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
3152
4f6ae35d
JJ
31532003-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
8acfdd43
RH
31592003-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
c407570a
RH
31672003-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
4b3cf522
KH
31762003-02-04 Kazu Hirata <kazu@cs.umass.edu>
3177
3178 * genconfig.c (main): Generate CC0_P.
3179 * rtl.h (CC0_P): Remove.
3180
dfff898c
RH
31812003-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
0c9ed856
RH
31872003-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
9537511b
UW
31922003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
3193
3194 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 3195 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
3196 reloads for operands where a mandatory reload was already pushed.
3197
1efd0b97
RH
31982003-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
087fc75a 32032003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 3204
087fc75a
FH
3205 PR c/9376
3206 * libgcc2.c (__subvdi3): Fix typo.
3207
f0f0d98e
JH
3208Tue Feb 4 21:46:05 CET 2003 Jan Hubicka <jh@suse.cz>
3209
3210 * i386.md (movti_rex64): Fix constraint.
3211
09f26fb5
JH
3212Tue 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
ff6e2d3e
RB
32162003-02-04 Rodney Brown <rbrown64@csc.com.au>
3217
3218 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
3219
9e80ada7
PE
32202003-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
79c758fb
JJ
32252003-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
b3a8389d
JM
32312003-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
dabb3f04
RH
32372003-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
985d0d50
BW
32452003-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
7f0e57bd
JH
3254Mon 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
7daebb7a
RS
32652002-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.
ff6e2d3e 3270 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
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.
26182e15 3284 (maybe_get_pool_constant): Likewise.
7daebb7a 3285
84520a20
JH
3286Mon 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
035b2a34
JH
3290Mon 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
1f143d5a
KG
32942003-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
4b550d9f
AS
32992003-02-02 Andreas Schwab <schwab@suse.de>
3300
3301 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
3302
0732a089
RE
33032003-02-02 Richard Earnshaw <rearnsha@arm.com>
3304
3305 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
3306 (epilogue_insns): Likewise.
3307
f269f54f
JDA
33082003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3309
3310 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
3311
611ad29e
JDA
33122003-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
8cacda7c
GP
33502003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3351
3352 * doc/install.texi (Testing): Simplify and compress instructions
3353 concerning Dejagnu.
3354
cbc158bb
JDA
33552003-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
dcef1843
GK
33612003-02-01 Geoffrey Keating <geoffk@apple.com>
3362
3363 * doc/extend.texi (Function Attributes): Remove documentation
3364 for PowerPC Windows NT function attributes..
3365
5d7bed9d
DJ
33662003-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
53585c36
RH
33712003-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
bc8a6d63
RH
33822003-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
2928cd7a
RH
33882003-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
34002003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3401
ff6e2d3e
RB
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.
2928cd7a 3445
112f7223
UW
34462003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
3447
3448 * reload.c: Revert 2003-01-31 change.
3449
434c87d4
JH
3450Sat 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
271bd540
RS
34542003-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
17e6098e
JDA
34672003-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
2f278625
UW
34722003-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
05c425a9
GP
34802003-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
b0c42aed
JH
3488Sat 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
1f61a15d
GK
35172003-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
7c712dcc
LR
35222003-01-31 Jan Hubicka <jh@suse.cz>
3523
3524 PR c/9506
3525 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
3526
e137391e
JDA
35272003-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
1824b90d
NS
35322003-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
8f9a402c
DS
35462003-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
cdd1f01b
RH
35522003-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
6bc82793
KH
35602003-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
f099d360
GK
35672003-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.
f099d360
GK
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
52895e1a
RH
35802003-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
c35c7e52
RH
35892003-01-30 Richard Henderson <rth@redhat.com>
3590
3591 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
3592
e43dd89d
RE
35932003-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
87a902e4
KH
35992003-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
36092003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 3610
ff6e2d3e 3611 PR target/9316
0186a143
RC
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
f55d7103
NC
36182003-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
b6d08ca1
KH
36232003-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
14d22dd6
MM
36342003-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
825db093
KH
36392003-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
f1d5271a
LR
36462003-01-30 Loren James Rittle <ljrittle@acm.org>
3647
3648 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
3649
266a9ef1
AO
36502003-01-30 Alexandre Oliva <aoliva@redhat.com>
3651
3652 * config/fp-bit.h (__make_dp): Declare if TMODES.
3653
0889116d
KH
36542003-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
c8c99a68
DE
36592003-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
ccf4d512
RE
36662003-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
0889116d 36742003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 3675
7429b411 3676 PR bootstrap/9296
0680c8fb 3677 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 3678 depended on it being defined until now.
0680c8fb 3679
7429b411 36802003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 3681
7429b411 3682 PR target/9295
c934274a
JS
3683 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
3684 RTEMS code knows which C++ initialization style the toolset
7429b411 3685 configuration is using.
c934274a 3686
0889116d 36872003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 3688
7429b411 3689 PR bootstrap/9293
ff6e2d3e 3690 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 3691 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 3692
0889116d 36932003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 3694
7429b411 3695 PR bootstrap/9292
64abe03e
JS
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.
64abe03e 3699
2f12fb2b
NC
37002003-01-29 Nick Clifton <nickc@redhat.com>
3701
3702 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
3703 not $(srcdir).
3704
cf0150b9
AH
37052003-01-29 Andrew Haley <aph@redhat.com>
3706
3707 * tree-inline.c (walk_tree): Add CHAR_TYPE.
3708
9b74f3ea
JH
3709Wed Jan 29 10:26:12 CET 2003 Jan Hubicka <jh@suse.cz>
3710
3711 * i386.md (subdi3_carry_rex64): Fix typo.
3712
e150159c
SS
37132003-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
53b50ac1
CC
37252003-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
021aa6ed
RH
37302003-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
c1c1d123
AS
37362003-01-28 Andreas Schwab <schwab@suse.de>
3737
ff6e2d3e
RB
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.
c1c1d123 3747
6d09ef27
RS
37482003-01-28 Richard Sandiford <rsandifo@redhat.com>
3749
3750 * combine.c (nonzero_bits): Fix check for negative divide operands.
3751
1e1bd14e
RH
37522003-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
e37135f7
RH
37572003-01-28 Richard Henderson <rth@redhat.com>
3758
3759 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
3760
75642f32
RH
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
e37135f7 37662003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
3767
3768 * regclass.c (init_reg_autoinc): New function.
3769 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 3770 here...
1f80c9ef 3771 (init_regs): to here. Avoids reinitialization for each function,
26182e15 3772 saving compilation time.
1f80c9ef 3773
9fbd3e41
JM
37742003-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
fe352c29 37822003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 3783
1e1bd14e
RH
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.
fe352c29 3787
dcefdf67
RH
37882003-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,
ff6e2d3e 3819 config/mips/mips.c, config/mips/mips.h,
dcefdf67 3820 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 3821 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
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
75642f32
RH
3851 * doc/tm.texi: Update.
3852
58fb7809
VM
38532003-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.
ff6e2d3e 3877
371c988b
VM
38782003-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
40cdfd5a
RH
38832003-01-28 Richard Henderson <rth@redhat.com>
3884
3885 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
3886
a77b7e32
RS
38872003-01-28 Roger Sayle <roger@eyesopen.com>
3888
3889 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
3890
3620944c
RS
38912003-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
e6e81735
JH
3897Tue Jan 28 12:15:13 CET 2003 Jan Hubicka <jh@suse.cz>
3898
26182e15
SB
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.
e6e81735 3909
43196589
AS
39102003-01-28 Andreas Schwab <schwab@suse.de>
3911
32214c32
AS
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
43196589
AS
3918 * combine.c (force_to_mode): Add cast to fix warning when
3919 STORE_FLAG_VALUE is negative.
3920
3c50106f
RH
39212003-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.
ff6e2d3e 3927
3c50106f
RH
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
b9962e0a
RH
40182003-01-27 Richard Henderson <rth@redhat.com>
4019
4020 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 4021 * config/vax/vax-protos.h: Update. Really.
b9962e0a 4022
8a381273
AO
40232003-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
820e01be
GDR
40472003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
4048
4049 * c-parse.in: Remove '%expect 32' directive in objc mode.
4050
23af32e6
NS
40512003-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.
ff6e2d3e 4069
23af32e6
NS
4070 * profile.c (index_counts_file): Remove duplicate check for open file.
4071
9fe42917 40722003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
4073
4074 * gcc/doc/invoke.texi (Optimization Options): Group together
4075 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 4076 out of this section. Group floating point flags together.
d4463dfc
JQ
4077 (Code Gen Options): Move trapv and bounds-check to here.
4078
244d05fb
JZ
40792003-01-27 Josef Zlomek <zlomekj@suse.cz>
4080
4081 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
4082
c552c146
RE
40832003-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
90a21764
VR
40892003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4090
4091 * doc/extend.texi: Fix typo.
4092
9a376494
VR
40932003-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
f004e5f3
AO
40992003-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
58c60e52
GDR
41042003-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
e869aa39
KH
41092003-01-26 Kazu Hirata <kazu@cs.umass.edu>
4110
4111 * combine.c: Fix formatting.
4112
74fb4811
KH
41132003-01-26 Kazu Hirata <kazu@cs.umass.edu>
4114
4115 * doc/gccint.texi: Update the copyright.
4116
3bcf1b13
KH
41172003-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
9e4f94de
KH
41272003-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
4aae8a9a
KH
41352003-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
35d8c8e2
SB
41412003-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
ea976606
AO
41512003-01-26 Alexandre Oliva <aoliva@redhat.com>
4152
b44cf3d9
AO
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
ea976606
AO
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
fd7fd61e
AJ
41792003-01-26 Andreas Jaeger <aj@suse.de>
4180
4181 * df.c: Remove prototype of unused function df_regno_rtl_debug.
4182
8ae91fc0
AO
41832003-01-26 Alexandre Oliva <aoliva@redhat.com>
4184
88e83acb
AO
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
2cd622c3
AO
4192 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
4193 been able to move the result to target.
4194
8ae91fc0
AO
4195 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
4196 for the appropriate mode.
4197
c3297561
AO
4198 * calls.c (emit_library_call_value_1): Handle return values
4199 in a PARALLEL.
4200
187515f5
AO
4201 * rtl.c (get_mode_alignment): Moved to...
4202 * stor-layout.c: ... here.
4203
6ebd2ef4
AO
4204 * print-rtl.c (print_rtx): Don't print MEM details in
4205 GENERATOR_FILEs.
4206
7890e8f3
MH
42072003-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
b820d2b8
AM
42182003-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
42510de4
MH
42272003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4228
4229 * df.c (df_uses_record): Handle CC0.
4230
acf9fa5f
UW
42312003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
4232
1e1bd14e
RH
4233 * reload.c (maybe_memory_address_p): New function.
4234 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 4235
5a09edba
KK
42362003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
4237
4238 * final.c (shorten_branches): Align the address of code label
1e1bd14e 4239 when computing initial lengths and addresses.
5a09edba 4240
f5818c0c
KH
42412003-01-25 Kazu Hirata <kazu@cs.umass.edu>
4242
4243 * config/m68hc11/m68hc11.md: Fix a comment typo.
4244
21ff35fb
AJ
42452003-01-25 Andreas Jaeger <aj@suse.de>
4246
4247 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
4248 TARGET_MACHO.
4249
7821bfc7
RS
42502003-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
5f0bea72
JH
4258Sat 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
1649d92f
JH
4262Sat 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
6ca86a1a
RH
42672003-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
aa2fb4dd
KH
42792003-01-25 Kazu Hirata <kazu@cs.umass.edu>
4280
4281 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
4282 comment.
4283
1125849a
RH
42842002-01-25 Richard Henderson <rth@redhat.com>
4285
4286 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
4287
3900a23b
KC
42882002-01-25 Kelley Cook <kelleycook@comcast.net>
4289
4290 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
4291
72e42e26
SB
42922003-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
8324663f
RH
43012003-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
2adc9b0f
RS
43062002-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
ad487c38
KH
43122003-01-25 Kazu Hirata <kazu@cs.umass.edu>
4313
8324663f 4314 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 4315
07d9b20d
RS
43162002-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
41559112
RS
43282002-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
9bb231fd
RS
43352003-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
a073323c
AS
43482003-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
36ddc6b0
JH
4356Sat 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
26771da7
JH
4361Sat 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
27a6aa72
JH
4372Sat 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
cd68f4e4
ZD
43792003-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
67945f2e
JH
4384Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
4385
4386 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
4387
095fa594
SH
43882002-01-24 Stuart Hastings <stuart@apple.com>
4389
08f0414b 4390 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 4391
1e4c04e0
MH
43922003-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
a560d4d4
JH
4403Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
4404
08f0414b 4405 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
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
1d0ea52e
BW
44342003-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
272f51a3
JH
4444Fri 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
1f37a5b2
BW
44762003-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
84f5e1b1
RH
44882003-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
09b2e78d
ZD
44952003-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
3d436d2a
ZD
45022003-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
a38b3eea
KH
45512003-01-24 Kazu Hirata <kazu@cs.umass.edu>
4552
4553 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
4554
fd3cd001
UW
45552003-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.
21ff35fb 4574 (legitimize_tls_address): New function.
fd3cd001
UW
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.
21ff35fb 4604 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
4605 "bas_tls_64", "bas_tls_31"): New insns.
4606
01f4962d
NS
46072003-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
70b91854
VR
46122003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4613
4614 * doc/passes.texi: Fix typo.
4615
b8089d8d
AS
46162003-01-24 Andreas Schwab <schwab@suse.de>
4617
4618 * stor-layout.c (excess_unit_span): Only define if used.
4619
38df970e
JQ
46202003-01-24 Jerry Quinn <jlquinn@optonline.net>
4621
4622 * gcc/doc/invoke.texi (Optimization Options): List -O levels
4623 for each optimization flag.
4624
dff23a65
KH
46252003-01-24 Kazu Hirata <kazu@cs.umass.edu>
4626
4627 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
4628
05739753
VR
46292003-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
06bea5aa
NC
46392003-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
46472003-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
65ca2d60
PE
46892003-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
3de9c088
RH
47042003-01-23 Richard Henderson <rth@redhat.com>
4705
8324663f
RH
4706 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
4707 in no-else-block case. Add commentary.
3de9c088 4708
49691411
KG
47092003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4710
b4862477
KG
4711 * configure.in: Revert last change.
4712
47132003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4714
4715 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
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
c4db7ecb
FS
47222003-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
fc69c47c
KG
47292003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4730
4731 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
4732
adbe6dfd
UW
47332003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
4734
4735 * genattrtab.c (write_attr_get): Mark 'insn' paramter
4736 as ATTRIBUTE_UNUSED.
4737
76a318e9
RE
47382003-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.
8891b787 4745 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
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
9a600d0c
AS
47532003-01-23 Andreas Schwab <schwab@suse.de>
4754
4755 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
4756
2d110c0a
KG
47572003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4758
4759 * fixinc/Makefile.in (FL_LIST): Revert last change.
4760
2d1d9215
VR
47612003-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
34ee7f82
RS
47712003-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
bab0b43b
UW
47892003-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
7e657a61
AS
47942003-01-22 Andreas Schwab <schwab@suse.de>
4795
4796 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
4797
75a3503b
KH
47982003-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
4888ec5d
UW
48032003-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
6b990f6b
RE
48132003-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
f0bf1270
HP
48232003-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.
21ff35fb 4828
fcb6a0f5
AS
48292003-01-22 Andreas Schwab <schwab@suse.de>
4830
4831 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
4832
c24b8026
ZW
48332003-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
38afe605
KG
48392003-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
d24652ee
GK
48442003-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
1c99d804
RH
48522003-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
f0b886ab
UW
48632003-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
490c57bb
ZW
48682003-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
100e3acb
RS
48732003-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
e8e8c1e5
KH
48872003-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
044b4de3
UW
48952003-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
cfedf91b
KH
49022003-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
dd859b8a
KG
49102003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4911
1f5b3282
KG
4912 * calls.c (fix_unsafe_tree): Prototype.
4913
dd859b8a
KG
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
4f9365e2
AS
49262003-01-21 Andreas Schwab <schwab@suse.de>
4927
4928 * genautomata.c (output_internal_insn_latency_func): Fix missing
4929 close paren in output.
4930
a543eb5e
ZW
49312003-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
292e35a3
CE
49412003-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
d8d0f5af
RH
49472003-01-20 Richard Henderson <rth@redhat.com>
4948
4949 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
4950
5b50aa9d
RH
49512003-01-20 Richard Henderson <rth@redhat.com>
4952
515e1c9f 4953 PR opt/7154
5b50aa9d
RH
4954 * stmt.c (expand_asm_operands): Validize memory operands.
4955
7a174a15
RH
49562003-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
9ac7ebba
KH
49622003-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
309c52b5
KH
49692003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4970
4971 * config/h8300/h8300.md (addsi_h8300): Remove the last
4972 alternative.
4973
b30686ec
KH
49742003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4975
4976 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4977
87608693
KG
49782003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4979
4980 * system.h (__NO_STRING_INLINES): Define.
4981
475c8250
JDA
49822003-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
dbaff908
RS
49872003-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
da8a6064
ZW
49922003-01-20 Zack Weinberg <zack@codesourcery.com>
4993
4994 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 4995 * configure, config.in: Regenerate.
da8a6064
ZW
4996 * cpphash.h: Only typedef 'uchar' if the system doesn't.
4997
a4b1b92a
RH
49982003-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
d530b07f
VM
50032003-01-20 Vladimir Makarov <vmakarov@redhat.com>
5004
da8a6064
ZW
5005 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
5006
d530b07f
VM
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
351df804
KG
50142003-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.
da8a6064 5019
351df804
KG
5020 * config.in, configure: Regenerate.
5021
e3289412
NC
50222003-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
5794139a
JH
5028Mon 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
0a18ddf9
AS
50322003-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
d99c740f
KH
50372003-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
825c5408
DE
50422003-01-19 David Edelsohn <edelsohn@gnu.org>
5043
5044 * collect2.c (ldgetname): Expand declaration to prototype.
5045 * read-rtl.c (atoll): Add prototype.
da3e0142 5046 * system.h (strsignal): Also declare if no declaration found.
825c5408 5047
3bd6d4c4
AO
50482003-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
e9f13564
SC
50662003-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
32dd366d
KH
50792003-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
bc3cb712
RS
50922003-01-18 Roger Sayle <roger@eyesopen.com>
5093
5094 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
5095
25e42e9d
KG
50962003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5097
5098 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
5099
6f9c81f5
DJ
51002003-01-17 Dale Johannesen <dalej@apple.com>
5101
da8a6064 5102 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
5103 (*floatunssidf2_internal): Ditto.
5104
95bd1dd7
KH
51052003-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
d5840e09
SS
51302003-01-17 Stan Shebs <shebs@apple.com>
5131
5132 * config/darwin-protos.h: Forward-declare struct cpp_reader.
5133
e607534b
DR
51342003-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
fbe5a4a6
KH
51392003-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
095f9093
KG
51562003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5157
5158 * i386.c (x86_function_profiler): Fix format specifier.
5159
084087e1
RH
51602003-01-17 Richard Henderson <rth@redhat.com>
5161
5162 * gengtype.c (walk_type): Allow paramN_is.
5163
4a13592e
NC
51642003-01-17 Nick Clifton <nickc@redhat.com>
5165
5166 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
5167
01193617
RH
51682003-01-16 Richard Henderson <rth@redhat.com>
5169
5170 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
5171
f030826a
RH
51722003-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
e1551d47
AO
51822003-01-17 Alexandre Oliva <aoliva@redhat.com>
5183
5184 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
5185 R. Ghazi.
5186
3d042e77
KH
51872003-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
c4274b22
RH
52082003-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
19162d0e
BK
52222003-01-16 Bruce Korb <bkorb@gnu.org>
5223
5224 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
5225
f1e2239f
KK
52262003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
5227
da8a6064
ZW
5228 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
5229 instead of rotldi3_mextr.
f1e2239f 5230
cda1f765
VM
52312003-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.
da8a6064 5250
200097cc
SC
52512003-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
f411c739
SC
52562003-01-16 Stephane Carrez <stcarrez@nerim.fr>
5257
5258 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
5259
08c43ea7
R
5260Thu 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
07488f32
ZW
52642003-01-16 Zack Weinberg <zack@codesourcery.com>
5265
5266 * config/rs6000/rs6000.h: Mention Altivec registers in
5267 commentary. Fix typo.
5268
27dc0551
DE
52692003-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
0334ef47
KG
52752003-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
16f2b86a
ZD
52822003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5283
5284 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
5285
fc555370
KG
52862003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5287
93d8c755
KG
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
0c2ca901
KG
5300 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
5301 * arm.h (ROUND_UP_WORD): Likewise.
5302
fc555370
KG
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
64510a4f
HB
53182003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5319
07488f32 5320 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 5321
77480b0b
RH
53222003-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
a0134312
RS
53322003-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
4af6a063
JDA
53462003-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
51e13b71
SC
53532003-01-16 Stephane Carrez <stcarrez@nerim.fr>
5354
07488f32 5355 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
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
f077f169
SC
53602003-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
c0f684dc
SC
53762003-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
6982ae15
JZ
53812003-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
8cadeff1
RS
53862003-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
03cd8aba
RS
53922003-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
4da78214
JDA
54002003-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
9ee0a442
RS
54062003-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
e3981aab
DE
54142003-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
89c4b810
RE
54192003-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
3cd45774
RE
54242003-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
b1a6f8db
JH
5431Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
5432
5433 PR f/9258
07488f32 5434 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
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
d18c7e59
JZ
54412003-01-15 Josef Zlomek <zlomekj@suse.cz>
5442
5443 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
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
027faee7
AO
54502003-01-15 Alexandre Oliva <aoliva@redhat.com>
5451
5452 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
5453 * configure: Rebuilt.
5454
077dab3b 54552003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 5456
077dab3b
HP
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.
07488f32 5469
077dab3b 54702003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 5471
acfa9d9f
AO
5472 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
5473 forced to memory. Fixes PR bootstrap/9036.
5474
3c0121e4
AO
5475 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
5476 to set $gp before the call.
5477
553eb139
RH
54782003-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
dd1b7476
KG
54832003-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
6028880a
DC
54932003-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
07488f32 5499 attributes.
6028880a
DC
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
4a2953e4 55062003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
5507
5508 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
5509 registers to be in correct order. Add rip.
5510
4d77fda2
KH
55112003-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
77f9af81
JH
5516Tue 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
fd371a93
GDR
55262003-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
dcd1c2b8
AS
55312003-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
eb4b5f93
AO
55372003-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
f7835768
KG
55442003-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
38a3dbbb
AS
55522003-01-13 Andreas Schwab <schwab@suse.de>
5553
5554 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
5555 directive.
5556
98dc53e3
KH
55572003-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
e8f2b18d
MM
55622003-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
70f8b89f
KG
55682003-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
8e37cba8
AM
55782003-01-12 Alan Modra <amodra@bigpond.net.au>
5579
5580 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
5581
04f08c8e
RE
55822003-01-11 Richard Earnshaw (rearnsha@arm.com)
5583
5584 * arm-protos.h (struct cpp_reader): Add declaration.
5585
a5cf80f0
JH
5586Sat 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
bbfb86aa
DE
55912003-01-10 David Edelsohn <edelsohn@gnu.org>
5592
5593 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
5594
223b87b6
GK
55952003-01-10 Geoffrey Keating <geoffk@apple.com>
5596
3859c32a
GK
5597 * Makefile.in (parsedir): New variable.
5598 (docobjdir): New variable.
07488f32 5599 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
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,
07488f32 5603 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
5604 Use docobjdir.
5605 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
5606 objc.maintainer-clean): Use parsedir.
5607
63af3bd1
GK
5608 * varasm.c (struct constant_descriptor_rtx): Remove unused
5609 `label' field.
5610
223b87b6
GK
5611 * toplev.c (documented_lang_options): Document -Winvalid-pch.
5612
fbadafbc
RH
56132003-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
ab5ecb01
RH
56182003-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
7f24e7c5
RH
56232003-01-10 Richard Henderson <rth@redhat.com>
5624
5625 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
5626
6dd05d08
GK
56272003-01-10 Geoffrey Keating <geoffk@apple.com>
5628
19cc0dd4
GK
5629 * ggc-page.c (ggc_collect): Avoid overflow computing
5630 min_expand.
5631
6dd05d08
GK
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
5f1355ef
JH
5637Fri 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
0cdca92b 56422003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
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
56502003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
5651
5652 * configure.in (linker read-only and read-write section mixing):
5653 Squelch some assembler warnings.
5654 * configure: Likewise.
5655
be2c2a4b
HP
56562003-01-10 Hartmut Penner <hpenner@de.ibm.com>
5657
21ff35fb 5658 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
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
1f450138
KH
56662003-01-10 Kazu Hirata <kazu@cs.umass.edu>
5667
5668 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
5669
d330ce15
JZ
56702003-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
17211ab5
GK
56772003-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.
07488f32 5705
17211ab5
GK
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.
07488f32 5781
17211ab5
GK
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.
07488f32 5986
17211ab5
GK
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
07488f32
ZW
6015 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
6016 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
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.
07488f32 6037 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
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
30028c85
VM
61932003-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.
07488f32 6246
30028c85
VM
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.
07488f32 6285
30028c85
VM
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.
07488f32 6294
30028c85
VM
6295 * config/ia64/ia64.c (ia64_override_options): Add aliases of
6296 itanium processor names.
07488f32 6297
30028c85
VM
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.
07488f32 6322
30028c85
VM
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'.
07488f32 6331
30028c85
VM
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.
07488f32 6335
30028c85
VM
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.
07488f32 6340
30028c85
VM
6341 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
6342
07488f32 6343 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
6344 New macros.
6345 (TARGET_SWITCHES): Add entries for the new option.
07488f32 6346
30028c85
VM
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'.
07488f32 6361
30028c85
VM
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.
07488f32 6387
30028c85 6388 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 6389
30028c85
VM
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.
07488f32 6413
30028c85
VM
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.
07488f32 6430
30028c85
VM
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.
07488f32 6486
30028c85
VM
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.
07488f32 6511
30028c85
VM
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.
07488f32 6544
30028c85
VM
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.
07488f32 6554
30028c85 6555 * doc/md.texi: Ditto.
07488f32 6556
30028c85
VM
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.
07488f32 6573
30028c85
VM
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.
07488f32 6578
30028c85
VM
6579 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
6580 extended syntax of the constructions.
07488f32 6581
30028c85
VM
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'.
07488f32 6621
30028c85
VM
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.
07488f32 6632
cb297538
JH
6633Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
6634
17211ab5
GK
6635 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
6636 correctly.
cb297538 6637
3a6e2189
PC
66382003-01-09 Paolo Carlini <pcarlini@unitus.it>
6639
6640 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
6641
97488870
R
6642Thu 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.
e2c734c1
R
6672
6673 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
6674
fc182093
KH
66752003-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
3b1c9927
KH
66832003-01-09 Kazu Hirata <kazu@cs.umass.edu>
6684
6685 * config/h8300/h8300.h (PREDICATE_CODES): New.
6686
867504e6
KH
66872003-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
4a69cf79
JZ
66952003-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
4c46ea23
EB
67032003-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
f56e86bd
JH
6716Thu 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
98c29f71
RS
67312003-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
bbb818c6
EB
67382003-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
90961eff
AJ
67452003-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
8b26829f
KK
67692003-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
fe77449a
DR
67762003-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
98417968
DS
67862003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
6787
07488f32
ZW
6788 PR optimization/8750
6789 * config/i386/i386.c (ix86_expand_prologue): Don't allow
6790 scheduling pass to move insns across __alloca call.
98417968 6791
e46e3130
DJ
67922003-01-08 Dale Johannesen <dalej@apple.com>
6793
07488f32
ZW
6794 * config/rs6000/rs6000.md: Replace *store_multiple_string
6795 with *stmsi[3-8].
e46e3130 6796
c40e5172
JS
67972003-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
de62b72c 68032003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
6804
6805 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 6806 REG_PARM_STACK_SPACE.
07488f32 6807 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
6808 pretend_args_size.
6809
25839c41
NN
68102003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
6811
6812 * gcc.hlp: Delete.
6813
4bdc8610
JH
6814Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
6815
6816 * i386.c (ix86_expand_int_addcc): Fix thinko.
6817
5b71a4e7
DE
68182003-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
2d2a50c3
CD
68292003-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
918c4fe4
AS
68792003-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
c5e7ce43
KH
68852003-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
eb8a8ec4
KH
68922003-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
56f15830 6897Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 6898
56f15830
JZ
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
ab57893b
RE
69032003-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
7b52eede
JH
6912Wed 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
74049755
JJ
69292003-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
e7edc5a0
AS
69352003-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
9635cfad
JH
6940Tue 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
3ee04299
DE
69492003-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
068f5dea
JH
6954Tue 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
eb70d86d
AS
69742003-01-07 Andreas Schwab <schwab@suse.de>
6975
e7edc5a0
AS
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.
eb70d86d 6982
1afdf91c
RH
69832003-01-07 Richard Henderson <rth@redhat.com>
6984
e7edc5a0
AS
6985 * alias.c (find_base_value): Only use new_reg_base_value shortcut
6986 if the register is set once.
1afdf91c 6987
36210500 69882003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 6989
36210500
SP
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
cb25b0ce
BK
69942003-01-07 Benjamin Kosnik <bkoz@redhat.com>
6995 Sunil Davasam <sunil.k.davasam@intel.com>
6996
07488f32 6997 PR libstdc++/9076
cb25b0ce
BK
6998 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
6999 DW_CFA_same_value, read next and ignore.
7000
94c040bd
RH
70012003-01-07 Richard Henderson <rth@redhat.com>
7002
7003 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
7004
f6cb56fa
DB
70052003-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
70202003-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
f9ac2f95
KH
70332003-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
83282119
RS
70412003-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
59a4c851
AH
70462003-01-06 Aldy Hernandez <aldyh@redhat.com>
7047
7048 Segher Boessenkool <segher@koffie.nl>
7049
36210500
SP
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.
59a4c851 7053
7798db98
KH
70542003-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
4705d102
KH
70632003-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
98c9a8e8
AH
70682003-01-06 Aldy Hernandez <aldyh@redhat.com>
7069
7070 Segher Boessenkool <segher@koffie.nl>
7071
36210500
SP
7072 * config/rs6000/altivec.md: Remove spaces from assembler
7073 instruction argument lists.
07488f32 7074
86143814
MH
70752003-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
52fd80fb
RH
70842003-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
a16b43c5
DJ
70902003-01-06 Dale Johannesen <dalej@apple.com>
7091
7092 * config/darwin-protos.h: Add prototypes for new section functions.
7093
ef8dfae6
CD
70942003-01-06 Chris Demetriou <cgd@broadcom.com>
7095
7096 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
7097 to EABI.
7098
44f9a8e4
ZW
70992003-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
2610198a
EC
71042003-01-06 Eric Christopher <echristo@redhat.com>
7105
7106 * config/mips/mips.md (movdf_internal2): Fix constraints.
7107
efbd757f
KH
71082003-01-06 Kazu Hirata <kazu@cs.umass.edu>
7109
7110 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
7111
727b9b8c
RS
71122003-01-06 Richard Sandiford <rsandifo@redhat.com>
7113
7114 * config/mips/mips.md (leadi): Use dla rather than la.
7115
4705d102 71162003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
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
4705d102 71212003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 7122
44f9a8e4 7123 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
7124 redefinition.
7125
dff0ea43
KH
71262003-01-05 Kazu Hirata <kazu@cs.umass.edu>
7127
7128 * config/h8300/h8300.md (*extzv_8_23): New.
7129
94e6fd3e
JDA
71302003-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
cd9b5ca8
KH
71362003-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
1ba8a9c4
RS
71422003-01-05 Richard Sandiford <rsandifo@redhat.com>
7143
7144 * config/mips/mips.md: Disable the movstrsi define_split.
7145
c7c50494
KG
71462003-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
83fa8d7a
KG
71522003-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
871dab3e
BK
71572003-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
90961eff 71622003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
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
b0588013
BK
71852002-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
71932003-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
68ee6df6
KH
72042003-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
d3c300d2
DJ
72342003-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
6cce57b0
JM
72422003-01-02 Jason Merrill <jason@redhat.com>
7243
4e8dca1c
JM
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.
2610198a 7248
6cce57b0
JM
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
e392d367
KH
72532003-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
b15da5b7
GP
72732003-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
bf16e745
KH
72782003-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
8ccf5d5f
KH
72872003-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
43c6a96a
SB
72972003-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
96c4e780
SB
73022003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
7303
7304 * doc/passes.texi: Fix documentation for -fssa-ccp
7305
8ed0a104
NB
73062003-01-02 Neil Booth <neil@daikokuya.co.uk>
7307
7308 * gccbug.in: Update for new categories.
7309
1b9f0361
KH
73102003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7311
7312 * config/h8300/h8300.md: Reorder some patterns.
7313
dc5f17ec
KH
73142003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7315
7316 * config/h8300/h8300.c (output_logical_op): Fix a warning.
7317
cd2801fb
NB
73182003-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
378b1b8e
KH
73262003-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
7106a5bc
KH
73322003-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
231b51a1
NB
73392003-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
0f18b2b0
KH
73492003-01-01 Kazu Hirata <kazu@cs.umass.edu>
7350
7351 * config/h8300/h8300.c: Include cpplib.h.
7352
b9593599
SB
73532003-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
c58b209a
NB
73602003-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
bc455f9c
KH
73792002-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
3b41afd9
TT
73882002-12-31 Tom Tromey <tromey@redhat.com>
7389
7390 * doc/install.texi (Testing): Fixed typo.
7391
9e56a932
KH
73922002-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
731e8b38
MM
73982002-12-31 Mark Mitchell <mark@codesourcery.com>
7399
7400 * c-common.h (pending_lang_change): Declare.
7401
147d1cd3
JQ
74022002-12-31 Jerry Quinn <jlquinn@optonline.net>
7403
7404 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
7405 descriptions.
7406
fad893da
JQ
74072002-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
ec5b5ef1
GP
74122002-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
59d7c857
KH
74172002-12-31 Kazu Hirata <kazu@cs.umass.edu>
7418
7419 * config/h8300/h8300.h: Fix comment typos.
7420
5b8f5865
DE
74212002-12-30 David Edelsohn <edelsohn@gnu.org>
7422
7423 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
7424
582f6e6d
TT
74252002-12-30 Tom Tromey <tromey@redhat.com>
7426
7427 * doc/install.texi (Testing): Mention Jacks.
7428
f75db6bc
JM
74292002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
7430
7431 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
7432
2d75548f
KH
74332002-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
b351c1d9
JM
74412002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
7442
7443 * doc/service.texi: Uncomment and update FAQ link.
7444
47ab0cbb
AJ
74452002-12-30 Andreas Jaeger <aj@suse.de>
7446
7447 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
7448
3cc3e1cd
KH
74492002-12-30 Kazu Hirata <kazu@cs.umass.edu>
7450
7451 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
7452
a6e8d113
KH
74532002-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
c85263d2
KH
74612002-12-29 Kazu Hirata <kazu@cs.umass.edu>
7462
7463 * config/h8300/h8300.md: Give internal names to anonymous
7464 insns.
7465
fbcb02cd
KH
74662002-12-29 Kazu Hirata <kazu@cs.umass.edu>
7467
7468 * config/h8300/h8300.md: Reorder some insns.
7469
2873836b
KH
74702002-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
bdefb2ab
JM
74782002-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
a38f87a9
JM
74832002-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
c14bc6db
AJ
74892002-12-28 Andreas Jaeger <aj@suse.de>
7490
b9b21a05
AJ
7491 * config/i386/i386.c (x86_function_profiler): Mark labelno as
7492 possibly unused.
7493
c14bc6db
AJ
7494 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
7495 correct format.
7496
62fbd434
KH
74972002-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
27e3f16d
JM
75032002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
7504
7505 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
7506
b09975de
GP
75072002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7508
7509 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
7510
f411c849
KH
75112002-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
b976d7a0
KH
75172002-12-26 Kazu Hirata <kazu@cs.umass.edu>
7518
7519 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
7520
d1f87653
KH
75212002-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
ecd4a73b
JR
75372002-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
b17bb466
AS
75472002-12-26 Andreas Schwab <schwab@suse.de>
7548
c14bc6db 7549 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
b17bb466 7550
b21fb038
DE
75512002-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
abd2dd6d
JH
7560Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
7561
7562 * i386.md (memory attribute): Fix setcc attribute.
7563
d55d8fc7
KH
75642002-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
7a770d8b
KH
75812002-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
7d6ac401
KH
75862002-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
871d6a01
KH
75962002-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
4fbf9d4a
JM
76012002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
7602
7603 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
7604
8601608f
NS
76052002-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
c28b4e40
JW
76102002-12-24 Jim Wilson <wilson@redhat.com>
7611
7612 * alias.c (record_set): Handle multi-reg hard registers.
7613
14b493d6
KH
76142002-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
c9693e96
LH
76412002-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
a67ed43f
AH
76512002-12-23 Aldy Hernandez <aldyh@redhat.com>
7652
44f9a8e4
ZW
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.
a67ed43f 7657
46d40353
JM
76582002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
7659
7660 * doc/include/gcc-common.texi: Define DEVELOPMENT.
7661
8dc65b6e
MM
76622002-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
7c02ae17
DE
76692002-12-23 David Edelsohn <edelsohn@gnu.org>
7670
7671 * expr.c (expand_assignment): Apply special treatment to
7672 ARRAY_TYPE.
7673
317d21e9
KH
76742002-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
0c685f12
NS
76832002-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
ade53a50
KH
76902002-12-23 Kazu Hirata <kazu@cs.umass.edu>
7691
7692 * config/h8300/h8300.c (output_a_shift): Remove unused code.
7693
d0ff2db5
MM
76942002-12-22 Mark Mitchell <mark@codesourcery.com>
7695
d317855e
MM
7696 * stor-layout.c (update_alignment_for_field): Guard use of
7697 ADJUST_FIELD_ALIGN with #ifdef.
7698
d0ff2db5
MM
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
96e13905
KH
77032002-12-22 Kazu Hirata <kazu@cs.umass.edu>
7704
7705 * genautomata.c: Fix comment typos.
7706
66b4e478
JH
7707Sun 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
a7612343
KH
77122002-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
8fb52ad1
KH
77172002-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
2a77af27
GK
77232002-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
5040eb00
KK
77282002-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
5d750136
KH
77342002-12-21 Kazu Hirata <kazu@cs.umass.edu>
7735
7736 * config/h8300/h8300.md (zero_extendqisi2): Correct the
7737 length.
7738
f7e42925
KH
77392002-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
3cee1a78
KH
77462002-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
40b982a9
KH
77572002-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
60954572
JW
77632002-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
11f43127
JDA
77702002-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
f9d2de4d
KH
77772002-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
b47900aa
KH
77922002-12-20 Kazu Hirata <kazu@cs.umass.edu>
7793
7794 * config/h8300/h8300.c (dosize): Remove warnings.
7795 (print_operand): Likewise.
7796
3094247f
RH
77972002-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.
c14bc6db 7813 * config/alpha/alpha.md (call patterns): Update for
3094247f
RH
7814 samegp_function_operand rename; use !samegp reloc if
7815 TARGET_EXPLICIT_RELOCS.
7816 * doc/invoke.text: Document -msmall-text and -mlarge-text.
7817
8056c5f2
ID
78182002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
7819
44f9a8e4
ZW
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.
8056c5f2 7828
44f9a8e4
ZW
7829 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
7830 MOVE_RATIO as default for store operations.
8056c5f2 7831
44f9a8e4
ZW
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.
8056c5f2 7837
44f9a8e4
ZW
7838 * config/ns32k/STATUS: New File
7839 * config/ns32k/NOTES: New file.
8056c5f2 7840
1fec52be 78412002-12-20 Hartmut Penner <hpenner@de.ibm.com>
c14bc6db 7842
21ff35fb 7843 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
1fec52be 7844 option for S/390 and zSeries.
44f9a8e4
ZW
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
1fec52be 7848 appropriate target_flags, cpu and arch flags.
44f9a8e4
ZW
7849 * config/s390/s390.h: (processor_type): New enum.
7850 (TARGET_SWITCHES): New switches -mesa/zarch.
7851 * config/s390/s390.md: New attribute 'cpu'.
1fec52be 7852
5bdc5878
KH
78532002-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
539dbd15
KH
78812002-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
e505be85
ZD
78862002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7887
7888 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
7889
191ff852
KH
78902002-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
b2dfd40f
R
7898Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
7899
7900 * sched-rgn.c (init_regions): Update comment.
7901
310b9b1d
DE
79022002-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
e91f04de
CH
79132002-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
61138bb6
NN
79492002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
7950
c14bc6db 7951 * configure.in: FORBUILD when build!=host changed from
61138bb6
NN
7952 ../$build-alias to ../build-$build_alias to match change made
7953 in top directory.
7954 * configure: Regenerated.
7955
039baf9e
EB
79562002-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
ee8acf89
DP
79622002-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.
c14bc6db 7967
598119bb
AH
79682002-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
3af97654
UW
79802002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
7981
7982 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
7983 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
7984
e54b4cae
EB
79852002-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
7f22efe1
DB
79912002-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
f1d5271a 79992002-12-18 Loren James Rittle <ljrittle@acm.org>
5a0ba8c9
LJR
8000
8001 * gcc.c (validate_switches): Robustify against skipping past '\0'.
8002
064b6c70
GK
80032002-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
272d0bee
KH
80082002-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
358ecb10
RS
80312002-12-18 Roger Sayle <roger@eyesopen.com>
8032
8033 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
8034
d486dec6
AH
80352002-12-18 Aldy Hernandez <aldyh@redhat.com>
8036
7f04df0d 8037 PR 8551
d486dec6
AH
8038 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
8039 macro.
8040 (vec_cmplt C++ functions): Reverse arguments.
8041
358ecb10 80422002-12-18 Geoffrey Keating <geoffk@apple.com>
892aebc9 8043
40b4cdbf
GK
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
892aebc9
GK
8055 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
8056
9d303046
DE
80572002-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
80d83b16
JM
80642002-12-18 Jason Merrill <jason@redhat.com>
8065
8066 * unwind-dw2-fde.c (frame_downheap): Split out from...
8067 (frame_heapsort): Here.
8068
f32ac70d
JM
80692002-12-17 Jason Merrill <jason@redhat.com>
8070
9ec22713
JM
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
38540594 8074 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
a3a0177e 8075
f32ac70d
JM
8076 * calls.c (expand_call): Don't try to be clever about expanding
8077 the return slot address.
8078
d5db5b97
KK
80792002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
8080
8081 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
8082 Define.
8083
e489a31f
JM
80842002-12-17 Jason Merrill <jason@redhat.com>
8085
8086 * genmultilib: Use 'cd ./foo'.
8087
5b8f02c6
KH
80882002-12-17 Kazu Hirata <kazu@cs.umass.edu>
8089
8090 * doc/c-tree.texi: Restore deliberate spelling mistakes.
8091
c0478a66
KH
80922002-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
3364c33b
JQ
81062002-12-17 Jerry Quinn <jlquinn@optonline.net>
8107
8108 * doc/invoke.texi: Minor spelling and grammar fixes.
8109
d65f135a
UW
81102002-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
4b207444
JH
8115Tue 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
cde26509
GK
81202002-12-16 Geoffrey Keating <geoffk@apple.com>
8121
8122 * gcc.c (handle_braces): Allow '@' as a switch name.
8123
9f175208
JM
81242002-12-16 Jason Merrill <jason@redhat.com>
8125
e489a31f
JM
8126 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
8127 with special struct-return ABIs.
8128
9f175208
JM
8129 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
8130 doesn't match the begin SCOPE_STMT in partialness.
8131
7a975113
GK
81322002-12-16 Geoffrey Keating <geoffk@apple.com>
8133
c79d892f
GK
8134 * genmultilib: Create temporary files in unique subdirectory.
8135
7a975113
GK
8136 * gcc.c (validate_switches): Allow '@' as a switch name.
8137
8483c7e0
LR
81382002-12-16 Loren J. Rittle <ljrittle@acm.org>
8139
8140 * Makefile.in (gcov-iov.h): Improve portability.
8141
9ee7999f
JH
8142Mon 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
7a04c51b
MM
81482002-12-16 Mark Mitchell <mark@codesourcery.com>
8149
8150 * doc/include/gcc-common.texi: Change version number to 3.4.
8151
27eaa708
BK
81522002-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
b51dc045
R
8157Mon 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
4977bab6
ZW
81632002-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
81932002-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
81992002-12-14 Zack Weinberg <zack@codesourcery.com>
8200
8201 * mkconfig.sh: Correct comment. Add copyright boilerplate.
8202
82032002-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
8215Sat 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
8221Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
8222
8223 * i386.md (movqicc splitter): Fix template.
8224
82252002-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
82432002-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
f5f9008b
JDA
82522002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
8253
8254 * pa.c (output_millicode_call): Correct typo.
8255 (output_call): Likewise.
8256
a58be199
AO
8257Fri 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
d9da94a1
R
8270Fri 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
580fb356
JW
82812002-12-13 Jim Wilson <wilson@redhat.com>
8282
8283 * doc/extend.texi (Complex Numbers): Update info on debug info.
8284
697d8028
KH
82852002-12-13 Kazu Hirata <kazu@cs.umass.edu>
8286
8287 * config/h8300/h8300.md (addhi3_h8300): Remove the last
8288 alternative.
8289
4977bab6
ZW
82902002-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
dd05b1b4 82952002-12-12 Devang Patel <dpatel@apple.com>
697d8028 8296
dd05b1b4
DP
8297 * doc/invoke.texi: Document Darwin linker options, -bundle
8298 -bind_at_load, -all_load and -arch_errors_fatal
8299
24aacafb
JW
83002002-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
09da1532
KH
83052002-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
7930523d
KH
83362002-12-12 Kazu Hirata <kazu@cs.umass.edu>
8337
8338 * config/h8300/h8300.md: Add a new peephole2.
8339
59578c84
KH
83402002-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
8cc5359b
KH
83452002-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
ec555f32
R
8352Thu 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
83ebfdc0
AS
83692002-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
299c5111
KH
83742002-12-12 Kazu Hirata <kazu@cs.umass.edu>
8375
8376 * doc/md.texi (pushm): Fix a typo.
8377
852dff61
AO
83782002-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
4977bab6
ZW
83872002-12-11 Zack Weinberg <zack@codesourcery.com>
8388
8389 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
8390 $(tm_file_list).
8391
83922002-12-11 David Edelsohn <edelsohn@gnu.org>
8393
8394 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
8395
8396Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
8397
8398 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
8399
d6567b3a
JDA
84002002-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
355bd14f
KH
84082002-12-11 Kazu Hirata <kazu@cs.umass.edu>
8409
8410 * doc/invoke.texi: Correct dump file names.
8411
9a3873b4
SE
84122002-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
9a4816af
R
8417Wed 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
8422Wed 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
70a72ca4
R
8433Wed 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
5d5cd66f
RH
84382002-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
68d0a3d2
KH
84432002-12-11 Kazu Hirata <kazu@cs.umass.edu>
8444
8445 * config/h8300/h8300.md (two define_peephole2): New.
8446
722d59a3
KH
84472002-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
b3a5a50c
NB
84542002-12-11 Neil Booth <neil@daikokuya.co.uk>
8455
8456 * c-common.c (builtin_define_type_max): Handle unsigned
8457 types too.
8458
4977bab6
ZW
84592002-12-10 David Edelsohn <edelsohn@gnu.org>
8460
8461 * haifa-sched.c (rank_for_schedule): Correct style.
8462
84632002-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
84742002-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
40d81ee4
JJ
84802002-12-10 Janis Johnson <janis187@us.ibm.com>
8481
8482 PR other/8882
8483 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
8484
48aec0bc 84852002-12-10 Devang Patel <dpatel@appple.com>
40d81ee4 8486
48aec0bc
DP
8487 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
8488 * doc/invoke.texi: Add new "Darwin Options" section.
4977bab6 8489
0e9f8e82
JW
84902002-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
3e25353e
AH
84952002-12-10 Andrew Haley <aph@redhat.com>
8496
8497 * cse.c (cse_insn): Don't cse past a basic block boundary.
8498
17772b2a
JJ
84992002-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
63358530
LH
85102002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
8511
8512 * doc/invoke.texi: Document UltraSparc III option.
8513
2e37b0ce
RH
85142002-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
3a04ff64
RH
85192002-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
a9a4005f
JH
8534Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
8535
8536 * toplev.c (dump_file): Fix order to match reality.
8537
7ef788f0
GK
85382002-12-08 Geoffrey Keating <geoffk@apple.com>
8539
8540 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
8541 (store_multiple): Likewise.
8542
3f320b7e
JDA
85432002-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
3870df96
SE
85482002-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
9ac3e73b
SE
85572002-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.
4977bab6 8566 * expmed.c (store_bit_field): Ditto.
9ac3e73b 8567
7f0db92a
SS
85682002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
8569
8570 * config.gcc: Added tic4x-* target as an alias to c4x-*
8571
37c66aa6
JH
8572Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
8573
7ef788f0
GK
8574 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
8575 constructing insn directly.
37c66aa6 8576
4977bab6
ZW
85772002-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
85822002-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
85902002-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
8606Sat 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
2a598b3a
KH
86112002-12-07 Kazu Hirata <kazu@cs.umass.edu>
8612
8613 * config/h8300/h8300.md (*iorhi_shift_8): New.
8614
70899148
BS
86152002-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
377dfc82
GP
86202002-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
4977bab6
ZW
86252002-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
7144b2d8
DD
86452002-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
aa06e8f5
R
8654Fri 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
0113c3c0
R
8659Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
8660
8661 * sh.md (movdi_i): Name. Remove inappropriate comment.
8662
8d6b008d
R
8663Fri 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
61f6c84f
JJ
86692002-12-06 Jakub Jelinek <jakub@redhat.com>
8670
8671 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
8672
4977bab6
ZW
8673Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
8674
8675 * i386.md (dimode peep2s): Re-add "&& 1".
8676
8677Thu 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
8682Thu 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
bf97847b
JDA
86932002-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
1fcfaf37
DJ
86982002-12-05 Dale Johannesen <dalej@apple.com>
8699
8700 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
8701
1a823ac1
DS
87022002-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
747db477
AH
87082002-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
94f09825
KH
87172002-12-05 Kazu Hirata <kazu@cs.umass.edu>
8718
8719 * config/h8300/h8300.md (*andorsi3_shift_8): New.
8720
1e5bdc40
KH
87212002-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
4977bab6
ZW
8728Wed 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
b6fd51f6
KH
87332002-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
9e1ab8c1
JDA
87382002-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
16823694
GK
87482002-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
5ec0b66e
KH
87562002-12-04 Kazu Hirata <kazu@cs.umass.edu>
8757
8758 * config/h8300/h8300.c: Update the comments related to shifts.
8759
7fa9ed65
CD
87602002-12-04 Chris Demetriou <cgd@broadcom.com>
8761
8762 * config/mips/mips.md (get_fnaddr): Correct length attribute.
8763
6bd6fd35
KH
87642002-12-04 Kazu Hirata <kazu@cs.umass.edu>
8765
8766 * config/h8300/h8300.md (*extzv_8_8): New.
8767 (*extzv_8_16): Likewise.
8768
c246c65d
JM
87692002-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
ae598ab9
CD
87782002-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
a9b6f1e7
EB
87842002-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
a3716585
JH
8790Wed 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
44924a36
JT
87952002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
8796
8797 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
8798
3678a93e
AH
87992002-12-03 Aldy Hernandez <aldyh@redhat.com>
8800
4977bab6 8801 * config/rs6000/spe.md (*movv1di_const0): New pattern.
3678a93e 8802
6e1be6b1
RH
88032002-12-03 Richard Henderson <rth@redhat.com>
8804
8805 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
8806
c47eb51b
HPN
88072002-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
2cff4a6e
AS
88122002-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
491a9777
KH
88242002-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
4977bab6
ZW
88292002-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
88412002-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
88472002-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
8852Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
8853
8854 * i386.c (ix86_expand_int_movcc): Avoid overflow.
8855
e8a68017
KH
88562002-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
834572b8
BW
88632002-12-02 Bob Wilson <bob.wilson@acm.org>
8864
8865 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
8866
88672002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
9118405f
CR
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
4ff38cd5
JH
8873Mon 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
adc72fa6
JH
8877Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
8878
8879 * i386.c (ix86_expand_int_movcc): Avoid overflow.
8880
513f31eb
KH
88812002-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
7ffc9761
R
8889Mon 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
0a2a0a58
KH
88942002-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
28432d9f
KH
89012002-12-02 Kazu Hirata <kazu@cs.umass.edu>
8902
8903 * ra-build.c: Fix a comment typo.
8904
4977bab6
ZW
8905Sun 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
e651d484
KH
89102002-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
558bb2c4
ZW
89162002-12-01 Zack Weinberg <zack@codesourcery.com>
8917
8918 * config/frv/xm-frv.h: Delete, unnecessary.
8919
96cc06af
KH
89202002-12-01 Kazu Hirata <kazu@cs.umass.edu>
8921
8922 * config/h8300/h8300.md: Add comments for define_peephole2.
8923
c9f8536c
MM
89242002-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.
4977bab6
ZW
8938
89392002-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
9048Sat 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
f6318a2b
JDA
90532002-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
4977bab6
ZW
9058Fri 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
2402645b
HPN
90632002-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
8ef34c0d
UW
90692002-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
b8bbda91
KH
90742002-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
d23dff51
KH
90802002-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
4977bab6
ZW
9088Thu 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
9093Thu 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
3f7211f1
KH
91022002-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
fcb204ce
MM
91082002-11-28 Michael Matz <matz@suse.de>
9109
9110 * doc/passes.texi: Mention the other register allocator.
9111
7957fde4
KH
91122002-11-28 Kazu Hirata <kazu@cs.umass.edu>
9113
9114 * config/h8300/h8300.md (6 new peephole2 patterns): New.
9115
17c04c5e
JJ
91162002-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
73cc75e9
KH
91222002-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
4977bab6
ZW
9129Wed 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
0dbc3651
ZW
91372002-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
fe3f9515
KG
91582002-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
4e85eada
KW
91632002-11-27 Krister Walfridsson <cato@df.lth.se>
9164
9165 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
9166 correct version.
9167
f248423a
KH
91682002-11-27 Kazu Hirata <kazu@cs.umass.edu>
9169
9170 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
9171
ae557002
KH
91722002-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
c9b93e1a
JW
91792002-11-27 Jim Wilson <wilson@redhat.com>
9180
0dbc3651
ZW
9181 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
9182 in output template.
c9b93e1a 9183
249e6b63
CH
91842002-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
5a5c00af
RH
91952002-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
1dc46545
JH
9202Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
9203
9204 * builtins.def (DEF_C99_BUILTIN): Fix.
9205
4977bab6
ZW
92062002-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
9211Tue 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
9216Tue 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
9225Tue 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
9231Tue 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
92362002-11-26 NIIBE Yutaka <gniibe@m17n.org>
9237
9238 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
9239
9240Tue 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
5154b05d
AH
92512002-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.
0dbc3651 9260
0f942cae
HP
92612002-11-26 Hartmut Penner <hpenner@de.ibm.com>
9262
0dbc3651
ZW
9263 * config/s390/s390.c (390_output_constant_pool): Set alignment
9264 before label in 64 bit mode, behind otherwise.
0f942cae 9265
25fdb4dc
RH
92662002-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.
d5c4db17 9278 * doc/extend.texi: Document default visibility.
25fdb4dc 9279
920e86b8
KH
92802002-11-26 Kazu Hirata <kazu@cs.umass.edu>
9281
9282 * config/h8300/h8300.c: Adjust spacing.
9283 * config/h8300/h8300.h: Likewise.
9284
7b1bd3c5
RH
92852002-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,
0dbc3651 9296 default_set_default_type_attributes, default_insert_attributes,
7b1bd3c5
RH
9297 default_function_attribute_inlinable_p,
9298 default_ms_bitfield_layout_p): Remove.
9299 * tree.h: Update.
9300
44571d6e
JDA
93012002-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
084a1106
JDA
93122002-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
5d2fe493
JT
93242002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
9325
9326 * config/t-libc-ok: Fix typo.
9327
13c22933
JJ
93282002-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
5326cd3d
NS
93342002-11-26 Nathan Sidwell <nathan@codesourcery.com>
9335
9336 * c-decl.c: (start_struct): Commonize flag setting.
9337
647d340d
JT
93382002-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
0dbc3651 9342 RS6000_CPU_CPP_ENDIAN_BUILTINS.
647d340d
JT
9343 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
9344
29742ba4
HP
93452002-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.
0412a4d4
HP
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.
0dbc3651 9358 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
29742ba4 9359 prototype.
0dbc3651 9360
f4111593
JJ
93612002-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
96d0f4dc
JJ
93662002-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
4977bab6
ZW
9381Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
9382
9383 * i386.md (pushsf_rex64): Fix typo.
9384
020a7b12
AH
93852002-11-25 Aldy Hernandez <aldyh@redhat.com>
9386
249e6b63
CH
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.
020a7b12 9406
d2dff06b
DR
94072002-11-25 Douglas B Rupp <rupp@gnat.com>
9408
9409 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
9410
32f0ffb3
JT
94112002-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
160f9a4c
DP
94412002-11-25 Dave Pitts <dpitts@cozx.com>
9442
9443 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
9444
3c0f5389
KH
94452002-11-25 Kazu Hirata <kazu@cs.umass.edu>
9446
9447 * config/h8300/h8300.md (an anonymous pattern): New.
9448
83bbd9b6
RH
94492002-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
7c64a860
JT
94542002-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
a4967b8d
JT
94642002-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
a91dce31
KH
94722002-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
fe29a4ea
AH
94772002-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
b77f3744
CE
94872002-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
5dafd282
AH
94932002-11-25 Andrew Haley <aph@redhat.com>
9494
249e6b63
CH
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.
5dafd282 9499
4977bab6
ZW
9500Sun 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
92d4b8a0
KH
95082002-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
1169f9e0
JT
95132002-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
adde288a
JT
95232002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
9524
9525 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
0dbc3651 9526 NETBSD_CPP_SPEC directly.
adde288a
JT
9527 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
9528 netbsd_endfile_spec.
9529 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
9530
1ebe8c03
JT
95312002-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
bdabc150
AS
95392002-11-24 Andreas Schwab <schwab@suse.de>
9540
523cb499
AS
9541 * Makefile.in (install-driver): Remove versioned link before
9542 trying to create it.
9543
bdabc150
AS
9544 * config/m68k/m68k.c: Fix typo in last change defining
9545 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
9546
4977bab6
ZW
95472002-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
56b8e164
KH
95602002-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
2bb74773
DJ
95682002-11-22 Dale Johannesen <dalej@apple.com>
9569
249e6b63 9570 * toplev.c (rest_of_compilation): Fix comments.
2bb74773 9571
199cbacc
GK
95722002-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
42766f8d
DJ
95812002-11-22 Daniel Jacobowitz <drow@mvista.com>
9582
9583 * gcc.c (make_relative_prefix, split_directories)
9584 (free_split_directories): Removed.
9585
80486e06
DJ
95862002-11-22 Daniel Jacobowitz <drow@mvista.com>
9587
9588 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
9589 * configure: Regenerated.
9590
41c3eb5d
KH
95912002-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
4977bab6
ZW
95962002-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
9601Thu 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
9610Thu 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
57de2c8f
JW
96142002-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
58db834b
BW
96192002-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
c05dbe81
JH
9628Thu 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,
0dbc3651 9632 x86_64_nonmemory_operand, x86_64_movabs_operand,
c05dbe81
JH
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
ff3afb56
JT
96432002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
9644
9645 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
9646 * config/arm/netbsd-elf.h: New file.
9647
57c21a42
JT
96482002-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
3d5ee65b
NC
96562002-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
4d938a09
JT
96652002-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
1dda7ee4
RE
96702002-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
7c143ed2
KH
96762002-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
b5798b2a
UW
96862002-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.
0dbc3651
ZW
9690 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
9691 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
b5798b2a
UW
9692 EXTRA_MULTILIB_PARTS): Define.
9693
c231c91e
RE
96942002-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
4977bab6
ZW
9700Wed 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
9705Wed 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
27e58a70
SE
97492002-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
964b104a
DR
97582002-11-20 Douglas B Rupp <rupp@gnat.com>
9759
9760 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
9761
3d4b192a
DD
97622002-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
414d23ae
HPN
97682002-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
9a0a7d5d
HPN
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.
c14bc6db 9793 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
9a0a7d5d
HPN
9794 valgrind-annotate memory.
9795
3ba2436a
UW
97962002-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
a9b6f1e7 98042002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
02a362d9
EB
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
5354730b
RS
98102002-11-20 Richard Sandiford <rsandifo@redhat.com>
9811
9812 * stor-layout.c (place_field): Update rli->offset as well as
9813 rli->bitpos.
9814
5720520f
RS
98152002-11-20 Richard Sandiford <rsandifo@redhat.com>
9816
9817 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
9818
4392ebd3
RS
98192002-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
3748bd9e
RS
98252002-11-20 Richard Sandiford <rsandifo@redhat.com>
9826
9827 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
9828 out another register.
9829
bc02f8d3
JJ
98302002-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
4977bab6
ZW
98352002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
9836
9837 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
9838
98392002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9840
9841 * profile.c (index_counts_file): Fix obvious mistake.
9842
98432002-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
98532002-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
9887Tue 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
98922002-11-19 Andreas Schwab <schwab@suse.de>
9893
9894 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
9895 not valid in C++.
9896
98972002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
9898
9899 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
9900 * configure: Regenerate.
9901
9902Tue 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
3bdcef4d
AJ
99072002-11-19 Andreas Jaeger <aj@suse.de>
9908
9909 * loop.c (record_giv): Initialize not_replaceable.
9910 (check_final_value): Likewise.
9911
ec5b0c68
KH
99122002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9913
9914 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
9915 MASK_H8300S.
9916
99172002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
39ba95b5
VK
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'.
249e6b63 9935 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
39ba95b5
VK
9936 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
9937
efcc7037
JH
9938Tue 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
99432002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
35f1c975
EB
9944
9945 PR c/8588
9946 * optabs.c (expand_binop): Convert CONST_INTs in shift
9947 operations too.
9948
a500466b
RS
99492002-11-19 Roger Sayle <roger@eyesopen.com>
9950
9951 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
9952
3b161153
KH
99532002-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
85af47b9
DJ
99582002-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
9675a91e
KH
99642002-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
7b61fa4d
GP
99742002-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
50aadcbc
AJ
99792002-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
dc65cd60
KH
99842002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9985
9986 * cppfiles.c: Fix formatting.
9987
f3226a90
JT
99882002-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.
3bdcef4d 10005
f3226a90
JT
10006 * doc/invoke.texi: Document spec functions.
10007
10008 * cppspec.c (lang_specific_spec_functions): New.
10009 * gccspec.c: Likewise.
10010
08c42743
SE
100112002-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
8128cccf
NB
100222002-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
95199202
JH
10029Mon 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
c986baf6
JH
10034Sun 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
ac655495
KH
100422002-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
ea4210ef
RS
100492002-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
3503150c
RS
100562002-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
180bde4f
RS
100642002-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
e300c78c
RS
100692002-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
4977bab6
ZW
10074Sun 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
ec748ec8
KH
100812002-11-17 Kazu Hirata <kazu@cs.umass.edu>
10082
10083 * df.c: Fix formatting.
10084
cf0cec73
KH
100852002-11-17 Kazu Hirata <kazu@cs.umass.edu>
10086
10087 * config/h8300/h8300.md (two anonymous patterns): Fix insn
10088 lengths.
10089
d2b2c7cd
DJ
100902002-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
6ddb1bc1
GS
100952002-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
5ab2f7b7
KH
101002002-11-17 Kazu Hirata <kazu@cs.umass.edu>
10101
10102 * builtins.c: Fix formatting.
10103
4977bab6
ZW
10104Sat 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
10111Sat 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
0d964e40
KH
101212002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10122
10123 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
10124
6d55e887
KH
101252002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10126
10127 * config/h8300/h8300.md: Fix formatting.
10128
4d5ad877
KH
101292002-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
17fa74a2
KH
101342002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10135
10136 * tlink.c: Fix formatting.
10137
9caa3eb2
DE
101382002-11-16 David Edelsohn <edelsohn@gnu.org>
10139
68a7da97 10140 PR 8362
9caa3eb2
DE
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
476c5eb6
KH
101462002-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
5dab517f
JJ
101522002-11-16 Jakub Jelinek <jakub@redhat.com>
10153
10154 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
10155
7e1a450d
KH
101562002-11-16 Kazu Hirata <kazu@cs.umass.edu>
10157
10158 * optabs.c: Fix formatting.
10159
1b245ade
JH
10160Sat 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
6368a493
KH
101662002-11-15 Kazu Hirata <kazu@cs.umass.edu>
10167
10168 * config/h8300/h8300.md (4 anonymous patterns): New.
10169
737c38d1
GK
101702002-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
2120e3cd
UW
101762002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
10177
3bdcef4d 10178 * config/s390/s390.c (optimization_options): Set
2120e3cd
UW
10179 flag_asynchronous_unwind_tables to 1 by default.
10180
18789f4e
UW
101812002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
10182
10183 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10184
a5fa1ecd
JH
10185Fri 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.
a36fc5f8 10190 (FUNCTION_PROFILER): Move offline to ...
a5fa1ecd
JH
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
1741620c
JD
102042002-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
24985beb
KH
102122002-11-14 Kazu Hirata <kazu@cs.umass.edu>
10213
10214 * gthr-single.h: Fix formatting.
10215
fa7b533b
ZW
102162002-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
9fc910d1
GDR
102252002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
10226
10227 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
10228
7eca317a
JJ
102292002-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
57751dd6
KH
102362002-11-14 Kazu Hirata <kazu@cs.umass.edu>
10237
10238 * gthr-vxworks.h: Fix formatting.
10239
f702e700
JJ
102402002-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
08ec53e7
JDA
102452002-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
e6179f45
KH
102532002-11-13 Kazu Hirata <kazu@cs.umass.edu>
10254
10255 * gthr-solaris.h: Fix formatting.
10256
fe83a9ce
KH
102572002-11-13 Kazu Hirata <kazu@cs.umass.edu>
10258
10259 * gthr-posix.h: Fix formatting.
10260
4977bab6 102612002-11-12 Devang Patel <dpatel@apple.com>
4977bab6
ZW
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
eed13f9b
KH
102662002-11-12 Kazu Hirata <kazu@cs.umass.edu>
10267
10268 * config/h8300/h8300.md (*andorsi3): New.
10269
e8a7b0c2
FS
102702002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10271
10272 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
10273
94aec8dd
KH
102742002-11-12 Kazu Hirata <kazu@cs.umass.edu>
10275
10276 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
10277 expressions appropriately.
10278
fc98f5cb
KH
102792002-11-12 Kazu Hirata <kazu@cs.umass.edu>
10280
10281 * gthr-win32.h: Fix formatting.
10282
e27051f7
KH
102832002-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
10bb8214
GP
102902002-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
ffe11c6b
RO
102952002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10296
10297 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
10298 directories.
10299
3788cc17
ZW
103002002-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
dd697f8c
KH
103162002-11-11 Kazu Hirata <kazu@cs.umass.edu>
10317
10318 * gthr-dce.h: Fix formatting.
10319
303b90b0
FS
103202002-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
e8437165
JJ
103262002-11-11 Janis Johnson <janis187@us.ibm.com>
10327
10328 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
10329
12f5c45e
JH
10330Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
10331
10332 * i386.c (construct_container): Fix handling of SSE_CLASS.
10333
f981a754
JS
103342002-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
a9b6f1e7 103412002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
45ed7228
EB
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
2da4124d
L
103472002-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
7bb9f927
ZW
103542002-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
d8986082
JT
103602002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
10361
10362 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
10363 __ABICALLS__ if TARGET_ABICALLS.
10364
2e64c636
JH
10365Sun 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
04e6db94
JM
103692002-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
e9986d3a
HPN
103742002-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
4977bab6
ZW
103792002-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
10387Sat 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
581d9404
JDA
103912002-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
9f689d92
JT
104202002-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
1c03af86
JDA
104252002-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
57800e9e
NB
104302002-11-09 Neil Booth <neil@daikokuya.co.uk>
10431
10432 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
10433
4977bab6
ZW
104342002-11-08 Roger Sayle <roger@eyesopen.com>
10435
10436 * real.c (real_sqrt): Update comment with bibliographic reference.
10437
10438Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
10439
10440 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
10441
10442Fri 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
10446Fri 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
10467Fri 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
489d6e8e
DJ
104712002-11-08 Dale Johannesen <dalej@apple.com>
10472
7bb9f927 10473 * dbxout.c (dbxout_type): Fix stabs info for vector types.
489d6e8e 10474
a4b1e653
NB
104752002-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
e6e8c772
NB
104822002-11-08 Neil Booth <neil@daikokuya.co.uk>
10483
10484 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
10485 buffers.
10486
ffdf5eae
KH
104872002-11-08 Kazu Hirata <kazu@cs.umass.edu>
10488
10489 * config/h8300/h8300.md (two anonymous test insns): New.
10490
8dd3ca88
JH
10491Fri 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
4977bab6
ZW
10495Thu 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
07cf4226
DM
105002002-11-07 David Mosberger <davidm@hpl.hp.com>
10501
7bb9f927
ZW
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.
07cf4226 10507
7bb9f927
ZW
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.
07cf4226
DM
10511 * configure, config.in: Rebuild.
10512
0977774b 105132002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
7bb9f927 10514
0977774b 10515 * config/arm/arm-protos.h (arm_get_frame_size)
7bb9f927 10516 (thumb_get_frame_size): New prototypes.
0977774b 10517 * config/arm/arm.c (arm_get_frame_size)
7bb9f927
ZW
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
0977774b
JT
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
105282002-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
74c13308
RE
105372002-11-07 Richard Earnshaw <rearnsha@arm.com>
10538
10539 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
10540
e284643a
R
10541Thu 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
c2905f7b
JH
10545Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
10546
10547 * reg-stack.c (compensate_edge): Fix sanity check.
10548
3cfe49da
GK
105492002-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
4977bab6
ZW
105722002-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
10594Wed 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
10604Wed 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
5d7e6254
DE
106102002-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
4fc6ad08
JJ
106162002-11-06 Janis Johnson <janis187@us.ibm.com>
10617
10618 * doc/contrib.texi: Merge in the list from the Java web pages.
10619
fa123c53
DB
106202002-11-06 David O'Brien <obrien@FreeBSD.org>
10621
10622 * config/sparc/freebsd: Fix typo.
10623
81e5bc3d
JDA
106242002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
10625
10626 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
10627
021fa809
AO
106282002-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
4977bab6
ZW
10633Tue 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
e9577224
BW
106392002-11-05 Bob Wilson <bob.wilson@acm.org>
10640
10641 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
10642
a9b11d44
JDA
106432002-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
5c7cd663
AH
106482002-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
97ab1175
RS
106532002-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
4977bab6
ZW
106582002-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
2aff9508
DJ
106672002-11-04 Dale Johannesen <dalej@apple.com>
10668
7bb9f927
ZW
10669 * doloop.c (doloop_modify_runtime): Fix loop count computation
10670 for unrolled loops.
2aff9508
DJ
10671 * loop.c (loop_invariant_p): Support calling from unroller.
10672
e86e721f
UW
106732002-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
cff9f8d5
AH
106782002-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.
7bb9f927 10699
cff9f8d5
AH
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.
7bb9f927 10755
cff9f8d5
AH
10756 * regs.h: Add extern for subregs_of_mode;
10757 Include hard-reg-set and basic-block.
10758 (REG_CHANGES_MODE): Delete.
10759
4977bab6
ZW
107602002-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
2ff363e0
JDA
107682002-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
cd1d3445
DE
107732002-11-03 David Edelsohn <edelsohn@gnu.org>
10774
10775 * config/rs6000/rs6000.md (movti_string): Use string instructions.
10776
c9fe6f9f
RS
107772002-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
0b40e88e
EB
107832002-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
dff9f1b6
DE
107892002-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
46eefac4
KH
107942002-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
102b60d1
GP
108002002-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
46be79e7
KH
108072002-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
bec80a45
MM
108122002-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
8df91177
DB
108182002-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
616dc555
KH
108242002-11-01 Kazu Hirata <kazu@cs.umass.edu>
10825
10826 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
10827
25a533a0
TM
108282002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
10829
10830 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
10831
dcffbade
SE
108322002-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.
7bb9f927 10877
d5db54a1
RE
108782002-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
075fc17a
JH
10884Fri 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
4977bab6
ZW
10889Thu 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
10895Thu 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
9efb4cb6
NN
108992002-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
ce02ba25
EC
109052002-10-31 Eric Christopher <echristo@redhat.com>
10906
7bb9f927 10907 * explow.c (convert_memory_address): Use shallow_copy_rtx.
ce02ba25 10908
8efb33ec
SE
109092002-10-31 Steve Ellcey <sje@cup.hp.com>
10910
10911 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
10912
a543c709
SE
109132002-10-31 Steve Ellcey <sje@cup.hp.com>
10914
10915 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
10916
cdc58a82
DJ
10917Thu Oct 31 Dale Johannesen <dalej@apple.com>
10918
10919 * config/rs6000/darwin.h: Correct formatting in previous.
10920
e381c27a
DJ
10921Thu Oct 31 Dale Johannesen <dalej@apple.com>
10922
10923 * config/rs6000/darwin.h: Enable -falign-xxx options.
10924
55ba61f3
JH
10925Thu 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.
8e746279 10932 (ix86_frame_pointer_required): Frame pointer is always required when
55ba61f3
JH
10933 profiling.
10934
f7e5dfbd
JH
10935Thu 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
ff881d52
R
10939Thu 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
e8e4c876
DB
109452002-10-31 David O'Brien <obrien@FreeBSD.org>
10946
10947 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10948 __enable_execute_stack function.
10949
4977bab6
ZW
109502002-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
27bd7792
AH
109572002-10-30 Aldy Hernandez <aldyh@redhat.com>
10958
7bb9f927 10959 * c-common.c: Add GTY to vector_type_node_list.
27bd7792 10960
a02aa5b0
JDA
109612002-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
9402f6fb
RS
110052002-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
9b5b7e3a
MM
110132002-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
df7a8989
DE
110192002-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
d2d199a3
KH
110262002-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
4977bab6
ZW
11031Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
11032
11033 * i386.md (negdf splitter): Fix construction of the constant.
11034
11035Tue 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
11054Tue 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
33c21f5c
HPN
110592002-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
d1445f8d
AB
110662002-10-28 Andreas Bauer <baueran@in.tum.de>
11067
11068 * doc/c-tree.texi (Tree overview): Fix typos.
11069
fc556cb9
PE
110702002-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
f8ca7923
JH
11075Tue 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
c95d07f8
JT
110922002-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.
272d0bee 11098 (__gthread_objc_thread_set_priority): Don't treat all nonzero
c95d07f8
JT
11099 returns from sched_get_priority_max and sched_get_priority_min
11100 as an error.
11101
3950794d
KH
111022002-10-29 Kazu Hirata <kazu@cs.umass.edu>
11103
11104 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
11105 MASK_QUICKCALL.
11106
803d56f5
KH
111072002-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
6bb8a3f7
KH
111172002-10-29 Kazu Hirata <kazu@cs.umass.edu>
11118
11119 * reload1.c (update_eliminables): Unconditionally check if
11120 frame_pointer_needed has changed.
11121
fc8dfa20
JH
11122Tue 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
6e7727eb
EB
111272002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
11128
a5163dcd 11129 PR optimization/8334
7bb9f927
ZW
11130 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
11131 check for zero operands explicitly.
6e7727eb 11132
02c6a17a
RS
111332002-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
1862869d
KH
111382002-10-29 Kazu Hirata <kazu@cs.umass.edu>
11139
11140 * config/h8300/h8300.h (MASK_*): New.
11141 (TARGET_*): Use MASK_*.
11142
4977bab6
ZW
111432002-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
ee3c755a
JT
111672002-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
423adbb9
KH
111742002-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
d7521977
HPN
111802002-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
3eae4643
KH
111852002-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
e591c83d
KH
111992002-10-27 Kazu Hirata <kazu@cs.umass.edu>
11200
11201 * reload1.c (reload): Fix a comment typo.
11202
a0ba837e
JH
11203Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
11204
11205 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
11206
cc0017a9
ZD
112072002-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
d7af42bc
KH
112212002-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
7e5037dc
HPN
112292002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
11230
4b32269b
HPN
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
7e5037dc
HPN
11239 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
11240 invalid for floating point mode result, with fix.
11241
4977bab6
ZW
11242Fri 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
94c1e0e8
MS
112482002-10-25 Mike Stump <mrs@apple.com>
11249
da89b956 11250 Fixes gcc.dg/warn-1.c.
4977bab6
ZW
11251 * c-typeck.c (warn_for_assignment): Don't print argument number,
11252 if zero.
94c1e0e8 11253
0fb53e68
JH
11254Sat 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
794186ca
SE
112602002-10-25 Steve Ellcey <sje@cup.hp.com>
11261
11262 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
11263
cd60b4b8
RH
112642002-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
f3763a44
ZW
112692002-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
8c40b097
UW
112782002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
11279
11280 * config/s390/s390.md: Remove old-style peepholes.
11281
522ec94e
UW
112822002-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
a7475ab1
HPN
112872002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
11288
85c87994
HPN
11289 PR other/3337
11290 PR bootstrap/6763
11291 PR bootstrap/8122
a7475ab1
HPN
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
7a360cce
IS
113002002-10-24 Igor Shevlyakov <igor@microunity.com>
11301
7bb9f927 11302 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7a360cce 11303
fcbe3b89
RH
113042002-10-24 Richard Henderson <rth@redhat.com>
11305
11306 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
11307
1a86c850
KH
113082002-10-24 Kazu Hirata <kazu@cs.umass.edu>
11309
11310 * config/h8300/h8300.c (initial_offset): Simplify by using
11311 round_frame_size.
11312
de7999ba
MM
113132002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
11314
11315 * doc/install.texi (avr): Update required binutils version.
11316
113172002-10-24 Theodore A. Roth <troth@openavr.org>
11318
11319 * doc/install.texi: Point avr users at more up-to-date information.
11320
84817c5d
UW
113212002-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
d0749053
DC
113262002-10-24 Denis Chertykov <denisc@overta.ru>
11327
11328 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
11329
37d0b254
SE
113302002-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
7af907e9
ZW
113352002-10-24 Zack Weinberg <zack@codesourcery.com>
11336
11337 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
11338
862a2d83
UW
113392002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
11340
7af907e9 11341 * config/s390/s390.h: Rework comments; re-sort target macro definitions
862a2d83
UW
11342 according to the sequence they are defined in the manual.
11343 (POINTER_BOUNDARY): Remove.
11344
489eda65
KH
113452002-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
2ba08201
KH
113502002-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
5f13cfc6
RH
113562002-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
3bd216f2
RH
113622002-10-24 Richard Henderson <rth@redhat.com>
11363
7af907e9
ZW
11364 PR opt/7944
11365 * reload.c (find_reloads_toplev): Mode of X is not important
3bd216f2
RH
11366 when simplifying subregs of constants.
11367
60bc2b4b
RS
113682002-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
5be5c8d4
RS
113762002-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
4977bab6
ZW
11381Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
11382
11383 * i386.md (abs splitters): Do not produce nested subregs.
11384
11385Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
11386
11387 * i386.md (movti_rex64): Fix constraints.
11388
11389Wed 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
196e1ae3
ZL
113952002-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
8bfb45f8
JJ
114032002-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
16448fd4
SE
114082002-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
e2358068
RH
114132002-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
8bcefb43
ZW
114182002-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
8e509cf9
UW
114332002-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.
8bcefb43 11444
8e509cf9
UW
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
34bb030a
DE
114582002-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
1ab9ba62
UW
114662002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
11467
8bcefb43 11468 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1ab9ba62
UW
11469 inlining it into other libgcc2 routines.
11470 (__udivmoddi4): Likewise.
11471
4b2ece8f
NN
114722002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
11473
11474 * doc/sourcebuild.texi (Test Suites): Improve.
11475
2d173d20
SS
114762002-10-22 Stan Shebs <shebs@apple.com>
11477
11478 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
11479 case for Darwin.
11480
43146684
JW
114812002-10-22 Jim Wilson <wilson@redhat.com>
11482
11483 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
11484
a00782ed
JH
11485Wed 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
3961e8fe
RH
114942002-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
8bcefb43 11535 * config/s390/s390.c (s390_output_mi_thunk): Rename from
3961e8fe
RH
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
0e67d460
JH
11545Wed 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
d5869ca0
UW
115532002-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
680dd104
JH
11561Tue 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
3aabf9a5
EC
115742002-10-22 Eric Christopher <echristo@redhat.com>
11575
11576 * config/sparc/sparc.h: Add #error.
11577
42c78618
UW
115782002-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
077084dd
JH
11585Tue 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
8fe734a3
NS
115982002-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
6a0a6ac4
AM
116042002-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
4977bab6
ZW
116132002-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
5e26e5a2
RH
116182002-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
f8eef883
UW
116302002-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
89e56fe5
KH
116352002-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
f02e1358
JH
11641Tue 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
de40e1df
DJ
116682002-10-21 Dale Johannesen <dalej@apple.com>
11669
8bcefb43 11670 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
de40e1df
DJ
11671 unsafe math reversals correctly for RTL generation.
11672 (output_cbranch): Replace rs6000_reverse_condition call
11673 by its former definition.
11674
75d38379
JJ
116752002-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
59798a0c
UW
117322002-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
97d05bfd
UW
117372002-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
5d4d885c
UW
117482002-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
3062825f
UW
117612002-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
2918c993
KH
117682002-10-21 Kazu Hirata <kazu@cs.umass.edu>
11769
11770 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
11771
4977bab6
ZW
117722002-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
c590b625
RH
117782002-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,
3aabf9a5 11796 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
c590b625
RH
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
16f7d029
MM
118062002-10-20 Mark Mitchell <mark@codesourcery.com>
11807
11808 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
11809
ab3146fd
ZD
118102002-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
e03b7153
RS
118182002-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
4977bab6
ZW
11841Sat 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
eb0424da 118802002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8bcefb43 11881 Mark Mitchell <mark@codesourcery.com>
eb0424da
MM
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.
3aabf9a5 11899
eb0424da
MM
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.
3aabf9a5 11923
433d5d04
BL
119242002-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
1194ca05
JH
11929Sun 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
3df5d99e
SP
119482002-10-19 Sebastian Pop <s.pop@laposte.net>
11949
11950 * dependence.c : Removed.
8bcefb43 11951 * Makefile.in : Remove dependence.o.
3df5d99e 11952
822eda12
JH
11953Sat 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
914a7297
DE
119702002-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
4a7510cb
ZW
119802002-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
99c57613
RH
119852002-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
483ab821
MM
119922002-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.
4a7510cb 12052
90e021a0
JT
120532002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
12054
4a7510cb
ZW
12055 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
12056 __enable_execute_stack function.
90e021a0
JT
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
5791cc29
JT
120652002-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
4977bab6
ZW
12073Thu 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
7b35bba3
RS
120782002-10-17 Roger Sayle <roger@eyesopen.com>
12079
12080 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
12081
b991a865
GK
120822002-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
fa870451
JJ
120912002-10-17 Janis Johnson <janis187@us.ibm.com>
12092
12093 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
12094
e31c2957
JT
120952002-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
48126a97
JH
12101Thu 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
2ffa9932
JH
12112Wed 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
ccc4bdea
JH
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
4db83639
RS
121372002-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
f9dd72da
AH
121442002-10-16 Aldy Hernandez <aldyh@redhat.com>
12145
12146 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
12147 SI.
12148
63a1ff86
UW
121492002-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
4a7510cb
ZW
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,
63a1ff86
UW
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
4a7510cb 12166 * config/s390/s390.c (s390_function_profiler): Use
63a1ff86
UW
12167 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
12168
4977bab6
ZW
121692002-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
da6eec72
RH
121752002-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,
4a7510cb 12184 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
da6eec72
RH
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,
4a7510cb 12187 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
da6eec72
RH
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
c15c18c5
JW
121922002-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
74f6d071
JH
12199Tue 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
a2ee89d8
RS
122032002-10-15 Richard Sandiford <rsandifo@redhat.com>
12204
12205 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
12206
aee4e0db
UW
122072002-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.
4a7510cb 12219 (s390_end_pool): Emit pool placeholder insn.
aee4e0db
UW
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 ...
4a7510cb 12231 (s390_chunkify_start, s390_chunkify_finish,
aee4e0db
UW
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
c034672a
R
12250Tue 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
b8db17af
JJ
122542002-10-15 Janis Johnson <janis187@us.ibm.com>
12255
12256 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
12257
2d34c587
UW
122582002-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
4977bab6
ZW
12264Mon 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
1877be45
JH
12269Mon 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,
4a7510cb 12281 sse_andti3,
1877be45 12282 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 12283 sse_andnti3,
1877be45 12284 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4a7510cb 12285 sse_orti3,
1877be45 12286 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4a7510cb 12287 sse_xorti3): Kill.
1877be45
JH
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
1877be45
JH
12297 PR c++/6419
12298 (expand_expr): Use DECL_RTL_SET_P.
12299
dbf4f1a2
RS
123002002-10-14 Roger Sayle <roger@eyesopen.com>
12301
12302 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
12303
4f770e7b
RS
123042002-10-14 Roger Sayle <roger@eyesopen.com>
12305 Zack Weinberg <zack@codesourcery.com>
12306
12307 * config/i386/i386.c (k6_cost): Correct typo.
12308
a3b88570
MM
123092002-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
f5204e6c
FH
123162002-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
40e6bc7e
AO
123262002-10-14 Alexandre Oliva <aoliva@redhat.com>
12327
12328 * config/mips/mips.c (print_operand): Increase buffer size for
12329 real numbers.
12330
f4e3e618
RH
123312002-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
3eb429b2
AH
123372002-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
34146b94
GS
123512002-10-14 Graham Stott <graham.stott@btinternet.com>
12352
12353 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
12354
3a840c93
AH
123552002-10-14 Aldy Hernandez <aldyh@redhat.com>
12356
12357 * stmt.c: Fix typo in comment.
12358
7457a126
R
12359Mon 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
0d1c5774
JJ
123672002-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
adadd183
RS
123722002-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
db36994b
RS
123802002-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
11e5489b
RH
123872002-10-13 Richard Henderson <rth@redhat.com>
12388
4977bab6
ZW
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
11e5489b
RH
12397 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
12398
4977bab6
ZW
123992002-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
4ca1256f
NB
124042002-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
cf860dc2
NS
124112002-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
4977bab6
ZW
124212002-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
124302002-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
5dd78e9a
GK
124522002-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
8eb32f94
JJ
124582002-10-11 Janis Johnson <janis187@us.ibm.com>
12459
12460 * doc/compat.texi: Add info about C++ libraries.
12461
e197b6fc
RH
124622002-10-11 Richard Henderson <rth@redhat.com>
12463
12464 PR opt/8165
12465 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
12466
a0bed689
JDA
124672002-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
db655634
JH
12475Fri 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.
1877be45 12482 * expr.c (do_tablejump): Note size of maximal jumptable.
db655634
JH
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
750afc12
R
12488Fri 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
0488fa7c
JR
12493Fri 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
4977bab6
ZW
124982002-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
125052002-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
12511Thu 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
349e9f4b
AH
125152002-10-10 Aldy Hernandez <aldyh@redhat.com>
12516
12517 * extend.texi (Vector Extensions): Remove comment about single
12518 element vectors.
12519
7bdfd72e
KG
125202002-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
46081bb3
SH
125262002-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
9785f1d9
JJ
125362002-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
b6878188
DC
125412002-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
f930bfd0
JW
125482002-10-10 Jim Wilson <wilson@redhat.com>
12549
12550 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
12551 UDIV.
12552
5f5d5417
DE
125532002-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
7eafc329
JH
12560Thu 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
b105d6da
JH
12566Thu 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
5febdf0d
NB
125712002-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
7db40b5f
RH
125792002-10-06 Richard Henderson <rth@redhat.com>
12580
12581 * toplev.c (rest_of_compilation): Revert opt/2960 change.
12582
4977bab6
ZW
12583Wed 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
95f79357
ZW
125902002-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
44a5565d
KG
126032002-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
a2419b96
DE
126082002-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
fb7e6024
KG
126182002-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
36f7e964
AH
126272002-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
e3c62520
R
12632Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
12633
12634 * sh.md (ffssi2): Fix emitted code.
12635
a3745024
UW
126362002-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
5cc67323
NB
126412002-10-09 Neil Booth <neil@daikokuya.co.uk>
12642
12643 * cppmacro.c (paste_tokens): Only allow / to paste with =.
12644
f5264b52
DE
126452002-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
cef1c1ba
AM
126532002-10-09 Alan Modra <amodra@bigpond.net.au>
12654
12655 * libgcc2.c (__floatdisf): Properly cure double rounding.
12656
8d15eebc
GDR
126572002-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
87ec8de9
GDR
126622002-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
4977bab6
ZW
126682002-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
12674Tue 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
fb7d9c35
JJ
126952002-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
11f3e4c7
RS
127032002-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
bf52f899
NS
127092002-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
36624850
ZW
127202002-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
218145d6
NC
127302002-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
bb02f6ed
UW
127362002-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
4fdbcfb2
JH
12741Tue 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
e80f2609
RS
127452002-10-08 Richard Sandiford <rsandifo@redhat.com>
12746
12747 * config/mips/mips.md (define_attr cpu): Add r4111.
12748
36624850 127492002-10-08 Anthony Green <green@redhat.com>
4213a3b6 12750
36624850 12751 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4213a3b6 12752
25009e02
MH
127532002-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
4977bab6
ZW
127582002-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
fcce224d
DE
127722002-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
dad482e6 127872002-10-07 Dale Johannesen <dalej@apple.com>
fcce224d 12788
dad482e6
DJ
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
de3beb7c
RH
127942002-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
87cb2a87
RH
128002002-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
5ef38d2a
RH
128102002-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
4977bab6
ZW
128152002-10-06 Andreas Bauer <baueran@in.tum.de>
12816
12817 * calls.c (expand_call): Fix function-is-volatile check.
12818
e7f9979a
NS
128192002-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.
36624850 12825 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
e7f9979a
NS
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
36624850 12834 with the indication of Paul Koning.
e7f9979a
NS
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
a9b6f1e7 128512002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
36624850 12852 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4ef7870a
EB
12853
12854 PR c/7411
12855 * expr.c (expand_expr) [PLUS]: Simplify after the operands
12856 have been expanded in EXPAND_NORMAL mode.
12857
a2900460
RH
128582002-10-06 Richard Henderson <rth@redhat.com>
12859
12860 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
12861
ff025ab9
RH
128622002-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
48b80d93
AO
128682002-10-06 Alexandre Oliva <aoliva@redhat.com>
12869
12870 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
12871 previously definitions.
12872
7c7c549e
FCE
128732002-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
4977bab6
ZW
12878Sat 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
c49d2df6
JJ
128842002-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
4977bab6
ZW
128972002-10-04 Zack Weinberg <zack@codesourcery.com>
12898
12899 * gcc.c (process_command): Set .validated for -pipe. Correct
12900 grammar in comment.
12901
d758c1db
BK
129022002-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
b3dc87c5
JH
12908Sat 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
f7a21c70
DE
129122002-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
081d6fb9
LR
129172002-10-04 Loren J. Rittle <ljrittle@acm.org>
12918
12919 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
12920
c5d3d49b
SE
129212002-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
0fca111b
SE
129272002-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
229b303a
RS
129332002-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
481ed21a
KG
129462002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12947
6017ba03
KG
12948 * mips.c (mips_const_double_ok): Delete unused variable.
12949
481ed21a
KG
12950 * gengtype.c (rtx_next): Change type to int.
12951
635f4680
AJ
129522002-10-04 Andreas Jaeger <aj@suse.de>
12953
12954 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
12955
ee6ff319
RH
129562002-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
4977bab6
ZW
129672002-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
6d8dd940
AJ
129722002-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
191fe2bb
JT
129782002-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
6397d80b
MM
129892002-10-03 Mark Mitchell <mark@codesourcery.com>
12990
12991 * doc/invoke.texi (-Wabi): Document mangling bug.
12992
69c75916
AM
129932002-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
adf2ac37
RH
130002002-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
a7519393
RH
130092002-10-03 Richard Henderson <rth@redhat.com>
13010
13011 * real.h (struct real_value): Use ENUM_BITFIELD.
13012
41552736
RH
130132002-10-03 Richard Henderson <rth@redhat.com>
13014
13015 * config/i960/i960.md (call, call_value): Use emit_call_insn.
13016
882affa8
SE
130172002-10-03 Steve Ellcey <sje@cup.hp.com>
13018
13019 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
13020
83eb95f9
SE
130212002-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.
6d8dd940 13026 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
83eb95f9
SE
13027 on gnu-ld and MASK_GNU_LD.
13028 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
13029
b72b1c29
JH
13030Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
13031
13032 * i386.c (athlon_cost): Fix the move costs.
13033
92b7a2a5
JH
13034Thu 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
429489e5
JJ
130402002-10-03 Jakub Jelinek <jakub@redhat.com>
13041
13042 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
13043
5bbcd587
JJ
130442002-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
272d0bee 13052 subdirs if nonzero.
5bbcd587
JJ
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
c07f146f
JH
13100Thu 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
4c9c9a3d
JH
13104Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
13105
13106 * i386.md (lea to mul peep2): Fix condition.
6d8dd940 13107
f50df1d5
JDA
131082002-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
4977bab6
ZW
131132002-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
131382002-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
d631b80a
RH
131462002-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
854ef390
NN
131522002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
13153
13154 * doc/vms.texi: Blow away false include file section.
13155
f963b5d9
RS
131562002-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
200bcf7e
JH
13170Wed 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
88d0be17
DM
131752002-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
4977bab6
ZW
131812002-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
f10aac29
RS
132262002-10-01 Roger Sayle <roger@eyesopen.com>
13227
13228 * unroll.c (loop_iterations): Revert 2002-09-08 change.
13229
69bd00e6
RH
132302002-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
3b5742ab
JT
132372002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
13238
13239 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
13240
fd1e5d25
RH
132412002-10-01 Richard Henderson <rth@redhat.com>
13242
13243 * calls.c (precompute_register_parameters): Force non-legitimate
13244 constants into pseudos.
13245
78872ad9
NC
132462002-10-01 Nick Clifton <nickc@redhat.com>
13247
13248 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
13249 to assembler template.
13250
3c655f42
RH
132512002-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
ec20cffb 132562002-10-01 Matt Thomas <matt@3am-software.com>
ee6ff319 13257 Jason Thorpe <thorpej@wasabisystems.com>
ec20cffb
JT
13258
13259 * config.gcc (vax-*-netbsdelf*): Enable configuration.
6d8dd940 13260 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
ec20cffb
JT
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
132852002-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
73a73768
NS
132912002-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
0645ba8f
MM
132972002-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.
6d8dd940 13302
f7e466a3
NS
133032002-10-01 Nathan Sidwell <nathan@codesourcery.com>
13304
73a73768 13305 PR other/8077
f7e466a3
NS
13306 * gcc.c (cc1_options): Add space on -auxbase-strip.
13307
bc9ec51b
JW
133082002-10-01 Jim Wilson <wilson@redhat.com>
13309
13310 * config/v850/v850.h (EPILOGUE_USES): Define.
13311
a646f6cc
AH
133122002-09-30 Andrew Haley <aph@redhat.com>
13313
6d8dd940 13314 * flow.c (insn_dead_p): When using non-call-exceptions, don't
a646f6cc
AH
13315 eliminate insns that may trap.
13316 * cse.c (insn_live_p): Likewise.
13317
3f7967e3
RS
133182002-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
41f9efba
RS
133252002-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
366356d3
RS
133332002-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
8ab907e8
RS
133402002-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
d12b8c85
RS
133472002-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
4977bab6
ZW
133602002-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
7e765675
UW
133682002-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
89f6025d
BW
133772002-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):
ee6ff319 13382 Call xtensa_preferred_reload_class for both input and output reloads.
89f6025d
BW
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
7830ba7b
JDA
133892002-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
344b78b8
JH
13396Mon 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
17bbb839
MM
134052002-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.
92e89ef0 13410
48ddd46c
JH
13411Mon 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
b93a0fe6
RE
134192002-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
4977bab6
ZW
134262002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13427
13428 * openbsd.h: Fix typo in last change.
13429
98ee7e6c
RH
134302002-09-29 Richard Henderson <rth@redhat.com>
13431
13432 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
13433
ccf7aef4
RH
134342002-09-29 Richard Henderson <rth@redhat.com>
13435
b5371c18 13436 PR c/8002
ccf7aef4
RH
13437 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
13438 for CONST_INT.
13439
d454e75a
DE
134402002-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
89b06540
KG
134462002-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
6ca6193b
JDA
134522002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
13453
13454 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
13455
991b6592
KH
134562002-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
43aa4e05
KH
134872002-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
13e8651c
TR
135122002-09-26 Theodore A. Roth <troth@verinet.com>
13513
92e89ef0
ZW
13514 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
13515 * config/avr/avr.md: Ditto.
13e8651c 13516
57147be1
ZW
135172002-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
5d0f3df7
RH
135242002-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
3dfda826
RH
135302002-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
23b8ba81
RH
135362002-09-27 Richard Henderson <rth@redhat.com>
13537
13538 * emit-rtl.c (active_insn_p): Revert last change.
13539
dce81a1a
JJ
135402002-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
0e9e1e0a
KH
135562002-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
b9b575e6
KH
135832002-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
4977bab6
ZW
135902002-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
135962002-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
136012002-09-26 Torbjorn Granlund <tege@swox.com>
13602
13603 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
13604 arithmetic.
13605
99a32567
DM
136062002-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
67cef334
DE
136122002-09-26 David Edelsohn <edelsohn@gnu.org>
13613
13614 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
13615 text_section.
57147be1 13616 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
67cef334
DE
13617 text section.
13618 * config/rs6000/rs6000.c (rs6000_override_options): Allow
13619 function-sections and data-sections functionality on AIX.
13620
136212002-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
c2310f51
RH
136272002-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
7847d627
RH
136332002-09-26 Richard Henderson <rth@redhat.com>
13634
13635 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
13636
cde0ce6e
CL
136372002-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
03a62672
RH
136422002-09-26 Richard Henderson <rth@redhat.com>
13643
5fd452e8 13644 PR opt/7520
03a62672
RH
13645 * emit-rtl.c (active_insn_p): Consider a clobber of the
13646 function return value to be active even after reload.
13647
b5a77fef
AM
136482002-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
40f03658
KH
136532002-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
ee8a73d6
SE
136782002-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
2eb2bbdc
EC
136832002-09-24 Eric Christopher <echristo@redhat.com>
13684
57147be1
ZW
13685 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
13686 * config/mips/elf64.h: Ditto.
2eb2bbdc 13687
0ab38418
EC
136882002-09-24 Eric Christopher <echristo@redhat.com>
13689
57147be1 13690 * except.c (expand_builtin_extract_return_address): Handle case
0ab38418
EC
13691 where Pmode != ptr_mode.
13692
68bb91b1
SE
136932002-09-26 Steve Ellcey <sje@cup.hp.com>
13694
13695 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
13696
5429802d
SE
136972002-09-26 Steve Ellcey <sje@cup.hp.com>
13698
13699 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
13700
855c3a2e
IS
137012002-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
2d556baf
JJ
137062002-09-26 Janis Johnson <janis187@us.ibm.com>
13707
13708 * Makefile.in (qmtest-g++): Fix file path.
13709
1717e19e
UW
137102002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
13711
0ab38418 13712 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
1717e19e
UW
13713 A + (-const) on RTX level, even for unsigned types.
13714
6cabe79e
UW
137152002-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
0855247a
MB
137212002-09-26 Miles Bader <miles@gnu.org>
13722
13723 * v850.md ("length"): Change default value to 4.
13724
6335b0aa
KH
137252002-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
09818236
NC
137352002-09-26 Nick Clifton <nickc@redhat.com>
13736
13737 * config.gcc: Add x prefix to v850e case for handling
13738 --with-cpu=v850e.
13739
4977bab6
ZW
137402002-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
8a3996fd
DM
137552002-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
8580f7a0
RH
137612002-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
956d9305
MM
137662002-09-25 Mark Mitchell <mark@codesourcery.com>
13767
13768 * doc/invoke.texi: Add more -Wabi examples.
13769
3ccbe819
RS
137702002-09-25 Richard Sandiford <rsandifo@redhat.com>
13771
13772 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
13773
4977bab6
ZW
137742002-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
2106e42a
DC
137792002-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
58e60158
AN
137842002-09-24 Adam Nemet <anemet@lnxw.com>
13785
57147be1
ZW
13786 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
13787 epilogue for naked functions.
58e60158 13788
59be6073 137892002-09-24 Adam Nemet <anemet@lnxw.com>
57147be1 13790 Nick Clifton <nickc@redhat.com>
59be6073
AN
13791
13792 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
13793 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
13794 is defined.
13795
100c7420
UW
137962002-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
9fc63af5
KG
138052002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13806
13807 * real.h (real_value): Make `exp' explicitly signed.
13808
43a88a8c
KH
138092002-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
4977bab6
ZW
138512002-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
138742002-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
b4f94ac1
ZW
138832002-09-23 Zack Weinberg <zack@codesourcery.com>
13884
13885 * version.c (version_string): Now const char[].
13886 * version.h: Update to match.
13887
9ef1b13a
RH
138882002-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
ca9d6748 138962002-09-23 Dale Johannesen <dalej@apple.com>
9ef1b13a 13897
ca9d6748
DJ
13898 * dbxout.c (dbxout_parms): Set current_sym_code for params
13899 passed on stack by invisible reference.
13900
97d48e5a
RE
139012002-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
46c83bce
MM
139062002-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
acb5d088
HPN
139112002-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
ddf0fc72
RH
139222002-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
a520ff95
RH
139332002-09-23 Richard Henderson <rth@redhat.com>
13934
13935 * real.c (do_multiply): Normalize U before addition.
13936
2d3e278d
MM
139372002-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.
b4f94ac1 13945
4977bab6
ZW
139462002-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
173b51b5
JT
139532002-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
c219e1da
JDA
139582002-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
65a824f6
JT
139832002-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
cc2902df
KH
139882002-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
ef49d42e
JH
14029Tue 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
14033Tue 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
da7d8304
KH
140382002-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
330cc6c7
RE
140752002-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
5b437e0f
RE
140832002-09-21 Richard Earnshaw <rearnsha@arm.com>
14084
9ee4fa29
RE
14085 PR opt/7930
14086 * cse.c (fold_rtx): Calculate old_cost before we fold each
5b437e0f
RE
14087 operand.
14088
2a15d344
RH
140892002-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
3fdacdf9
RH
140982002-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
3dc85dfb
RH
141032002-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,
b4f94ac1 14111 ieee_quad_format, i370_single_format, i370_double_format,
3dc85dfb
RH
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
b4f94ac1 14153 for Motorola 96-bit extended.
3dc85dfb
RH
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
42a6388c
AM
141592002-09-21 Alan Modra <amodra@bigpond.net.au>
14160
84d7dd4a
AM
14161 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
14162 #if TARGET_MACHO.
14163
42a6388c
AM
14164 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
14165 insns. Supply missing clobber of scratch reg.
14166
a0ab749a
KH
141672002-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
2f0da74c
JW
141932002-09-20 Jim Wilson <wilson@redhat.com>
14194
14195 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
14196
dea73790
JJ
141972002-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
a9b2f059
JW
142072002-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
1f7422bd
RH
142122002-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):
6d8dd940 14221 Don't allow arbitrary constants; fix predicates and C constraint.
1f7422bd 14222
56941bf2
NB
142232002-09-20 Neil Booth <neil@daikokuya.co.uk>
14224
14225 * cppmacro.c: Don't warn about function-like macros without
27eba309 14226 '(' during pre-expansion.
56941bf2 14227
66a0dfeb
JW
142282002-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
97b23853
GK
142382002-09-20 Geoffrey Keating <geoffk@apple.com>
14239
f51eee6a
GK
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
97b23853
GK
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
46b33600
RH
142532002-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
40ad65d0
SE
142772002-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
600f3392
JJ
142852002-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
c1ff6200
JD
142902002-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
60b78700
RH
142952002-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
0ee6fdb5
RH
143032002-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
66d93b5a
RH
143222002-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
6ee3db61
HPN
143322002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
14333
14334 * config/mmix/mmix.md ("negdf2"): Rewrite.
14335 ("*expanded_negdf2"): New.
14336
ff076520
JW
143372002-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
307f767b
DJ
143422002-09-19 Dale Johannesen <dalej@apple.com>
14343 * combine.c (make_extraction): Don't create
14344 invalid subreg.
14345
4977bab6
ZW
143462002-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
143592002-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
cc7ab9b7
UW
143932002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
14394
b4f94ac1 14395 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
cc7ab9b7
UW
14396 and STRICT_LOW_PART within SET_DEST.
14397 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
14398 splitters, replacing pre-reload splitters.
b4f94ac1 14399 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
cc7ab9b7
UW
14400 "*zero_extendqihi2_31"): New insns.
14401 ("*zero_extendqihi2_64"): Do not clobber CC.
14402
4977bab6
ZW
144032002-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
b64ddb88
SE
144192002-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
9cd10576
KH
144302002-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
fff08fd8
SC
144542002-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
bf3d27e6
RH
144592002-09-18 Richard Henderson <rth@redhat.com>
14460
14461 * ifcvt.c (noce_process_if_block): Correctly detect X modified
b4f94ac1 14462 with INSN_B before COND_EARLIEST. Don't check A and B for
bf3d27e6
RH
14463 modification in condition range. Reorder INSN_B for A==B properly.
14464 (if_convert): Iterate until no matches for a block.
14465
1b1f20ca
RH
144662002-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
724838b9
RH
144712002-09-18 Richard Henderson <rth@redhat.com>
14472
14473 * toplev.c (backend_init): Move init_real_once invocation ...
14474 (do_compile): ... here.
14475
2c67b7c6
RH
144762002-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
15769ca3
RH
144812002-09-18 Richard Henderson <rth@redhat.com>
14482
14483 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
14484
678b7733
AM
144852002-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
c402b6bf
RH
144922002-09-18 Richard Henderson <rth@redhat.com>
14493
b4f94ac1 14494 * real.c (sticky_rshift_significand): Collect sticky as
c402b6bf
RH
14495 unsigned long, not bool.
14496
dea09b1b
UW
144972002-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
e4850f36
DR
145042002-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.
4977bab6 14516 (pragma pack): Add paragraph on MSVC bitfield packing.
e4850f36 14517
872e50d3
RE
145182002-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
5e7a8ee0
KH
145242002-09-18 Kazu Hirata <kazu@cs.umass.edu>
14525
9cd10576 14526 * config/s390/s390.c: Follow spelling conventions.
5e7a8ee0
KH
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
00a892b8
NC
145402002-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
4977bab6
ZW
145462002-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
bfb53001
ZW
145572002-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
825dda42
KH
145622002-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
8e16ab99 145792002-09-17 Samuel Figueroa <figueroa@apple.com>
825dda42 14580
8e16ab99
SF
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
ac19be7e 145852002-09-17 Dale Johannesen <dalej@apple.com>
825dda42 14586
ac19be7e
DJ
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
f1acdf8b
NC
145912002-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
24491a09
KH
145972002-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
e6c247e0
SE
146032002-09-17 Steve Ellcey <sje@cup.hp.com>
14604
b4f94ac1 14605 * config/ia64/elf.h: Remove CPP_PREDEFINES.
e6c247e0 14606
1074d9d4
NP
14607Tue 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
256e9fd2
NC
146172002-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
838c4534
NP
14628Tue 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.
b4f94ac1 14633
07532fad
RS
146342002-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
4977bab6
ZW
146392002-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
146472002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14648
14649 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
14650 (ASM_PN_FORMAT): Define.
14651
146522002-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
cb38fd88
RH
146692002-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
bd055118
RH
146742002-09-16 Richard Henderson <rth@redhat.com>
14675
14676 PR fortran/3924
b4f94ac1 14677 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
bd055118 14678
8c317c5f
RH
146792002-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
3780101d
JG
146842002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
14685
b4f94ac1
ZW
14686 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
14687 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
3780101d 14688 winchip2 and c3.
b4f94ac1 14689 * doc/invoke.texi: Mention new aliases.
3780101d 14690
9dff28ab
JDA
146912002-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
94313f35
RH
147212002-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
1472e41c
RH
147282002-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
f354b828
JM
147412002-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
85341ddd
NS
147482002-09-16 Nathan Sidwell <nathan@codesourcery.com>
14749
14750 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
14751
045572c7
GK
147522002-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
d57551c7
KH
147592002-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
36a5eadd
GK
147652002-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
a7f6d760
HPN
148522002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
14853
14854 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
14855
245ff137
KG
148562002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14857
7c3414b6
KG
14858 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
14859
245ff137
KG
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
ac520ec9
RH
148672002-09-16 Richard Henderson <rth@redhat.com>
14868
14869 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
14870
efdc7e19
RH
148712002-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
a41c6c53
UW
149022002-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.
b4f94ac1 14916 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
a41c6c53
UW
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
8d9afc4e
KH
149372002-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
4977bab6
ZW
149642002-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
981f6289
KH
149692002-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
8764eef7
KG
150002002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15001
bb6155b5
KG
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
8764eef7
KG
15010 * v850-protos.h (v850_output_addr_const_extra): Prototype.
15011
a24f7c1a
JT
150122002-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
bd25febf
KG
150202002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15021
15022 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
15023
05713b80
KH
150242002-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
b0c2b2f9
JT
150642002-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
a0494c05
JT
150692002-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
56149abc
KH
150742002-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
4977bab6
ZW
150962002-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
3eaf7a3c
MM
151132002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
15114
15115 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
15116
4912a07c
KH
151172002-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
3dc60fc7
KH
151492002-09-14 Kazu Hirata <kazu@cs.umass.edu>
15150
15151 * loop.c: Fix a comment typo.
15152
a920aefe
KH
151532002-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
88cad84b
KH
151612002-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
f197f1cf
SC
151802002-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
b629ba0c
AM
151882002-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
2e485129
TR
151952002-09-10 Theodore A. Roth <troth@verinet.com>
15196
15197 * gcc/config/avr/avr.h: Set default options for C++ for avr.
15198
4977bab6
ZW
151992002-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
907aee69
RH
152062002-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
374b0b7d
AM
152112002-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
690eed2c
NS
152172002-09-13 Nathan Sidwell <nathan@codesourcery.com>
15218
15219 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
15220
32b4f6f4
SE
152212002-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
3db11b5c
KH
152282002-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
b6894857
KH
152362002-09-13 Kazu Hirata <kazu@cs.umass.edu>
15237
15238 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
15239
d5909a79
RH
152402002-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
e0073fa8
AJ
152502002-09-13 Andreas Jaeger <aj@suse.de>
15251
15252 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
15253
1f298625
SE
152542002-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
1a7e1470
SE
152602002-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
d56c04ce
DD
152682002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
15269
15270 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
8d9afc4e
KH
15271 for H8/300, H8S aa:8 mode.
15272 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
d56c04ce
DD
15273 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
15274 for H8/300 aa:8 mode.
15275
4456530d
HP
152762002-09-13 Hartmut Penner <hpenner@de.ibm.com>
15277
15278 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
15279 insns.
15280
4d2d910c
RH
152812002-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
7606e68f
SS
152892002-09-12 Stan Shebs <shebs@apple.com>
15290
6ab9a3f4
SS
15291 * config/darwin.h (USER_LABEL_PREFIX): Define here...
15292 * config/i386/darwin.h: ... instead of here.
15293
7606e68f
SS
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
20b71b17
AM
153182002-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
d48fd218
ZW
153242002-09-12 Zack Weinberg <zack@codesourcery.com>
15325
15326 * toplev.c: Move default definition of USER_LABEL_PREFIX...
15327 * defaults.h: ... here.
15328
92bc3c1a
RH
153292002-09-12 Richard Henderson <rth@redhat.com>
15330
15331 * vax.c: Include tree.h earlier.
15332
3f64e543
SS
153332002-09-12 Stan Shebs <shebs@apple.com>
15334
15335 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
15336 (machopic_operand_p): Ditto.
15337
52bd31bb
KH
153382002-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
387c9294
KH
153432002-09-12 Kazu Hirata <kazu@cs.umass.edu>
15344
15345 * toplev.c (do_abort): Fix a comment typo.
15346
e34bb004
KH
153472002-09-12 Kazu Hirata <kazu@cs.umass.edu>
15348
15349 * cselib.c: Fix comment formatting.
15350 * gengtype.c: Likewise.
15351
d0029ebd
KH
153522002-09-12 Kazu Hirata <kazu@cs.umass.edu>
15353
15354 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
15355 (udivmodhi4): Likewise.
15356
c3c637e3 153572002-09-12 Graham Stott <graham.stott@btinternet.com>
d48fd218 15358 Roger Sayle <roger@eyesopen.com>
c3c637e3
GS
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
db4c55f6
JM
153792002-09-12 Jason Merrill <jason@redhat.com>
15380
236a2ac8
JM
15381 * diagnostic.c (output_add_identifier): New fn.
15382 * diagnostic.h: Declare it.
15383
db4c55f6
JM
15384 * calls.c (store_one_arg): Use size_in_bytes to determine the
15385 amount of space to push.
15386
13c0bc20
JJ
153872002-09-12 Jakub Jelinek <jakub@redhat.com>
15388
15389 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
15390
0a3bdf9d
UW
153912002-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
4977bab6
ZW
154052002-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
154192002-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
4f968d93
HP
154692002-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
35aff10b
AM
154742002-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
a9b6f1e7 154832002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
d48fd218 15484
874f6a6d
EB
15485 * optabs.c (expand_binop): Minor cleanup.
15486 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
15487
d1df930b
DN
154882002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
15489
15490 * print-tree.c (print_node): Print the restrict qualifier.
15491
9026a957
JJ
154922002-09-11 Janis Johnson <janis187@us.ibm.com>
15493
15494 * doc/install.texi: Fix typos.
15495
3fd9d606
ZW
154962002-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
5b5198f7
DE
155022002-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
77de9af2
JDA
155122002-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
33b679d1
UW
155172002-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
bfae8040
DC
155242002-09-10 Denis Chertykov <denisc@overta.ru>
15525
15526 * config/avr/avr.md (movstrhi): Use right operands for conversion.
15527
7730c3ff
RE
155282002-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
5add3202
DE
155332002-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
4977bab6
ZW
155472002-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
90389422
PB
155532002-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
686f3bf0
SE
155582002-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
0c263f4e
JDA
155712002-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
e2a6476e
DE
155762002-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
b73b1546
JJ
155812002-09-09 Janis Johnson <janis187@us.ibm.com>
15582
15583 * doc/extend.texi (Statement Exprs): Fix broken link.
15584
a9738643
DC
155852002-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
05b9aaaa
UW
155902002-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
7ec70495
JH
156052002-09-09 Jan Hubicka <jh@suse.cz>
15606
15607 * i386.c (index_register_operand): New.
15608 * i386.h (predicate_codes): Add new predicate.
8e746279 15609 * i386.md (lea_general_*): Use index_register_operand
7ec70495
JH
15610 (ashift to lea splitter): Do not produce invalid leas
15611 (ashift to mov+ashift split): New.
15612
b2fc915b
NC
156132002-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
0b0ad147 156182002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
d48fd218 15619 J"orn Rennecke <joern.rennecke@superh.com>
0b0ad147
TM
15620
15621 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
15622
2bcc50d0
AM
156232002-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
4977bab6
ZW
156292002-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
c1b4f089
KG
156572002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15658
15659 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
15660
b9203463
RH
156612002-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
7df98878
RS
156802002-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
f40f4c8e
RS
156882002-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
e2f97e26
KW
156972002-09-08 Krister Walfridsson <cato@df.lth.se>
15698
15699 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
15700 (CLEAR_INSN_CACHE): Define.
15701
4b7e68e7
KH
157022002-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
2567406a
JH
157292002-09-08 Jan Hubicka <jh@suse.cz>
15730
15731 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
15732 handling.
15733
a36fc5f8 15734 * loop.c (loop_givs_reduce): Emit addition after.
2567406a 15735
bd79540a
AM
157362002-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
32ff9c74
AM
157442002-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
6588987e
KH
157492002-09-08 Kazu Hirata <kazu@cs.umass.edu>
15750
15751 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
15752 (anonymous pattern): Likewise.
15753
4977bab6
ZW
157542002-09-07 Igor Shevlyakov <igor@microunity.com>
15755
15756 * machmode.def: Add modes for half-float vectors.
15757
0100732e
SS
157582002-09-07 Scott Snyder <snyder@fnal.gov>
15759
15760 PR target/7374
15761 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
15762
77043c7c
RS
157632002-09-07 Roger Sayle <roger@eyesopen.com>
15764
15765 * basic-block.h (struct loop): Remove unused cont_dominator field.
15766
5dd78220
IS
157672002-09-07 Igor Shevlyakov <igor@microunity.com>
15768
d48fd218 15769 * varasm.c (decode_rtx_const): Don't check undefined field for
5dd78220
IS
15770 CONST_VECTOR.
15771
b96a3fa3
GN
157722002-09-07 Glen Nakamura <glen@imodulo.com>
15773
7fa86a10 15774 PR opt/7814
b96a3fa3
GN
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
ad9df12f 157792002-09-07 Igor Shevlyakov <igor@microunity.com>
2567406a 15780
ad9df12f
IS
15781 * combine.c (simplify_shift_const): Calculate rotate count
15782 correctly for vector operands.
15783
54c93c30
AE
157842002-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
2567406a 15788 tree_expr_nonnegative_p.
54c93c30
AE
15789 (build_conditional_expr): Likewise.
15790 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
15791
36eea25f
RH
157922002-09-07 Richard Henderson <rth@redhat.com>
15793
3aa4cad7
RH
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
36eea25f
RH
15798 * real.c (ereal_inf): Clear E before use.
15799
5c102b48
KH
158002002-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
8bd06267
KH
158072002-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
39587bb9
ZD
158132002-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
34146b94 158182002-09-07 Graham Stott <graham.stott@btinternet.com>
92d9256d
GS
15819
15820 * rtlanal.c (dead_or_set_regno_p): Fix typo.
15821
93638d7a
AM
158222002-09-07 Alan Modra <amodra@bigpond.net.au>
15823
fea76d82
AM
15824 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
15825
93638d7a
AM
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
370ce32a
ZL
158352002-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
942579db
JL
15845Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
15846
54c93c30 15847 * pentium.md (pentium-firstvboth): Fix typo.
942579db 15848
c4dfc70c
DD
158492002-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
5873a4c1
NP
15859Fri 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
e30d4c82
NP
15870Fri 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.
22d4398d 15876 (finish_objc): Fixed the -gen-decls option. It was printing out
e30d4c82
NP
15877 only the last class. Dump an interface declaration of all classes
15878 being compiled instead.
15879
fcd53748
JT
158802002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
15881
2567406a
JH
15882 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
15883 prototype.
fcd53748
JT
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
96fd3851
UW
158912002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
15892
2567406a 15893 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
96fd3851 15894 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2567406a 15895 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
96fd3851
UW
15896 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
15897 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2567406a 15898 "adddf3", "*adddf3", "*adddf3_ibm",
96fd3851
UW
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
22252625
JJ
159112002-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
bc401279
AM
159172002-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
b3fbfc07
KG
159222002-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
41e34bab
DJ
159312002-09-05 Dale Johannesen <dalej@apple.com>
15932
15933 * reload1.c (reload): Retain only those memory clobbers
15934 added for variable-array handling.
15935
dc0ba55a
JT
159362002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
15937
15938 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2567406a 15939 return-in-memory rules.
dc0ba55a
JT
15940 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
15941
dd19d142
DE
159422002-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
3717da94
JT
159472002-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
2567406a 15952 prototype.
3717da94 15953 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4 15954 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2567406a
JH
15955 if TARGET_VFP and not TARGET_HARD_FLOAT.
15956 (ARM_FLAG_VFP, TARGET_VFP): Define.
3717da94
JT
15957 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
15958
225cee28
DE
159592002-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
c72bfda7
SS
159642002-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
3578cf63
R
15969Thu 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
7974fe63
UW
159742002-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
2567406a 15980 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7974fe63
UW
15981 "*cli"): Replace s_operand by memory_operand.
15982 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
15983
f8cb5851
KH
159842002-09-05 Kazu Hirata <kazu@cs.umass.edu>
15985
15986 * config/h8300/h8300.c (asm_file_start): Add a missing
15987 semicolon.
15988
4977bab6
ZW
159892002-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
160082002-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
5fc0e5df
KW
160152002-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
f4b488fd
KG
160232002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16024
16025 * frv.c (frv_encode_section_info): Fix error in last change.
16026
0e5dbd9b
DE
160272002-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
f57f9cb8
DJ
160442002-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
ed6cc1f5
R
16049Thu 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
ab5e2615
RH
160552002-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
9beb7d20
RH
160672002-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
29984e05
EB
160722002-09-04 Eric Botcazou <ebotcazou@multimania.com>
16073
16074 PR c/7102
16075 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
16076
8d46398e
JDA
160772002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16078
16079 * pa.md (setccfp0, setccfp1): New patterns.
16080
14966b94
KG
160812002-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
c8bf1a1a
KG
160912002-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
0484cb35
JJ
161032002-09-04 Janis Johnson <janis187@us.ibm.com>
16104
16105 * doc/trouble.texi (Interoperation): Update information about C++ ABI
16106 issues.
16107
3e62bd08
JT
161082002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
16109
16110 * config/sparc/t-netbsd64: Disable multilib for now.
16111
275b6d80
DE
161122002-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
015b1ad1
JDA
161232002-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
b10f2187
R
16134Wed 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
478c9e72
JJ
161392002-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
77e8a0cc
RH
161512002-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
a9c60612
JJ
161562002-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
4b67a274
RH
161632002-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.
2567406a 16181 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
4b67a274
RH
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
01abf342
BW
161932002-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
cd42d3df
RH
161992002-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
502e6d5a
R
16204Wed 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
4977bab6
ZW
162082002-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
2cc9fb4c
DE
162272002-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
7c19f816
JJ
162402002-09-03 Janis Johnson <janis187@us.ibm.com>
16241
8c085f6f
JJ
16242 * doc/install.texi: Fix typos, formatting problems, and obvious
16243 overfull/underfull boxes.
16244
7c19f816
JJ
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
79ba5e3b
NB
162502002-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
57016b47
SE
162582002-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
d57a4b98
RH
162742002-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
527347f0
SS
163012002-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
34c1864f
SE
163082002-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
9b7c75b9
UW
163222002-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.
2567406a
JH
16327
16328 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
9b7c75b9
UW
16329 "*movsf_ss"): Remove.
16330
710ba35f
JDA
163312002-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
ff970081
AD
163362002-09-03 Arati Dikey <aratid@kpit.com>
16337
16338 * h8300.c (asm_file_start): Corrected optimization comment.
16339
b50d021d
SS
163402002-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
b808c04c
UW
163462002-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
ee453219
NP
16359Tue 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
2567406a
JH
16363 was causing the new selector never to match the existing ones
16364 (Patch by Alexander Malmberg <alexander@malmberg.org>).
ee453219 16365
d82283d5
GS
163662002-09-03 Graham Stott <graham.stott@btinternet.com>
16367
16368 * config/i386/i386.md ("femms"): Add "memory" attr "none".
16369
163702002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
16371
16372 * expr.c (expand_expr): Remove extraneous comment and code.
16373
4977bab6
ZW
163742002-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
163802002-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
164082002-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
164362002-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
98c0d8d1
RH
164872002-08-31 Richard Henderson <rth@redhat.com>
16488
16489 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
16490
a5f3f0ab
JDA
164912002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
16492
16493 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
16494
38ec83b1
RH
164952002-08-30 Richard Henderson <rth@redhat.com>
16496
c9989d09 16497 PR opt/7515
38ec83b1
RH
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
4c64396e
JJ
165032002-08-30 Janis Johnson <janis187@us.ibm.com>
16504
16505 * doc/install.texi (Configuration, Building): Fix a typo and
16506 some formatting directives.
16507
4226378a
PK
165082002-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
b8074dbe
DC
165242002-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.
2567406a 16530
55f49e3d
JT
165312002-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
e1944073
KW
165392002-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
6e92b3a1
RB
165452002-08-29 Rodney Brown <rbrown64@csc.com.au>
16546
16547 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
16548 memory exhausted" workarounds.
16549
9d533cb5
GDR
165502002-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
1f676100
NP
16555Fri 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
23532de9
JT
165622002-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
5e98fba2
DD
166492002-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
43852342
JDA
166552002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
16656
16657 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
16658
44bb111a
RH
166592002-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
08b3d104
JDA
166802002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
16681
16682 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
16683
ce4e9970 166842002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
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.
2567406a 16692 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
8376061d
CM
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
4977bab6
ZW
167242002-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
585e661a
GDR
167292002-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
bd8f9aec
SP
167392002-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
58ab7171
R
16747Wed 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
27f4b67e
JT
167622002-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
eca7f13c
MM
167712002-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.
7ee425e4 16777 * doc/invoke.texi: Document -Wabi.
2567406a 16778
ece4ce85
NP
16779Tue 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
b4378319 167902002-08-27 Nick Clifton <nickc@redhat.com>
54c93c30
AE
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.
b4378319 16802
ef261fee
R
16803Tue 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
c60ee6f5
JH
16809Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
16810
16811 * i386.c (classify_argument): Handle variable sized objects.
16812
1985ef90
JH
16813Tue 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
7acc97e0
JH
16817Tue 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
23327dae
JH
16821Tue 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
c49439f1
R
16825Tue 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
f34fc46e
DE
168782002-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
dcb44500
R
16886Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
16887
16888 * sh.h (MAX_FIXED_MODE_SIZE): Define.
16889
3ec07554
GDR
168902002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
16891
16892 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
2567406a 16893 delimiter.
3ec07554 16894
35885eab
GDR
168952002-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
d632dee9
ZL
169072002-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
c3cc6b78
UW
169132002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
16914
2567406a 16915 * config/s390/s390-protos.h (s390_function_prologue,
c3cc6b78
UW
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
2567406a 16926 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
c3cc6b78
UW
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
3f662186
NB
169472002-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
b6128b8c
SH
169542002-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
280cf02a
ZW
169702002-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
c6664446
DE
169752002-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
da57d233
KG
169822002-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
56a7189a
AM
169872002-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
d65b1d77
JM
169932002-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
8537ed68
ZW
170022002-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
8567c70f
TT
170102002-08-22 Tom Tromey <tromey@redhat.com>
17011
17012 * doc/install.texi (Configuration): Document --datadir.
17013
fde59d4b
AO
170142002-08-22 Alexandre Oliva <aoliva@redhat.com>
17015
17016 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
17017
44ddc79a
HPN
170182002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
17019
17020 * gengtype-lex.l (ID): Allow underscore as first character.
17021
b275d088
DE
170222002-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
57ce46bb
TT
170292002-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
27d30956
SS
170412002-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.
8537ed68 17058
d873d827
JDA
170592002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
17060
17061 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
17062
b462d4ab
JM
170632002-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
b65d23aa 170702002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 17071 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
17072
17073 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
17074 to the actual end. Add '@end table' and '@table @code'.
8537ed68 17075
3823f0b2
GK
170762002-08-20 Geoffrey Keating <geoffk@redhat.com>
17077
8d25d915
GK
17078 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
17079
3823f0b2
GK
17080 * unroll.c (biv_total_increment): Don't try to compute the total
17081 increment for FP BIVs.
17082
5eb99654
KG
170832002-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
f8f28a75
KG
171632002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17164
17165 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
17166
92b5aacd
DP
171672002-08-20 Devang Patel <dpatel@apple.com>
17168 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 17169
761c70aa
KG
171702002-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
5ce6f47b
EC
171992002-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
172162002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 17217 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
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
48209ce5
JDA
172512002-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.
8537ed68
ZW
17261 * doc/cppopts.texi (-I): Update.
17262 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
17263 this option.
17264 * doc/invoke.texi (-I): Update.
17265
4ca79136
RH
172662002-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
9f05cef3
ZL
172832002-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
1bd5981b
ZL
172882002-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.
5ce6f47b 17300 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
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
2bf087c0
KG
173062002-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
3fcd079e
AO
173142002-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
71012d97
GK
173192002-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
af8cb5c5
DE
173362002-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
5ce6f47b 17341 rs6000_emit_set_const.
af8cb5c5 17342
9bc146b3
KG
173432002-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
66df2ac2
L
173482002-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
463f1b2b
NB
173602002-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
2984fe64
JM
173662002-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
fded6d78
RS
173732002-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
8aa5074e
SS
173792002-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
f97a5bda
JJ
173852002-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
d3075b6c
SP
173902002-08-16 Sylvain Pion <pion@cs.nyu.edu>
17391
17392 * doc/invoke.texi: Fix typo.
17393
fdf68669
DE
173942002-08-16 David Edelsohn <edelsohn@gnu.org>
17395
17396 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
17397
173982002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
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
204250d2
RH
174132002-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
25587e40
AO
174212002-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
702ada3d
DR
174312002-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
9ef30f83
SE
174622002-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
f7043461
KG
174712002-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
b4d330e1
DE
174822002-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
61f02ff5
UW
174892002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
17490
17491 * config/s390/s390.c (legitimize_address): Optimize loading
17492 of large displacements.
17493
1330f7d5
DR
174942002-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
d1f1cc6a
RH
175222002-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
23626154
RH
175282002-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
fd350d24
RH
175362002-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
182d89a3
NB
175412002-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
8bfb1467
NB
175512002-08-14 Neil Booth <neil@daikokuya.co.uk>
17552
17553 PR preprocessor/7526
17554 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
17555
41685063
NS
175562002-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
77893a23
GDR
175622002-08-14 Gabriel Dos Reis <gdr@nerim.net>
17563
17564 Fix PR/7566
17565 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 17566 warning_with_decl.
77893a23 17567
260f91c2
DJ
175682002-08-14 Dale Johannesen <dalej@apple.com>
17569
8537ed68 17570 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
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
cd79e210
NB
175762002-08-14 Neil Booth <neil@daikokuya.co.uk>
17577
17578 * c-opts.c (c_common_post_options): Correct test.
17579
3eb75a73
KG
175802002-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
be3a0ce2
RO
175852002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17586
17587 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
17588
ccfc6cc8
UW
175892002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
17590
5ce6f47b 17591 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
17592 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
17593 (alternative_allows_memconst): Likewise.
17594 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 17595 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
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
d6ee9f6f
SC
176162002-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
8a0b86f5
SC
176222002-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
d6381f4e
SC
176342002-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.
5ce6f47b 17644 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
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
058edcdb
SC
176502002-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.
5ce6f47b 17656 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
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
c79043f3
NB
176732002-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
6bf346d4
GDR
176842002-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
cbf2f479
KG
176912002-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
d3969c34
KG
177052002-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
df89f8e7
GDR
177112002-08-14 Gabriel Dos Reis <gdr@nerim.net>
17712
17713 * tree.h: Guard against multiple inclusion.
17714
cf87d551
HPN
177152002-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
a43c8986
GK
177202002-08-13 Geoffrey Keating <geoffk@redhat.com>
17721
17722 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
17723
29337351
NB
177242002-08-13 Neil Booth <neil@daikokuya.co.uk>
17725
17726 * c-opts.c (c_common_init_options): Extra braces needed.
17727
8202c8c4
R
17728Tue 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
07893d4f
UW
177382002-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",
5ce6f47b 17761 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
17762 "*cmpqi_ccs_0"): Remove, replace by ...
17763 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 17764 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
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.
5ce6f47b 17782 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
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
db62867b
DC
178032002-08-13 Denis Chertykov <denisc@overta.ru>
17804
17805 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 17806 which can change CC0.
db62867b 17807
8ba46434
R
17808Tue 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
8733892f
NS
178132002-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
f4769721
DC
178212002-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.
5ce6f47b 17828
f4769721
DC
17829 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
17830 __INT_MAX__.
17831
c31cddfd
NB
178322002-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
f076f0ce
GDR
178372002-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
f4ff5a69
NB
178502002-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
34116c2a
HPN
178782002-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
9b32718c
GDR
178852002-08-12 Gabriel Dos Reis <gdr@nerim.net>
17886
17887 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 17888 output_formatted_integer.
9b32718c
GDR
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
032613df
DE
179022002-08-12 David Edelsohn <edelsohn@gnu.org>
17903
17904 * doc/trouble.texi (Disappointments): Add static constructor and
17905 destructor dependency information for AIX.
17906
a3737481
NB
179072002-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
d71f7700
KG
179192002-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
c16576e6
JH
17928Mon 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
460bd0e3
NB
179332002-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
f3f268dd
KG
179542002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17955
17956 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
17957
f0201fba
KG
179582002-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
e56fc090
HPN
179662002-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
76c3e73e
NB
179712002-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
e0c32c62
KG
179942002-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
7ae8cf75
KG
180102002-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
8819cab5
KG
180212002-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
ab2877a3
KG
180322002-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
08767a6f
NB
180442002-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
db01f480
JH
18056Sun 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
a7701995
AJ
180602002-08-11 Andreas Jaeger <aj@suse.de>
18061
18062 PR target/7531:
18063 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
18064
2516f236
ZL
180652002-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
f749a36b
NB
180732002-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
77abb5d8
JH
18089Sat 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
fac37dc4
KG
180952002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18096
d950dee3
KG
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
fac37dc4
KG
18108 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
18109 warnings in output files.
18110
0f7866e7
ZL
181112002-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.
a7701995 18124 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
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.
a7701995 18133 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
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.
a7701995 18145 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
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
c512fd7b
TM
181502002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
18151
18152 * ifcvt.c (find_if_case_2): Test correct basic block for size.
18153
5e1bf043 181542002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 18155
5e1bf043
DJ
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
2043c38e
NS
181632002-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.
41685063 18170 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
18171 * configure: Rebuilt.
18172
4b7091eb
NB
181732002-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
9e20be0c
JJ
181892002-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
7b9be5c7 182002002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 18201
a7701995
AJ
18202 * objc/objc-act.c (build_selector_translation_table): Issue warning,
18203 when -Wselector is used,if method for which selector is being
7b9be5c7 18204 created does not exist.
a7701995 18205
5615d8fd
SC
182062002-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.
a7701995 18210
3b85fe5f
JJ
182112002-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
e10c79fe
LB
182182002-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
aa2a83dc
JJ
182242002-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
aeaf4d25
AN
182312002-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
22aa533e
NS
182402002-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.
a7701995 18257
18bdccaa
NB
182582002-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
774b5662
DE
182672002-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
957e9e48
AM
182762002-08-08 Alan Modra <amodra@bigpond.net.au>
18277
18278 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
18279
daf06049
JJ
182802002-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
043d39a6
JDA
182862002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
18287
18288 * pa.c (struct deferred_plabel): Constify name field.
18289
34bb92e3
NB
182902002-08-07 Neil Booth <neil@daikokuya.co.uk>
18291
18292 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
18293
3ec5d64d
JDA
182942002-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
ad9335eb
JJ
183002002-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
0b6f2917
NB
183192002-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
e49ec17d
CD
183352002-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
ac1ca451
SC
183402002-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
af34e51e
CD
183452002-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
2631af95
KG
183602002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18361
f538618e
KG
18362 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
18363
2631af95
KG
18364 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
18365 $(GCONFIG_H).
18366
1ae0ccb6
AH
183672002-08-06 Aldy Hernandez <aldyh@redhat.com>
18368
8537ed68
ZW
18369 * c-decl.c (duplicate_decls): Error out for incompatible TLS
18370 declarations.
1ae0ccb6 18371
8537ed68 18372 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 18373
8d3e27d1 183742002-08-06 Dale Johannesen <dalej@apple.com>
db4c55f6 18375
8d3e27d1 18376 * c-common.c (fname_decl): Use line number 0 for
8537ed68 18377 __func__, to avoid confusing debuggers.
8d3e27d1 18378
8b219a76
NS
183792002-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
317e98c0
NB
183922002-08-06 Neil Booth <neil@daikokuya.co.uk>
18393
18394 * dwarf2out.c: Remove unused macros.
18395
81d41e74
NB
183962002-08-06 Neil Booth <neil@daikokuya.co.uk>
18397
18398 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
18399
58551c23
NB
184002002-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
daeabcd0
JJ
184112002-08-06 Jakub Jelinek <jakub@redhat.com>
18412
18413 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
18414
39e3a681
JJ
184152002-08-06 Jakub Jelinek <jakub@redhat.com>
18416
9812691e
JJ
18417 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
18418 and MODE_CLASS_INT modes.
39e3a681 18419
609a87f3
JJ
184202002-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
ff4c5e7b
DE
184302002-08-06 David Edelsohn <edelsohn@gnu.org>
18431
18432 * doc/install.texi (Binaries): Update Bull Freeware URL.
18433
54f3aa9e
GP
184342002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18435
18436 * doc/gcc.texi (Top): Rename Index to Keyword Index.
18437
d19202ba
NS
184382002-08-05 Nathan Sidwell <nathan@codesourcery.com>
18439
18440 * gcov.c (output_data): Round to % to nearest, tweak formatting.
18441
1bed5ee3
JJ
184422002-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
84512347
DR
184472002-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
b835f6f1
GK
184552002-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
fd291392
GDR
184682002-08-05 Gabriel Dos Reis <gdr@nerim.net>
18469
18470 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
18471
054b7507
CD
184722002-08-04 Chris Demetriou <cgd@broadcom.com>
18473
18474 * doc/invoke.texi: Remove duplicated paragraph describing
18475 TARGET_SWITCHES.
18476
6d9f628e
GK
184772002-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.
4912a07c 18482 (main): Don't initialize permanent_obstack. Use xstrdup instead.
6d9f628e
GK
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
36a05131
BS
185292002-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.
86a0cbcb
BS
18556
18557 * config/frv/media.h: Removed again.
18558
37b8715b
NS
185592002-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.
a7701995 18576
d500c5d7
JM
185772002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
18578
18579 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
18580
ea67fe71
NS
185812002-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
b23c054d
NS
185972002-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
04c1334c 186022002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 18603
04c1334c
GDR
18604 * diagnostic.c (inform): New function.
18605 * diagnostic.h (inform): Declare.
a7701995 18606
e34eaae5
DE
186072002-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
e7b489c8
RS
186242002-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
de8920be
JM
186432002-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
ba462c8e
KW
186492002-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
2017ed61
EC
186542002-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
055dd007
DE
186612002-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
771a2a66
DJ
186672002-08-02 Daniel Jacobowitz <drow@mvista.com>
18668
18669 * configure.in (FORBUILD): Use $build_alias.
18670 * configure: Regenerated.
18671
ac8ab9fe
RS
186722002-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
a77a9a18
JM
186902002-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
a6be5aee
KG
187012002-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
e3e16ee3
TM
187072002-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
b9d8832d
JM
187142002-08-02 Jason Merrill <jason@redhat.com>
18715
18716 * gdbinit.in (pct): New macro.
18717
825abef4
SS
187182002-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.
bf2e488f 18723 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 18724
56da7207
ZW
187252002-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
f4857b9b
AM
187412002-08-02 Alan Modra <amodra@bigpond.net.au>
18742
18743 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
18744
77ca7b2e
DJ
187452002-08-01 Daniel Jacobowitz <drow@mvista.com>
18746
18747 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
18748
5b552f76
CD
187492002-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
54fbf6a1
DE
187592002-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
3d16b407
CD
187662002-08-01 Chris Demetriou <cgd@broadcom.com>
18767
18768 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
18769
fb52d8de
AM
187702002-08-02 Alan Modra <amodra@bigpond.net.au>
18771
80926cc1
AM
18772 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
18773 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
18774
fb52d8de
AM
18775 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
18776 HOST_BITS_PER_WIDE_INT == 64.
18777
a4b5414c
KG
187782002-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
a03e67c3
FS
187852002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18786
18787 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
18788
de273d3f
RH
187892002-08-01 Richard Henderson <rth@redhat.com>
18790
56da7207 18791 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
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
4e4d733e
L
187992002-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
32e9b960
RH
188122002-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
81e602b5
JJ
188172002-08-01 Jakub Jelinek <jakub@redhat.com>
18818
18819 * varasm.c (assemble_visibility): Strip name encoding.
18820
ac14c725
ID
188212002-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
17072732
AH
188332002-08-01 Aldy Hernandez <aldyh@redhat.com>
18834
18835 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
18836
c288218a
NB
188372002-08-01 Neil Booth <neil@daikokuya.co.uk>
18838
18839 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
18840
43bfc248
BK
188412002-08-01 Benjamin Kosnik <bkoz@redhat.com>
18842
18843 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
18844
479f2cea
RS
188452002-08-01 Richard Sandiford <rsandifo@redhat.com>
18846
18847 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
18848
02280659
ZD
188492002-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
905173eb
ZW
188722002-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
83321d36
KG
188772002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18878
ad0f1765
KG
18879 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
18880 avoid ISO C style function definition.
18881
83321d36
KG
18882 * expr.c (expand_assignment): Delete unused variable.
18883
73e42cf3
TM
188842002-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
78df51fe
NB
188922002-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
abecfc8f
NB
188992002-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.
18904cp:
18905 * lang-specs.h: Simplify in accordance with new code in
18906 c-common.c.
18907
4078b403
NB
189082002-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
692f5611
JDA
189182002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
18919
18920 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
18921
c7a009a2 189222002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 18923
905173eb 18924 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
18925 .section prefix.
18926
b069de3b
SS
189272002-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
1de4ecb6
GS
189602002-07-31 Graham Stott <grahas@btinternet.com>
18961
18962 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 18963 hash for LABEL_REF's.
1de4ecb6 18964
23368455
GS
189652002-07-31 Graham Stott <grahams@btinternet.com>
18966
18967 * config/rs6000/rs6000.c (spe_init_builtins,
18968 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 18969 Replace ANSI with K&R function def.
23368455 18970
ad72b533
DE
189712002-07-31 David Edelsohn <edelsohn@gnu.org>
18972
18973 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
18974 for CCFPmode.
18975
302359da
RS
189762002-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
ead0c1d5
RS
189822002-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
3fb9d48a
CD
189872002-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
072cdaed
KG
189942002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18995
506a61b1
KG
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
072cdaed 19004 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 19005
072cdaed
KG
19006 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
19007 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
19008
6fd14075
GK
190092002-07-30 Geoffrey Keating <geoffk@redhat.com>
19010
19011 * doc/extend.texi (Hints implementation): Document that GCC
19012 mostly ignores `register'.
19013
2e8f2e8f
TM
190142002-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
a538e580
RH
190302002-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
26e20555
BS
190352002-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.
79cbc1f7
BS
19039 * genemit.c (gen_expand): Recognize return insns even if the return
19040 appears in a parallel.
d8088c6f
BS
19041 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
19042 * config/fp-bit.c: Likewise.
19043 * doc/tm.texi: Document it.
905173eb 19044
0559cc77
DE
190452002-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
60b8aa94
FS
190552002-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
714fb710
RS
190592002-07-30 Richard Sandiford <rsandifo@redhat.com>
19060
19061 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
19062
c608a684
R
19063Tue 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
0a756401
R
19072Tue 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
68e82b83
KH
190762002-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
fe6b547a
AH
190822002-07-29 Aldy Hernandez <aldyh@redhat.com>
19083
19084 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
19085 for TARGET_SPE.
19086
7ff4a7ef
GDR
190872002-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
4ad5e05d
KG
190932002-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
1e6a3e1e
GDR
191052002-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
1dcd444b
KG
191122002-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
e62f4abc
RS
191242002-07-29 Roger Sayle <roger@eyesopen.com>
19125
19126 * builtins.c (expand_builtin): Change the default behavior to
905173eb 19127 only issue an error if the builtin function doesn't have a
e62f4abc
RS
19128 fallback library call. Remove several cases handled by the
19129 new default.
19130
0cd2fb44
JDA
191312002-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
b642261e
RH
191382002-07-29 Richard Henderson <rth@redhat.com>
19139
19140 * unroll.c (verify_addresses): Remove.
19141 (find_splittable_givs): Never split DEST_ADDR givs.
19142
cba57c9d
GK
191432002-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.
8d9afc4e 19154 (Hints implementation): Document that GCC honors 'inline', mostly.
cba57c9d
GK
19155 (Preprocessing directives implementation): Document that GCC
19156 requires the current time.
19157
76a8ecba
GDR
191582002-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,
905173eb 19169 IMAGPART_EXPR.
76a8ecba
GDR
19170 (pp_c_cast_expression): Handle FLOAT_EXPR.
19171 (pp_c_assignment_expression): Handle INIT_EXPR.
19172 (pp_c_expression): Update.
19173
4307be72
NB
191742002-07-30 Neil Booth <neil@daikokuya.co.uk>
19175
19176 * objc/objc-act.c (objc_init): Return immediately if filename
19177 is NULL.
19178
6d439235
EC
191792002-07-29 Eric Christopher <echristo@redhat.com>
19180
905173eb
ZW
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.
6d439235
EC
19185 (PUT_SDB_SIZE): Remove.
19186 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
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.
6d439235
EC
19193 Add assembler -mmdebug options for non-dwarf debugging.
19194 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
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.
6d439235 19212
4357a6c3
CD
192132002-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
9a5cd606
AH
192262002-07-29 Aldy Hernandez <aldyh@redhat.com>
19227
19228 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
19229
a23acaa6
AH
192302002-07-29 Aldy Hernandez <aldyh@redhat.com>
19231
19232 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
19233
10ed84db
AH
192342002-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
c3021e5d
AH
192402002-07-29 Aldy Hernandez <aldyh@redhat.com>
19241
19242 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
19243
6f1087be
RH
192442002-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
61ccbcfd
GDR
192542002-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
09101f56
AH
192622002-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
af673a52
DE
192742002-07-29 David Edelsohn <edelsohn@gnu.org>
19275
19276 * varasm.c (assemble_variable): Narrow test for uninitialized
19277 without BSS target support.
19278
6c208acd
NS
192792002-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
624f0d60
BW
192882002-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
2199e5fa
ZW
192962002-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
6ab185d6
MS
193272002-07-29 Mike Stump <mrs@apple.com>
19328
6d439235 19329 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 19330 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 19331
72b075d1
RE
193322002-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
f63c45ec
GDR
193392002-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
c27c15db
KG
193452002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19346
19347 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
19348
99086d59
ZW
193492002-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
dd86aabf
KG
193622002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19363
6fd327e9
KG
19364 * Makefile.in (gengtype-lex.c): Fix error in last change.
19365
8155cedd
KG
19366 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
19367 backslash.
19368
dd86aabf
KG
19369 * Makefile.in (vmsdbgout.o): Depend on function.h.
19370
19371 * vmsdbgout.c: Include function.h.
19372
d4348177
AM
193732002-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
c2ef6d34
RS
193792002-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
52bfebf0
RS
193902002-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.
99086d59 19398 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
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,
99086d59
ZW
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
52bfebf0
RS
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
e66f55b8
KG
194202002-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
a3926fe1
RS
194262002-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
ef69da62
SS
194312002-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
a4b0320c
AH
194392002-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
c427db5d
R
19445Thu 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
57ac7be9
AM
194492002-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
8e51619a
JM
194612002-07-26 Jason Merrill <jason@redhat.com>
19462
19463 * function.c (assign_parms): Handle frontend-directed pass by
19464 invisible reference.
19465
b41f25cf
NB
194662002-07-26 Neil Booth <neil@daikokuya.co.uk>
19467
19468 * doc/cppopts.texi: Update.
19469
c2734e05
NB
194702002-07-26 Neil Booth <neil@daikokuya.co.uk>
19471
19472 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
19473 warnings on assertions.
19474
c372b0fa
NB
194752002-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
558ee214
JM
194822002-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
ce71f754
AM
194912002-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
e179e7d7
NB
194992002-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
a2056183
NB
195052002-07-25 Neil Booth <neil@daikokuya.co.uk>
19506
19507 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
19508 Remove.
19509
308c142a
SS
195102002-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
59324685
R
19517Thu 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
77bbd421
NB
195222002-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
7bad45b0
NB
195282002-07-25 Neil Booth <neil@daikokuya.co.uk>
19529
19530 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
19531 HAVE_TARGET_EXECUTABLE_SUFFIX.
19532
184166b5
R
19533Thu 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
40cb04f1
RH
195382002-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
a27fb29b
RS
195432002-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
6bbdc759
RS
195902002-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
80a62484
R
19595Thu 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
ea793912
GDR
196002002-07-25 Gabriel Dos Reis <gdr@nerim.net>
19601
19602 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 19603 complaining.
ea793912
GDR
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
2d615444
NB
196092002-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
2be2ac70
ZW
196142002-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
518878e1
AH
196342002-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.
99086d59 19638
518878e1
AH
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.
99086d59 19653
518878e1
AH
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.
99086d59 19770
518878e1
AH
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
8d1b7ba1
CD
197832002-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
8ad8135a
RH
197892002-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
dc44a4d8
DM
197942002-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
c5605318
MM
197992002-07-24 Michael Matz <matz@suse.de>
19800
19801 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
19802 (free_reg): Use it.
19803
3ade30ea
RE
198042002-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
8a3ad737
CD
198112002-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
7e51e626
JH
19817Wed 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
5df533b3
JH
19822Wed 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
79258dce
RS
198262002-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
26ff2117
GDR
198322002-07-24 Gabriel Dos Reis <gdr@nerim.net>
19833
19834 * pretty-print.h: Add macros from cp/error.c
19835
0ba1b2ff
AM
198362002-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
097657c3
AM
198722002-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
a69cbaac
NB
198782002-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
c0667597
NB
198992002-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.
b841421a 19911 * doc/tm.texi: Remove documentation.
c0667597 19912
bf7cd754
R
19913Tue 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.
451f86fd
R
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.
1d5fa6b4
R
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
10d6af32
NB
199292002-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
6aaae39a
GDR
199412002-07-23 Gabriel Dos Reis <gdr@nerim.net>
19942
19943 * pretty-print.h: New file.
19944
45e574d0
JDA
199452002-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.
99086d59 19951 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
19952 to internal form.
19953 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
19954 vs. others.
19955 (e113toe): Change to use ieeetoe.
19956
199572002-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
3764f879
GDR
199712002-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
aa0f70e6
SE
199772002-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
fa72b064
GDR
199862002-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
2b773ee2
JH
199962002-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
a0dc500c
R
20005Tue 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
d22eda7b
NB
200112002-07-23 Neil Booth <neil@daikokuya.co.uk>
20012
20013 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
20014
b5e66e65
NB
200152002-07-23 Neil Booth <neil@daikokuya.co.uk>
20016
20017 * vmsdbgout.c (SECTION_ASM_OP): Remove.
20018
c3a600c0
NB
200192002-07-23 Neil Booth <neil@daikokuya.co.uk>
20020
20021 * config/i386/i386.c (AT_BP): Remove.
20022
4fa31c2a
NB
200232002-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
fd576c86
SC
200342002-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
b791ff31
SC
200402002-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
4a941115
NB
200462002-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
7488cc6d
DE
200512002-07-22 David Edelsohn <edelsohn@gnu.org>
20052
20053 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
20054
b41caf7c
RE
200552002-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
492e9934
NB
200622002-07-22 Neil Booth <neil@daikokuya.co.uk>
20063
20064 * ssa-ccp.c (PHI_PARMS): Remove.
20065
f01f01a6
RS
200662002-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
c2ae8aef
KG
200712002-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
eab2120d
R
20080Mon 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.
0d541696
R
20084
20085 * optabs.c (expand_vector_unop): Don't expand using sub_optab
20086 if we got the wrong mode.
bb9b3805
R
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
e96eb215
JJ
200922002-07-22 Jakub Jelinek <jakub@redhat.com>
20093
20094 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
20095
cf3c4f56
JJ
200962002-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
533c4863
KG
201012002-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
8943a0b4
RH
201172002-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
b1aef35b
RH
201222002-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
5e1afb11
RH
201272002-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
c67a1cf6
RH
201342002-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
b68daef4
HS
201412002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
20142
20143 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
20144 instead of __negdi2 directly.
20145
060a58c5
NB
201462002-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.
99086d59 20151 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
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
2f8dd115
NB
201562002-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
56508306
GDR
201692002-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
e2f62855
NB
201792002-07-21 Neil Booth <neil@daikokuya.co.uk>
20180
20181 * c-format.c (T99_I, T99_UI): Remove.
20182
c89d1dfd
NB
201832002-07-21 Neil Booth <neil@daikokuya.co.uk>
20184
20185 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
20186
46690369
JH
20187Sun 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
60ffc1b8
AJ
201922002-07-21 Andreas Jaeger <aj@suse.de>
20193
99086d59 20194 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 20195
c05ffc49
BS
201962002-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
ae860ff7
JH
20242Sun 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
0da65b89
RS
202502002-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
47cc673a
MM
202552002-07-20 Michae Matz <matz@suse.de>
20256
20257 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
20258
68e65275
NB
202592002-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
e3485bbc
DE
202692002-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
449655a6
MV
202782002-07-19 Momchil Velikov <velco@fadata.bg>
20279
20280 * reload1.c (reload_as_needed): Duplicate oldpat.
20281
8b583747
AM
202822002-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
0dc36574
ZW
202892002-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
59267987
RO
203132002-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
75aef48a
NB
203302002-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
72a5503d
MM
203372002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
20338
20339 * config/avr/avr.c (debug_hard_reg_set): Remove.
20340
059ba716
CD
203412002-07-19 Chris Demetriou <cgd@broadcom.com>
20342
20343 * gcc.c (cpp_options): Include "%1" (cc1_spec).
20344
544823b6
RH
203452002-07-19 Richard Henderson <rth@redhat.com>
20346
20347 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
20348
c35383cb
AM
203492002-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
ad28cff7
NB
203542002-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
139b7f86
BT
203632002-07-18 Bo Thorsen <bo@berlioz.suse.de>
20364
20365 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
20366
e69d1422
R
20367Thu 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
47a4976f
JDA
203932002-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
f3a4e54e
JDA
203992002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
20400
20401 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
20402
30484ccf
RH
204032002-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
d042370e
R
20409Thu 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
61fee9b3
BT
204152002-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
f305679f
JH
20422Thu 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
99bcb625
AM
204282002-07-18 Alan Modra <amodra@bigpond.net.au>
20429
f6f23ad2
AM
20430 * prefix.c: (update_path): Strip ".." components when prior dir
20431 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
20432
99bcb625
AM
20433 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
20434 (ASM_OUTPUT_REG_POP): Likewise.
20435
09eeeacb
AM
204362002-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
74d06cf2
NB
204482002-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
61dde664
R
20463Wed 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
97f51ac4
RB
204682002-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
a9b6f1e7 204732002-07-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 20474 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
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
23ff0223
NB
204802002-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
ac09192a
R
20488Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
20489
d28586ab 20490 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 20491 SHmedia code.
68cef009
R
20492
20493 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
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.
ca903bba
R
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.
0ac78517
R
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.
da7d8304 20530 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
0ac78517
R
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
e9d7b180
JD
205592002-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
8214bf98
RS
205652002-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
7ab0121e
JW
206022002-07-16 Jim Wilson <wilson@redhat.com>
20603
20604 * toplev.c (lang_dependent_init): Create function context for
20605 init_expr_once.
20606
349ccf2e
HPN
206072002-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
06ec023f
RB
206132002-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
39cef914
NN
206192002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
20620
20621 * Makefile.in: Delete references to enquire.
20622 * enquire.c: Move to contrib.
20623
92c1a778
SS
206242002-07-16 Stan Shebs <shebs@apple.com>
20625
2aa9948d
SS
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.
92c1a778
SS
20637 (machopic_function_base_name): Declare result to be const.
20638 (machopic_non_lazy_ptr_name): Ditto.
20639 (machopic_stub_name): Ditto.
2aa9948d 20640 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 20641
daaab00a
JH
20642Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
20643
20644 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
20645
63c574cc
JH
20646Wed 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
2a500b9e
JH
20651Wed 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
e5faf155
ZW
206572002-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
dbf65c2f
R
20677Tue 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
6acb6d3e 206812002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 20682
6acb6d3e
SE
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
5d7c2819
ID
206872002-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.
e5faf155 20696
5d7c2819
ID
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.
4977bab6 20706 (TARGET_SWITCHES): Fix description of bitfield option.
5d7c2819
ID
20707 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
20708 -mieee-compare option. Remove 32332 flag.
20709
5da4f548 207102002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
20711
20712 * explow.c (convert_memory_address): Remove special handling
5da4f548 20713 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 20714 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
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.
5d7c2819 20721 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
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
1575c31e
JD
207312002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20732
20733 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
20734
207352002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20736 Richard Earnshaw <rearnsha@arm.com>
20737
e5faf155 20738 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
20739 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
20740
3894f59e
RE
207412002-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
e0b89be2 207472002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
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
e5faf155 20752 depend on reload.h, insn-config.h.
54b2a7f8 20753
cffa2189
R
20754Tue 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
052c96b1
JH
20762Tue 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
ae32926b
MM
207692002-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
6c535c69
ZW
207732002-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
6d80a854
EB
208372002-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
043cfcbe
JT
208432002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
20844
20845 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
20846
ed8d2920 208472002-07-15 Michael Matz <matz@suse.de>,
6c535c69 20848 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
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
794a292d
JJ
209402002-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
05d49501
AM
209492002-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
e89617fe
AJ
209572002-07-14 Andreas Jaeger <aj@suse.de>
20958
20959 * config.gcc (sh64): Remove unused
20960 target_requires_64bit_host_wide_int.
20961
78762e3b
RS
209622002-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
f7a454e9
SC
209722002-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
26af4041
MM
209792002-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
226cfe61
R
20984Fri 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
25c25947
R
20991Thu 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
789b7de5
RO
209962002-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.
e89617fe 21006
789b7de5
RO
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
a18c2c5f
JDA
210312002-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
e65a2d65
RS
210382002-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
a06e3c40
R
21043Thu 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
47abc309
JDA
210502002-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
8ac9d31f
TJ
210592002-07-11 Tim Josling <tej@melbpc.org.au>
21060
e89617fe 21061 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
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.
e89617fe 21085
8ac9d31f 21086 * configure: Regenerate.
e89617fe 21087
8ac9d31f
TJ
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
e89617fe 21107 names.
8ac9d31f
TJ
21108
21109 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 21110
8ac9d31f
TJ
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
0e603223
RS
211192002-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
c5358a5d
RS
211252002-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
a35f8b74
AM
211312002-07-11 Alan Modra <amodra@bigpond.net.au>
21132
21133 * config/rs6000/linux64.h (ASM_SPEC): Define.
21134
89e7058f
AH
211352002-07-10 Aldy Hernandez <aldyh@redhat.com>
21136
6c535c69
ZW
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.
89e7058f 21141
086bbd21
TM
211422002-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
126dbce0
MM
211512002-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
21c318ba
DR
211662002-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
537834c8
MM
211712002-07-10 Mark Mitchell <mark@codesourcery.com>
21172
21173 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
21174 deprecated.
21175
80ba02b1
R
21176Wed 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
ae3aa00d
JH
21181Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
21182
21183 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
21184
029f3983
JL
211852002-07-10 Jeffrey A Law <law@redhat.com>
21186
7a464913
JL
21187 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
21188 as appropriate.
21189
6c535c69
ZW
21190 * mn10200.c (expand_epilogue): Fix test to determine which scratch
21191 register to use.
029f3983 21192
ff27a429
R
21193Wed 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
e6986399
GDR
211992002-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
7990b46f
MK
212132002-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.
efa39e99
DP
21232
212332002-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.
e89617fe 21237
cd98faa1
NB
212382002-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
2ad65b0e 21250Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 21251 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
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
b6d33983
R
21279Tue 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
7ca0873c
MM
213272002-07-09 Mark Mitchell <mark@codesourcery.com>
21328
21329 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
21330
26b10ae0 213312002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 21332
26b10ae0
SE
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
0c3a2ea0
SE
213392002-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
26c34780
RS
213442002-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
1d4047e0
RS
213532002-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
5351f1ca
NB
213622002-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
c8cc4417
R
21377Sun 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
957ec0f9
HPN
213942002-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
7ab5c789
AJ
214342002-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
df061a43
RS
214442002-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
e5eb8de8
SC
214712002-07-05 Stephane Carrez <stcarrez@nerim.fr>
21472
21473 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
21474 QI mode registers in soft registers.
7ab5c789 21475 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
21476 for register allocation (use '*' constraint).
21477
4c8aed14
SC
214782002-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
99ed68ea
VM
214852002-07-05 Vladimir Makarov <vmakarov@redhat.com>
21486
21487 * genautomata.c (output_max_insn_queue_index_def): Take latencies
21488 into account.
21489
4c8aed14 214902002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
21491
21492 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
21493 address computation and memory moves.
21494
9833f679
MM
214952002-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.
7ab5c789 21501
81bca2f5
RO
215022002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
21503
21504 * gcc/gcc.c (asm_debug): Move initialization ...
21505 (init_spec): ... here.
21506
17f44f02
NS
215072002-07-05 Nathan Sidwell <nathan@codesourcery.com>
21508
21509 * c-parse.in (extdef): Append ';'.
21510 (old_style_parm_decls): Append ';'.
21511
da77408f
DJ
215122002-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
ec52b446
GK
215192002-07-04 Geoffrey Keating <geoffk@redhat.com>
21520
21521 * ggc.h (ggc_add_root): Document as obsolete.
21522
8721e3df
R
21523Thu 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
3767c0fd
R
21528Thu 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
4e314d1f
EC
215382002-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
6f0361e3
SS
215482002-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
3129af4c
RS
215542002-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
c7375e61
EB
215642002-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
61c07d3c
DE
215772002-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
215882002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
21589
21590 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
21591
34a80643
R
21592Wed 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
622d3731
KG
216192002-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
9bb46191
CD
216332002-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
e1c2dd26 216392002-07-02 Devang Patel <dpatel@apple.com>
c40da518 21640
c40da518 21641 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
21642 object as parameter. Prevent something like 'NSObject' to be
21643 used as the type for a method argument.
c40da518 21644
0879540b
NB
216452002-07-03 Neil Booth <neil@daikokuya.co.uk>
21646
21647 * cpptrad.c: Update comment.
21648
b6fb43ab 216492002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 21650
b6fb43ab
NB
21651 * doc/cpp.texi: Update for traditional preprocessing changes.
21652 * goc/cppopts.texi: Similarly.
21653
c1c5187c
ZL
216542002-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
52702ae1
R
21663Tue 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.
4e314d1f 21668 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
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
49e7b251
NB
216782002-07-02 Neil Booth <neil@daikokuya.co.uk>
21679
ba57a9c0 21680 PR preprocessor/7029
49e7b251
NB
21681 * cppinit.c (cpp_handle_option): Suppress warnings with an
21682 implicit "-w" for "-M" and "-MM".
21683 * doc/cppopts.texi: Update.
21684
a3acdc0c
RS
216852002-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
0b558962
AM
216912002-07-02 Alan Modra <amodra@bigpond.net.au>
21692
21693 * README.Portability: Fix typos.
21694
9a81c5b7
HPN
216952002-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
6a2dd09a
RS
217012002-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
e20569ae
ZW
217302002-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
f1b690f1
JDA
217362002-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
6bfa5aac
RS
217402002-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
9a5c1b9d
NN
217472002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
21748
21749 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
21750
d3fc4dbc
MK
217512002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
21752
3b2124df
MK
21753 * README.Portability (Function prototypes): Give an example of
21754 declaring and defining a function with no arguments.
21755
d3fc4dbc
MK
21756 * README.Portability (Function prototypes): Document new
21757 variable-argument function macros.
21758
c1b92d09
R
21759Mon 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
97ebc06f
AH
218082002-07-01 Aldy Hernandez <aldyh@redhat.com>
21809
6c535c69
ZW
21810 * tree.c (build_function_type_list): Update function comment.
21811 Rename first argument to return_type.
97ebc06f 21812
353a10d0
NB
218132002-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
e34cabb3
NB
218182002-07-01 Neil Booth <neil@daikokuya.co.uk>
21819
21820 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
21821
8bf3ccbb
KG
218222002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21823
21824 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
21825
44eedb75 21826See ChangeLog.7 for earlier changes.
This page took 2.929061 seconds and 5 git commands to generate.