]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
predict.c (estimate_bb_frequencies): Initialize the sreal constants once per compilation.
[gcc.git] / gcc / ChangeLog
CommitLineData
c4f6b78e
RE
12003-03-01 Richard Earnshaw <rearnsha@arm.com>
2
3 * predict.c (estimate_bb_frequencies): Initialize the sreal
4 constants once per compilation.
5
9552a3e3
RH
62003-02-28 Richard Henderson <rth@redhat.com>
7
8 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
9
73c68f61
SS
102003-02-28 scott snyder <snyder@fnal.gov>
11
12 * flags.h: Add flag_eliminate_unused_debug_types.
13 * toplev.c: Add flag_eliminate_unused_debug_types.
14 (f_options): Add -feliminate-unused-debug-types.
15 * dwarf2out.c (struct file_table): Add emitted member.
16 (splice_child_die): Fix the parent pointer for the child being
17 spliced.
18 (lookup_filename): Maintain file_table.emitted array. Don't
19 output .file directive here.
20 (maybe_emit_file): (new)
21 (init_file_table): Set up file_table.emitted.
22 (dwarf2out_source_line): Use maybe_emit_file.
23 (dwarf2out_start_source_file): Use maybe_emit_file.
24 (dwarf2out_init): Use maybe_emit_file.
25 (prune_unused_types_walk_attribs): (new)
26 (prune_unused_types_mark): (new)
27 (prune_unused_types_walk): (new)
28 (prune_unused_types_prune): (new)
29 (prune_unused_types): (new)
30 (dwarf2out_finish): Call prune_unused_types if
31 flag_eliminate_unused_debug_types is set.
32 * doc/invoke.texi (Option Summary): Add
33 -feliminate-unused-debug-types.
34 (Debugging Options): Likewise.
35
d8fad4ea
GK
362003-02-28 Geoffrey Keating <geoffk@apple.com>
37
38 * doc/invoke.texi: Change .pch to .gch.
39 * cppfiles.c (open_file_pch): Likewise.
40 * gcc.c (default_compilers): Likewise.
41
9855905c
AH
422003-02-28 Aldy Hernandez <aldyh@redhat.com>
43
44 * floatlib.c: Remove.
45
3695c25f
JM
462003-02-28 Jason Merrill <jason@redhat.com>
47
48 * stor-layout.c (variable_size): Leave a "minus 1" outside the
49 SAVE_EXPR.
50
f8f0e566
DE
512003-02-28 David Edelsohn <edelsohn@gnu.org>
52
53 * config/rs6000/power4.md: Add compare bypass.
54
35501efe
JT
552003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
56
57 * config/netbsd.h: Update copyright years.
58 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
59 -pthread is specified on the command line.
60
8f7ee471
DJ
612003-02-28 Dale Johannesen <dalej@apple.com>
62
63 * loop.c (struct movable): Add insert_temp, shrink savemode.
64 (scan_loop): Accept invariants that require copying; mark as
65 insert_temp.
66 (combine_movables): Don't combine insert_temp movables.
67 (move_movables): Insert copies for insert_temp movables.
68 Don't record the info based on regno for insert_temp's.
69
67c2b45f
JS
702003-02-28 Joel Sherrill <joel@OARcorp.com>
71
72 PR 9638/other
73 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
74 this constant defaults to 1.
75
066f1538
BW
762003-02-28 Bob Wilson <bob.wilson@acm.org>
77
78 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
79
b8c53e96
RE
802003-02-28 Richard Earnshaw <rearnsha@arm.com>
81
82 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
83 ARMv5e processor, not just for XScale. Instructions are predicable.
84 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
85
b93828f3
NC
862003-02-28 Nick Clifton <nickc@redhat.com>
87
88 * config/arm/arm.c (note_invalid_constants): Change parameter type
89 from bool to int.
90
3c042316
KH
912003-02-28 Kazu Hirata <kazu@cs.umass.edu>
92
93 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
94 test of bit 7.
95 (*tst_extzv_memqi_1_n): Likewise.
96 (a peephole2): New.
97
28727f1f
RS
982002-02-28 Richard Sandiford <rsandifo@redhat.com>
99
100 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
101 #ifndef __mips16.
102
10a3fdd9
JH
103Fri Feb 28 11:09:14 CET 2003 Jan Hubicka <jh@suse.cz>
104
105 * combine.c (gen_lowpart_for_combine): Update handling of
106 subregs_of_mode
107 * flow.c (life_analysis, mark_used_regs): Likewise.
108 * regclass.c (subregs_of_mode): Turn into single bitmap.
109 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
110 dealing with subregs_of_mode
111 * regs.h (subregs_of_mode): Update prototype.
112
9d18e06b
JZ
1132003-02-28 Josef Zlomek <zlomekj@suse.cz>
114
115 * emit-rtl.c (set_reg_attrs_for_parm): New function.
116 * rtl.h (set_reg_attrs_for_parm): New exported function.
117 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
118 set_reg_attrs_from_mem.
119
95456d43
RS
1202003-02-27 Roger Sayle <roger@eyesopen.com>
121 Zack Weinberg <zack@codesourcery.com>
122
123 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
124
28ae9fed
KH
1252003-02-27 Kazu Hirata <kazu@cs.umass.edu>
126
127 * reload1.c (sext_for_mode): Remove.
128 (reload_cse_move2add): Use trunc_int_for_mode instead of
129 sext_for_mode.
130 (move2add_note_store): Likewise.
131 Reset register information if we see a set in non-integer
132 mode.
133
d47719fd
DE
1342003-02-27 David Edelsohn <edelsohn@gnu.org>
135
30e7f17e
DE
136 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
137 option.
138 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
139 * config/rs6000/aix51.h: Same.
140 * config/rs6000/aix52.h: Same.
d47719fd
DE
141 * config/rs6000/power4.md: Additional VMX bypasses.
142
7a69a172
GB
1432003-02-27 Geert Bosch <bosch@gnat.com>
144
145 * toplev.c (print_version): Add indentation for GGC heuristics and
146 output after printing version information.
147
678e68fc
JW
1482003-02-27 James E Wilson <wilson@tuliptree.org>
149
150 * combine.c (simplify_comparison): Require integral mode when
151 permuting SUBREG with AND.
152
986704f1
SE
1532003-02-27 Steve Ellcey <sje@cup.hp.com>
154
155 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
156
1e3af7f6
NC
1572003-02-27 Nick Clifton <nickc@redhat.com>
158
159 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
160 deleted when cirrus instructions were added.
161
51b7c247
JT
1622003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
163
164 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
165 POSIX thread support by default.
166
3eae722d
RS
1672003-02-27 Roger Sayle <roger@eyesopen.com>
168
169 * config/i386/cygwin.h: Don't include any other files directly.
170 * config/i386/mingw32.h: Don't include cygwin.h directly.
171 * config.gcc (cygwin, mingw32, uwin): Instead make these files
172 explicit in the tm_files variable.
173
6fc19dc9
AM
1742003-02-27 Alan Modra <amodra@bigpond.net.au>
175
176 * config/rs6000/rs6000.md: Add TI constant splitter.
177
c41536f5
AO
1782003-02-26 Alexandre Oliva <aoliva@redhat.com>
179
65c04548
AO
180 * builtins.c (purge_builtin_constant_p): Handle subreg of
181 constant_p_rtx too.
182
c41536f5
AO
183 * function.c (assign_stack_local_1): Truncate constant added to
184 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
185
dccd5213
DE
1862003-02-26 David Edelsohn <edelsohn@gnu.org>
187
188 * config.gcc: Add power4 to PowerPC with_cpu list.
189
47a5d8e7
JH
190Wed Feb 26 19:46:25 CET 2003 Jan Hubicka <jh@suse.cz>
191
192 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
193
cb9e4555
ZD
1942003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
195
196 * gcov-dump.c (print_prefix): Fix signedness warning.
197 * gcov-io.h (struct counter_section, struct counter_section_data): New.
198 (struct function_info): n_arc_counts field removed, n_counter_sections,
199 counter_sections fields added.
200 (struct gcov_info): arc_counts, n_arc_counts fields removed,
201 n_counter_sections, counter_sections fields added.
202 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
203 profile sections.
204 * profile.h (MAX_COUNTER_SECTIONS): New.
205 (struct section_info): New.
206 (struct profile_info): count_instrumented_edges,
207 count_edges_instrumented_now fields removed, n_sections, section_info
208 fields added.
209 (find_counters_section): Declare.
210 * profile.c (struct function_list): count_edges field removed,
211 n_counter_sections, counter_sections fields added.
212 (set_purpose, label_for_tag, build_counter_section_fields,
213 build_counter_section_value, build_counter_section_data_fields,
214 build_counter_section_data_value, build_function_info_fields,
215 build_function_info_value, build_gcov_info_fields,
216 build_gcov_info_value): New static functions.
217 (find_counters_section): New function.
218 (instrument_edges, get_exec_counts, compute_branch_probabilities,
219 branch_prob, create_profiler): Modified to support multiple profile
220 sections.
221
b0d7ef9a
JDA
2222003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
223
224 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
225 is 8 * STACK_BOUNDARY.
226 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
227
f6e91562
MM
2282003-02-26 Michael Matz <matz@suse.de>
229
230 * ra-colorize.c (merge_moves): Fix list handling.
231
f0375c66
NC
2322003-02-26 Nick Clifton <nickc@redhat.com>
233
234 * config/arm/arm.c (is_load_address): Rename to...
235 (arm_memory_load_p) ... this and make it check for SUBREGs and
236 constant loads that will be converted into loads from the
237 minipool.
238 (is_cirrus_insn): Rename to ...
239 (arm_cirrus_insn_p): ... this, for consistency. Replace test
240 of CIRRUS_NO with CIRRUS_NOT.
241 (cirrus_reorg): Use renamed functions.
242 (note_invalid_constants): Change from a void function to bool.
243 Add an extra parameter, saying whether the fixups should be
244 pushed. Return true if fixups are needed.
245 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
246 of CIRRUS_NO with CIRRUS_NOT.
247 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
248 other floating point co-processors can also affect this.
249 * config/arm/arm.md ("type" attribute): Add mav_farith and
250 mav_dmult. Replace references to "cirrus_type" attribute with
251 "type".
252 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
253 ("cirrus_type" attribute): Delete - use "type" instead.
254 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
255 'normal'.
256
0d446150
JH
257Tue Feb 25 22:46:27 CET 2003 Jan Hubicka <jh@suse.cz>
258
259 * objc-act.c: Include cgraph.h
260 (mark_referenced_methods): New function.
261 (objc_init): Call it.
262 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
263
264 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
265 mode.
266
267 * optabs.c (expand_fix): Do not widen the input operand.
268
269 * expr.c (emit_group_store): Fix crash when converting single
270 register into complex register.
271
272 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
273 * alias.c: Include timevar.h
274 (init_alias_analysis): Set timevar
275 * jump.c: Include timevar.h
276 (rebuild_jump_labels): Set timevar
277 * regcalss.c: Include timevar.h
278 (reg_scan): Set timevar
279 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
280
b17d5d7c
ZD
2812003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
282
283 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
284
285 * Makefile.in (loop-unroll.o): New.
286 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
287 (unroll_and_peel_loops): Declare.
288 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
289 flag_old_unroll_loops.
290 * loop.c (loop_invariant_p): Ditto.
291 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
292 flag_old_unroll_all_loops.
293 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
294 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
295 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
296 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
297 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
298 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
299 PARAM_MAX_ONCE_PEELED_INSNS): New.
300 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
301 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
302 instead of old one.
303 (flag_peel_loops): New.
304 (lang_independent_options): The new flags added.
305 (rest_of_compilation): Call new unroller.
306 (process_options): Setup flags for coexistence of old and new unroller.
307 * doc/invoke.texi: Document new options.
308 * doc/passes.texi: Document new unroller pass.
309
244f7aa9
DB
3102003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
311
312 * fixinc/fixincl.x: Regenerate
313
1d14f992
JZ
3142003-02-26 Josef Zlomek <zlomekj@suse.cz>
315
316 * function.c (assign_parms): Set reg_attrs for parameters passed in
317 registers.
318
8ace9f18
AM
3192003-02-26 Alan Modra <amodra@bigpond.net.au>
320
38a84391 321 PR target/9681
8ace9f18
AM
322 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
323
9a29ee42
DE
3242003-02-25 David Edelsohn <edelsohn@gnu.org>
325
326 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
327 pseudo-op.
328
8beccec8
RS
3292003-02-25 Roger Sayle <roger@eyesopen.com>
330
331 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
332 * cse.c (invalidate_skipped_set): Likewise.
333 * integrate.c (subst_constants): Likewise.
334 * jump.c (reversed_comparison_code_parts): Likewise.
335 * loop.c (canonicalize_condition): Likewise.
336 * simplify-rtx.c (simplify_relational_operation): Likewise.
337
b052d8ee
RS
3382003-02-25 Roger Sayle <roger@eyesopen.com>
339
340 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
341 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
342 the appropriate macro to define built-in function.
343 (fmod,fmodf,fmodl): New built-in functions.
344
345 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
346
8d454008
RH
3472003-02-25 Richard Henderson <rth@redhat.com>
348
349 * config/i386/i386.c (function_arg): Pass variable sized
350 structures correctly on the stack.
351
fc943f55
KH
3522003-02-25 Kazu Hirata <kazu@cs.umass.edu>
353
354 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
355 does not reduce the cost of SET.
356
14f00213
FS
3572003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
358
359 PR target/9732
360 * config/rs6000/rs6000.c (first_reg_to_save): Handle
361 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
362 (rs6000_emit_prologue): Likewise.
363 (rs6000_emit_epilogue): Likewise.
364 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
365 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
366
8164b171
RH
3672003-02-25 Richard Henderson <rth@redhat.com>
368
369 * real.c (real_to_integer2): Force overflow result only for
370 unsigned overflow.
371
9e48c409
KH
3722003-02-25 Kazu Hirata <kazu@cs.umass.edu>
373
374 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
375
3044064c
VM
3762003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
377 Richard Henderson <rth@redhat.com>
378
379 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4e21585b 380 there is no similar load.
3044064c 381
15aab9c0
VM
3822003-02-25 Vladimir Makarov <vmakarov@redhat.com>
383 Richard Henderson <rth@redhat.com>
384
385 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
386 sched-rgn.c.
387 (add_forward_dependence): New function prototype.
388
389 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
390 sched-init.h.
391 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
392 them to haifa-sched.c.
393
394 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
395 haifa_classify_insn): Move them from sched-rgn.c.
396
397 * sched-deps.c (add_dependence): Return flag of creating a new
398 entry.
399 (add_forward_dependence): New function.
400 (compute_forward_dependences): Use the function.
401
402 * sched-ebb.c (earliest_block_with_similiar_load): New function.
403 (add_deps_for_risky_insns): New function.
404 (schedule_ebb): Call the function.
405
4062003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9
AH
407
408 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
409 TARGET_VECTOR_OPAQUE_P. Document accordingly.
410
411 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
412 opaque types fail.
413
414 * c-typeck.c (comptypes): Change call to vector_types_compatible
415 to vector_opaque_p.
416 (convert_for_assignment): Call vector_opaque_p instead of
417 vector_types_compatible.
418 (really_start_incremental_init): Disallow initialization of opaque
419 types.
420
421 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
422 Define TARGET_VECTOR_OPAQUE_P.
423 (TARGET_INITIALIZER): Same.
424
425 * target.h (struct gcc_target): Remove vector_types_compatible.
426 Add vector_opaque_p.
427
428 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
429 Remove.
430 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
431 a vector type. Change return type to bool.
432 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
433 (TARGET_VECTOR_OPAQUE_P): Define.
434
435 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
436 target hook.
437 Include target.h.
438 (cp_parser_init_declarator): Fix typo in function comments.
439
fa1a0d02
JH
440Tue Feb 25 12:35:34 CET 2003 Jan Hubicka <jh@suse.cz>
441
442 * Makefile.in (lcm.o): Add dependency on function.h
443 * lcm.c (function.h): Include.
444 * i386.c (machine_function, ix86_stack_locals,
445 * ix86_save_varrargs_registers) : Move to
446 ...
447 * i386.h (machine_function, ix86_stack_locals,
448 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
449 (ix86_optimize_mode_switching): New.
450 * i386.md (fix patterns): Set ix86_optimize_mode_switching
451
b103bfef
NC
4522003-02-25 Nick Clifton <nickc@redhat.com>
453
454 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
455 of fourth arg is 'fndecl' not 'indirect'. Update comment
456 describing the function's parameters.
457
2d21f7d6
JH
458Mon Feb 24 22:08:22 CET 2003 Jan Hubicka <jh@suse.cz>
459
460 * combine.c (simplify_shift_const): Fix previous patch.
461
2bac97f7
JL
4622003-02-24 Jeff Law <law@redhat.com>
463
464 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
465 alternative.
466 (testsi_1, testhi_1, testqi_1): Likewise.
467
f8dc212b
RO
4682003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
469
470 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
471 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
472 * doc/extend.texi (Tru64 Pragmas): Reflect this.
473
474 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
475 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
476 * fixinc/fixincl.x: Regenerate.
477 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
478 testcase.
479 Fixes PR c/5059, c/6126, other/9671.
480
44ee6e9e
RS
4812003-02-24 Roger Sayle <roger@eyesopen.com>
482
483 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
484 from handle_braces in "%{...}".
485
463f02cd
KK
4862003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
487
488 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
489 (prepare_move_operands): Handle TLS operands.
490 (tls_symbolic_operand): New.
491 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
492 (legitimize_pic_address): Do nothing for the TLS symbol.
493 (sh_encode_section_info): Handle TLS case.
494 (sh_strip_name_encoding): Drop TLS encoding.
495 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
496 * config/sh/sh.h (SH_TLS_ENCODING): Define.
497 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
498 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
499 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
500 * config/sh/sh.md: Define TLS UNSPEC constants.
501 (type): Add tls_load.
502 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
503 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
504 ("tls_initial_exec"): New insn.
505 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
506 ("load_gbr"): New insn.
507
508 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
509 * configure: Regenerate.
510
8403445a
AM
5112003-02-24 Alan Modra <amodra@bigpond.net.au>
512
6fc19dc9 513 PR 9297, PR 9722
8403445a
AM
514 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
515 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
516 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
517 (enum block_op_methods): Reorder for better store_expr optimization.
518 * expr.c (store_expr): Test bit 1 of "want_value" for call param
519 stores, test bit 0 for original want_value meaning. Pass
520 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
521 recursive calls, and calls to expand_param.
522 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
523 expected, set target to 0 rather than to subtarget. Formatting.
524
ef906381
KH
5252003-02-23 Kazu Hirata <kazu@cs.umass.edu>
526
527 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
528
16226f1e
KG
5292003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
530
531 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
532 new default behavior.
533 * ggc-common.c: Include sys/resource.h.
534 (ggc_rlimit_bound): New function.
535 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
536 defaults to account for rlimits.
537
9e555526
RH
5382003-02-22 Richard Henderson <rth@redhat.com>
539
540 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
541
5422003-02-22 Kelley Cook <kelley@dwhoops.info>
543
544 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
545 (ix86_tune_string): Rename from ix86_cpu_string.
546
9d913bbf
KC
5472003-02-22 Kelley Cook <kelleycook@comcast.net>
548
549 * config/i386/i386.c: Replace "mcpu" with "mtune".
550 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
551 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
552 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
553 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
554
d2c172bf
AS
5552003-02-23 Andreas Schwab <schwab@suse.de>
556
557 * config.gcc: Delete references to m68k/t-linux and
558 m68k/t-linux-aout.
559 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
560
b3de7382
JH
561Sat Feb 22 20:22:19 CET 2003 Jan Hubicka <jh@suse.cz>
562
563 * toplev.c (rest_of_compilation): Apply fotgotten hunk
564 of track scheduling patch.
565
90b8be73
JH
566Sat Feb 22 19:29:28 CET 2003 Jan Hubicka <jh@suse.cz>
567
568 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
569 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
570
764c4414
JH
571Sat Feb 22 12:42:16 CET 2003 Jan Hubicka <jh@suse.cz>
572
573 * c-decl.c (c_expand_body_1): Fix.
574
1c4a429a
JH
575Sat Feb 22 03:13:36 CET 2003 Jan Hubicka <jh@suse.cz>
576
577 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
578
579 * cfgcleanup.c (try_forward_edges): Don't check loop structures
580 when not optimizing.
581 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
582 when not expensive.
583 * toplev.c (rest_of_compilation): Duplicate loop headers only when
584 optimizing; Delete trivially dead insns early; fix optimize check.
585
586 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
587 dependency on cgraph.h
588 * c-decl.c: Include cgraph.h
589 (finish_function): Update call of tree_inlinable_function_p.
590 * c-objc-common.c: Include cgraph.h
591 * cgraph.h: New file.
592 * cgraphunit.c: New file.
593 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
594 (cgraph_nodes, cgraph_n_nodes): Globalize.
595 (cgraph_finalize_function, cgraph_finalize_compilation_unit
596 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
597 Move into cgraphunit.c
598 * tree-inline.c: Include cgraph.h
599 * tree-inline.c: Include cgraph.h
600
1e2115dc
JZ
6012003-02-22 Josef Zlomek <zlomekj@suse.cz>
602
603 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
604 for copying a register.
605
26182e15
SB
6062003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
607
608 PR other/3782
609 * toplev.c (process_options): If flag_detailed_statistics is set,
610 then set time_report as well.
611
b6553814
SB
612 PR c/8828
613 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
614 insns. Update comments to reflect what the function really does.
615
c0a47a61
RS
6162003-02-21 Roger Sayle <roger@eyesopen.com>
617
618 * fold-const.c (omit_one_operand): No longer static.
619 * tree.h (omit_one_operand): Prototype here.
620 (div_and_round_double): Keep fold-const.c prototypes together.
621 * builtins.c (builtin_mathfn_code): Handle binary built-in
622 funtions, such as "pow" and "atan2".
623 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
624 Simplify optimizations using "type" the builtin's return type.
625
51928907
HPN
6262003-02-22 Hans-Peter Nilsson <hp@axis.com>
627
5b296d93
HPN
628 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
629 Fix functionalization typo.
630
51928907
HPN
631 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
632 in an asm.
633
9ac121af
KG
6342003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
635
636 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
637 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
638 documentation.
639 * ggc-common.c: Include params.h
640 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
641 init_ggc_heuristics): New functions.
642 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
643 init_ggc_heuristics): Prototype.
644 * toplev.c (print_version): Output GGC heuristics.
645 (parse_options_and_default_flags): Call init_ggc_heuristics.
646
453ee231
JH
647Sat Feb 22 02:35:07 CET 2003 Jan Hubicka <jh@suse.cz>
648
649 * i386.c (def_builtin): Special case 64bit builtins.
650 (MASK_SSE164, MASK_SSE264): New constants.
651 (builtin_description): Add 64bit builtins.
652 (ix86_init_mmx_sse_builtins): Likewise.
653 * i386.h (enum ix86_builtins): Likewise.
654 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
655 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
656 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
657 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
658 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
659 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
660 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
661
d50672ef
JH
662Sat Feb 22 00:48:22 CET 2003 Jan Hubicka <jh@suse.cz>
663
664 * i386.c (builtin_description): Add __builtin_ia32_paddq and
665 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
666 and __builtin_ia32_psubq128.
667 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
668 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
669 (mmx_adddi3, mmx_subdi3): New.
670 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
671 * xmmintrin.h (_mm_movepi64_pi64): New.
672 (_mm_add_epi64, _mm_sub_epi64): fix.
673 (_mm_mul_pu16): Rename to...
674 (_mm_mul_su32): ... this one.
675
676 * builtins.c (expand_builtin_expect): Do not predict
677 flag_guess_branch_prob is not set.
678 * c-semantics.c (expand_stmt): Likewise.
679 * predict.c (predict_insn): Likewise.
680 * stmt.c (expand_continue_loop): Likewise.
681 * toplev.c (rest_of_compilation): Do not call
682 note_prediction_to_br_prob and note_prediction_to_br_prob
683 when not optimizing.
684
9809a362
JH
685Fri Feb 21 23:10:13 CET 2003 Jan Hubicka <jh@suse.cz>
686
687 * cfgrtl.c (commit_edge_insertions): Call
688 find_many_sub_basic_block only when some code has been emitted.
689 (commit_edge_insertions_watch_calls): Bring into sync with
690 commit_edge_insertions
691
a93d1ba2
R
692Fri Feb 21 20:41:29 2003 J"orn Rennecke <joern.rennecke@superh.com>
693
694 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
695
696 * sh.md (binary_sf_op): Use extra constant operand instead of
697 negating constant operand 4.
698 * sh.c (sh_expand_binop_v2sf): Supply it.
699
a8d0ddaf
ZW
7002003-02-21 Zack Weinberg <zack@codesourcery.com>
701
702 * cpphash.h (struct lexer_state): Add directive_wants_padding.
703 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
704 for directives of type INCL.
705 (glue_header_name, parse_include): Use get_token_no_padding.
706 * cppmacro.c (replace_args): If directive_wants_padding,
707 provide padding tokens.
708
902ac719
KH
7092003-02-21 Kazu Hirata <kazu@cs.umass.edu>
710
711 * config/h8300/h8300.md (a peephole2): New.
712
9dca2ad5
JH
713Fri Feb 21 11:05:44 CET 2003 Jan Hubicka <jh@suse.cz>
714
715 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
716 (commit_edge_insertions): Call find_many_sub_basic_blocks
717
718 * reg-stack.c (convert_regs): Cleax aux for blocks.
719
64465d27
JH
720Fri Feb 21 10:29:52 CET 2003 Jan Hubicka <jh@suse.cz>
721
722 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
723
9e7d0b92
GN
7242003-02-21 Glen Nakamura <glen@imodulo.com>
725
726 PR optimization/8613
727 * builtins.c (expand_builtin): Emit postincrements before expanding
728 builtin functions.
729
a7582c8c
BE
7302003-02-21 Ben Elliston <bje@redhat.com>
731
732 PR other/5634
733 * doc/install.texi (Configuration): Explain using $HOME instead of
734 the ~ metacharacter when referring to home directories.
735
91710e62
AO
7362003-02-20 Alexandre Oliva <aoliva@redhat.com>
737
738 * configure.in (TARGET_SYSTEM_ROOT): Set default to
739 ${exec_prefix}/${target_alias}/sys-root. Match explicit
740 '${exec_prefix}' (in addition to the expansion thereof) as
741 relocatable.
742 * configure: Rebuilt.
743
d64f6f86
KH
7442003-02-20 Kazu Hirata <kazu@cs.umass.edu>
745
746 * config/h8300/h8300.md (addhi3_incdec): Change the name to
747 *addhi3_incdec.
748 (addsi3_incdec): Change the name to *addsi3_incdec.
749
fd7acc30
RS
7502003-02-20 Roger Sayle <roger@eyesopen.com>
751
752 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
753
1c2de642
TM
7542003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
755
756 PR fortran/9038
757 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
758 options to be ignored.
759 (c_common_decode_option): Ignore them when preprocessing.
760
b9422b69
JH
761Thu Feb 20 21:41:19 CET 2003 Jan Hubicka <jh@suse.cz>
762
fd7acc30
RS
763 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
764 global variables.
765 (lang_independent_options): Add -fsched2-use-superblocks
766 -fsced2-use-traces.
b9422b69
JH
767 (rest_of_compilation): Deal with it.
768 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
769 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
770 Declare.
b9422b69
JH
771 * rtl.h (reg_to_stack): Update prototype.
772 * reg-stack.c (reg_to_stack): Return when something has changed;
773 update liveness when executing after superblock scheduling.
774
775 * combine.c (simplify_shift_const): Simplify few special cases
776 into constants.
777
a62bfff2
DE
7782003-02-20 David Edelsohn <edelsohn@gnu.org>
779
780 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
781 (add.,subf.,neg.): Change attribute to fast_compare.
782 All DFA descriptions updated.
783
dbbf88d1
NS
7842003-02-20 Nathan Sidwell <nathan@codesourcery.com>
785
786 Change base class access representation.
787 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
788 TREE_VIA_PRIVATE): Remove.
789 (BINFO_BASEACCESSES): New binfo elt.
790 (BINFO_BASEACCESS): New accessor.
791 (BINFO_ELTS): Increase.
792 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
793 (access_public_node, access_protected_node,
794 access_private_node): New global nodes.
795 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
796 * dbxout.c (dbxout_type): Adjust.
797 * dwarf2out.c (gen_inheritance_die): Add access parameter.
798 (gen_member_die): Adjust.
799 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
800 (output_type): Adjust.
801 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
802
803 Change base class access representation. Share virtual base
804 binfos.
805 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
806 call.
807 * cp/class.c (build_base_path): Likewise.
808 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
809 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
810 (make_new_vtable): Adjust.
811 (force_canonical_binfo_r): Delete.
812 (force_canonical_binfo): Delete.
813 (mark_primary_virtual_base): Delete.
814 (dfs_unshared_virtual_bases): Delete.
815 (mark_primary_bases): Adjust.
816 (maybe_warn_about_overly_private_class): Adjust.
817 (dfs_base_derived_from): Delete.
818 (base_derived_from): Follow the inheritance chain.
819 (struct find_final_overrider_data): Add vpath member.
820 (dfs_find_final_overrider): Adjust.
821 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
822 (find_final_overrider): Adjust.
823 (update_vtable_entry_for_fn): Adjust.
824 (modify_all_vtables): Adjust.
825 (walk_subobject_offsets): Adjust.
826 (layout_nonempty_base_or_field): Adjust.
827 (layout_empty_base): Remove last parameter. Adjust.
828 (build_base_field): Adjust.
829 (build_base_fields): Adjust.
830 (propagate_binfo_offsets): Remove last parameter. Adjust.
831 (dfs_set_offset_for_unshared_vbases): Delete.
832 (layout_virtual_bases): Adjust.
833 (finish_struct_1): Adjust.
834 (init_class_processing): Don't init access nodes.
835 (dfs_get_primary_binfo): Delete.
836 (get_primary_binfo): Adjust.
837 (dump_class_hierarchy_r): Remove most derived arg, add IGO
838 parameter. Adjust.
839 (dump_class_hierarchy): Adjust.
840 (finish_vtbls): Adjust.
841 (get_original_base): Delete.
842 (build_vtt_inits): Adjust.
843 (dfs_build_secondary_vptr_vtt_inits): Adjust.
844 (dfs_ctor_vtable_bases_queue_p): Adjust.
845 (build_ctor_vtbl_group): Adjust.
846 (dfs_accumulate_vtbl_inits): Adjust.
847 (build_vtbl_initializer): Adjust.
848 (build_vbase_offset_vtbl_entries): Adjust.
849 (add_vcall_offset_vtbl_entries_1): Adjust.
850 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
851 (access_*_node): Remove.
852 (CANONICAL_BINFO): Delete.
853 (BINFO_UNSHARED_MARKED): Remove.
854 (BINFO_MARKED): Set LANG_FLAG_0 directly.
855 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
856 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
857 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
858 Delete.
859 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
860 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
861 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
862 Delete.
863 (BINFO_DEPENDENT_BASE_P): New.
864 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
865 index.
866 (markedp, unmarkedp): Adjust.
867 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
868 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
869 find_vbase_instance, binfo_for_vbase): Delete.
870 (copied_binfo, original_binfo): Declare.
871 (finish_base_specifier): Add virtual_p arg.
872 (unshare_base_binfos): Delete.
873 (copy_base_binfos): Declare.
874 (reverse_path): Delete.
875 * cp/decl.c (xref_basetypes): Access and virtuality passed
876 differently. Don't copy direct base binfos here. Call
877 copy_base_binfos.
878 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
879 (initialize_vtbl_ptrs): Adjust.
880 (expand_member_init): Adjust.
881 * cp/parser.c (cp_parser_base_specifier): Adjust.
882 * cp/pt.c (instantiate_class_template): Adjust.
883 (get_template_base_recursive): Adjust.
884 * cp/rtti.c (get_pseudo_ti_init): Adjust.
885 (get_pseudo_ti_desc): Adjust.
886 * cp/tree.c (unshare_base_binfos): Rename to ...
887 (copy_base_binfos): ... here, reimplement.
888 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
889 (reverse_path): Remove.
890 * cp/typeck.c (get_delta_difference): Adjust error messages.
891 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
892 * cp/search.c (lookup_base_r): Adjust.
893 (dynamic_cast_base_recurse): Adjust.
894 (canonical_binfo): Remove.
895 (dfs_canonical_queue): Remove.
896 (dfs_assert_unmarked_p): Remove.
897 (assert_canonical_unmarked): Remove.
898 (shared_marked_p, shared_unmarked_p): Remove.
899 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
900 (dfs_access_in_type): Adjust.
901 (access_in_type): Adjust.
902 (dfs_accessible_queue_p): Adjust.
903 (dfs_accessible_p): Adjust.
904 (is_subobject_of_p_1, is_subobject_of_p): Remove.
905 (struct lookup_field_info): Remove from_dep_base_p field.
906 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
907 (lookup_field_r): Remove dependent base code.
908 (lookup_member): Likewise.
909 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
910 (dfs_unmarked_real_bases_queue_p): Remove.
911 (dfs_marked_real_bases_queue_p): Remove.
912 (dfs_skip_vbases): Remove.
913 (dfs_get_pure_virtuals): Adjust.
914 (markedp, unmarkedp): Adjust.
915 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
916 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
917 (dfs_unmark): Adjust.
918 (dfs_get_vbase_types):Remove.
919 (dfs_build_inheritance_graph_order): Remove.
920 (get_vbase_types): Remove
921 (dfs_find_vbase_instance): Remove.
922 (find_vbase_instance): Remove.
923 (dfs_debug_unmarkedp): Adjust.
924 (dependent_base_p): Remove.
925 (dfs_push_type_decls): Adjust.
926 (dfs_push_decls): Adjust.
927 (dfs_no_overlap_yet): Adjust.
928 (copied_binfo): New function.
929 (original_binfo): New function.
930 (binfo_for_vbase): Remove.
931
932 Change base class access representation.
933 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
934 (add_interface_do): Likewise.
935
6d6ab190
DE
9362003-02-20 David Edelsohn <edelsohn@gnu.org>
937
a8d0ddaf
ZW
938 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
939 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
940 insn reservations.
941 (power4-fpstore): Compact.
942
2dd5df7c
KH
9432003-02-20 Kazu Hirata <kazu@cs.umass.edu>
944
945 * config/h8300/h8300.md (*iorsi3_w): New.
946
8fa08316
JZ
9472003-02-20 Josef Zlomek <zlomekj@suse.cz>
948
949 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
950 * rtl.c (reg_note_name): Likewise.
951 * rtl.h (enum reg_note): Likewise.
952 * doc/invoke.texi: Likewise.
953 * doc/rtl.texi: Likewise.
954
c8717368
JZ
9552003-02-20 Josef Zlomek <zlomekj@suse.cz>
956
957 * bb-reorder.c (find_traces_1_round): Fix comment typo.
958
3bc400cd
RS
9592003-02-19 Roger Sayle <roger@eyesopen.com>
960
961 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
962 addition in the presence of signaling NaNs.
963
b5a49c0b
KW
9642003-02-19 Krister Walfridsson <cato@df.lth.se>
965
966 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
967
472f2723
KH
9682003-02-19 Kazu Hirata <kazu@cs.umass.edu>
969
970 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
971 ORing with 0xffff??00 with the highest bit of the ?? part set.
972 (compute_logical_op_length): Update.
973 (compute_logical_op_cc): Likewise.
974
6d9cc15b
JZ
9752003-02-19 Josef Zlomek <zlomekj@suse.cz>
976
977 * bb-reorder.c (find_traces_1_round): Fixed condition for small
978 destination block with multiple predecessors.
979 (connect_traces): Check whether the block is a start of trace.
980
563a317a
JH
981Wed Feb 19 19:00:24 CET 2003 Jan Hubicka <jh@suse.cz>
982
983 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
984 * function.c (assign_params): Likewise.
985 * arm-protos.h (arm_init_cumulative_args): Update prototype.
986 * arm.c (arm_init_cumulative_args): Update function.
987 * arm.h (INIT_CUMULATIVE_ARGS): Update.
988 * avr-protos.h (init_cumulative_args): Update prototype.
989 * avr.c (init_cumulative_args): Update function.
990 * avr.h (INIT_CUMULATIVE_ARGS): Update.
991 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
992 * d30v.c (d30v_init_cumulative_args): Update function.
993 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
994 * frv-protos.h (frv_init_cumulative_args): Update prototype.
995 * frv.c (frv_init_cumulative_args): Update function.
996 * frv.h (INIT_CUMULATIVE_ARGS): Update.
997 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
998 * pa.h (INIT_CUMULATIVE_ARGS): Update.
999 * sparc-protos.h (init_cumulative_args): Update prototype.
1000 * sparc.c (init_cumulative_args): Update function.
1001 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
1002 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
1003
be9d08c2
KH
10042003-02-19 Kazu Hirata <kazu@cs.umass.edu>
1005
1006 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
1007 (*ashiftsi_sextqi_7): Likewise.
1008
f23147fe
RO
10092003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1010
1011 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
1012 ISO C99 and C++.
1013
1014 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
1015 for C++ on IRIX 6.5.1[89].
1016 * fixinc/tests/base/internal/sgimacros.h: New file.
1017
1018 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
1019 * fixinc/tests/base/internal/wchar_core.h: New file.
a8d0ddaf 1020
f23147fe
RO
1021 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
1022 socklen_t definition.
1023 * fixinc/fixincl.x: Regenerate.
1024 * fixinc/tests/base/sys/socket.h: New file.
1025 Fixes PR libgcj/9652.
1026
30e4d9d4
JH
1027Wed Feb 19 17:22:51 CET 2003 Jan Hubicka <jh@suse.cz>
1028
1029 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
1030
2792d578
DE
10312003-02-19 David Edelsohn <edelsohn@gnu.org>
1032
1033 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
1034 align_jumps_max_skip and align_loops_max_skip.
1035
10362003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
1037
1038 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
1039 test size if named section.
1040
48a5f2fa
DJ
10412003-02-19 Daniel Jacobowitz <drow@mvista.com>
1042
1043 * expr.c (expand_expr): Use gen_int_mode for the argument
1044 to gen_rtx_MULT.
1045
9e889775
JH
1046Wed Feb 19 14:22:42 CET 2003 Jan Hubicka <jh@suse.cz>
1047
1048 * i386.md (cosxf2): Fix conditional.
1049
f4c07fbf
KH
10502003-02-19 Kazu Hirata <kazu@cs.umass.edu>
1051
1052 * config/h8300/h8300.md (extendqisi2): Change to an expander.
1053 (*extendqisi2_h8300): New.
1054 (*extendqisi2_h8300hs): Likewise.
1055
590734b6
KH
10562003-02-19 Kazu Hirata <kazu@cs.umass.edu>
1057
1058 * config/h8300/h8300-protos.h: Update the prototype for
1059 split_adds_subs. Remove the prototypes for
1060 const_int_le_2_operand and const_int_le_6_operand.
1061 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
1062 (const_int_le_2_operand): Remove.
1063 (const_int_le_6_operand): Likewise.
1064 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
1065 for const_int_le_2_operand and const_int_le_6_operand.
1066 * config/h8300/h8300.md: Update all uses of split_adds_subs.
1067 (a peephole2): New.
1068
c001c39b
JH
1069Tue Feb 18 23:50:59 CET 2003 Jan Hubicka <jh@suse.cz>
1070
1071 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
1072 (cgraph_expand_function): Rewrite.
1073
2f51bb1d 10742003-02-18 Matt Austern <austern@apple.com>
3bc400cd 1075
2f51bb1d 1076 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 1077 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 1078
ff6e1a2f
KH
10792003-02-18 Kazu Hirata <kazu@cs.umass.edu>
1080
1081 * config/h8300/h8300.c (general_operand_src): Always check
1082 MODE.
1083 (general_operand_dst): Likewise.
1084
78bd5210
RS
10852003-02-18 Roger Sayle <roger@eyesopen.com>
1086
1087 * convert.c (convert_to_real): Also optimize (float)log(x) into
1088 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
1089
9f3a9a08
KK
10902003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
1091
a8d0ddaf 1092 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 1093 (sh_cannot_copy_insn_p): New.
a8d0ddaf 1094 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 1095
d7ddbe24
RH
10962003-02-18 Richard Henderson <rth@redhat.com>
1097
1098 * c-common.c (handle_used_attribute): Accept static data too.
1099
11002003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 1101 Aldy Hernandez <aldyh@redhat.com>
22d324c1 1102
a8d0ddaf 1103 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 1104
a8d0ddaf 1105 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 1106
a8d0ddaf
ZW
1107 * target-def.h (TARGET_INITIALIZER): Add
1108 TARGET_VECTOR_TYPES_COMPATIBLE.
1109 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 1110
a8d0ddaf 1111 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 1112
a8d0ddaf
ZW
1113 * c-typeck.c (comptypes): Take into account
1114 TARGET_VECTOR_TYPES_COMPATIBLE.
1115 (convert_for_assignment): Same.
22d324c1 1116
a8d0ddaf
ZW
1117 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
1118 (rs6000_spe_vector_types_compatible): New.
1119 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 1120
e5378e8d
AS
11212003-02-19 Andreas Schwab <schwab@suse.de>
1122
1123 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
1124 * toplev.c: Include langhooks-def.h.
1125
fcc11c35
CD
11262003-02-18 Chris Demetriou <cgd@broadcom.com>
1127
1128 * config/mips/mips.h (enum processor_type): Sort entries
1129 alphabetically.
1130 * config/mips/mips.md (define_attr cpu): Sync with processor_type
1131 enum values, including adding entries that were missing.
1132
29db2a1e
R
1133Tue Feb 18 20:15:54 2003 J"orn Rennecke <joern.rennecke@superh.com>
1134
3bc400cd
RS
1135 * sh.c (calc_live_regs): Also check GET_CODE when checking if
1136 initial value for PR_REG is still the PR_REG register.
29db2a1e 1137
582d11e6
JW
11382003-02-18 Jim Wilson <wilson@redhat.com>
1139
1140 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
1141 instruction in output template.
1142 (bsp_value): Change output template from string to C code, add %,
1143 before actual instruction.
1144 (flushrs): Mark as not predicable.
1145
3edc4b23
KW
11462003-02-18 Krister Walfridsson <cato@df.lth.se>
1147
1148 * inclhack.def (netbsd_bogus_semicolon): New fix.
1149 * fixincl.x: Rebuilt.
1150 * tests/base/ctype.h: Update.
1151
080ea642
RS
11522003-02-18 Roger Sayle <roger@eyesopen.com>
1153
1154 * fold-const.c (negate_expr_p): New function to determine whether
1155 an expression can be negated cheaply.
1156 (fold) [MINUS_EXPR]: Use it to determine whether to transform
1157 -A - B into -B - A for floating point types.
1158
e360ab39
RS
11592003-02-18 Roger Sayle <roger@eyesopen.com>
1160
1161 * sbitmap.c (sbitmap_resize): New function.
1162 * sbitmap.h (sbitmap_resize): Prototype here.
1163 * recog.c (split_all_insns): Use sbitmap_resize.
1164
6b00cbc7
KH
11652003-02-18 Kazu Hirata <kazu@cs.umass.edu>
1166
1167 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
1168 insn length.
1169 (extendqisi2): Likewise.
1170 (*extendhisi2_h8300): Likewise.
1171
2b59501b 11722003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 1173
2b59501b
MA
1174 * langhooks.h, langhooks-def.h: introduce new langhook,
1175 final_write_globals, with write_global_declarations as default.
1176 * toplev.c: Move invocation of wrapup_global_declarations from
1177 compile_file to new function, write_global_declarations. Change
1178 compile_file to use final_write_globals hook. Change
1179 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
a8d0ddaf
ZW
1180 conditional.
1181
131efcd8
JDA
11822003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1183
1184 * pa.md: Correct and enhance comment.
1185
e17aafd1
GK
11862003-02-18 Geoffrey Keating <geoffk@apple.com>
1187
1188 * gcc.c (validate_switches): Don't scan past closing '}'.
1189
f57a2e3a
BE
11902003-02-18 Ben Elliston <bje@redhat.com>
1191
1192 PR c++/1607
1193 * doc/extend.texi (Function Attributes): Document the effect of
1194 the C++ "this" parameter on the counting of arguments for the
1195 "format" and "format_arg" attributes.
1196
9b0c0e9f
AH
11972003-02-17 Aldy Hernandez <aldyh@redhat.com>
1198
a8d0ddaf
ZW
1199 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
1200 (__ev_stdw): Same.
1201 (__ev_stdh): Same.
9b0c0e9f 1202
35a3fa09
JH
1203Mon Feb 17 16:16:54 CET 2003 Jan Hubicka <jh@suse.cz>
1204
1205 * recog.c (split_all_insns): Fix memory overflow.
1206
6dc50366
KH
12072003-02-17 Kazu Hirata <kazu@cs.umass.edu>
1208
1209 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
1210 (cmphi): Likewise.
1211 (*cmphi_h8300): Likewise.
1212 (*cmphi_h8300hs): Likewise.
1213 (cmpsi): Likewise.
1214 (7 peephole2): Likewise.
1215
096daf41
JH
1216Sun Feb 16 23:07:52 CET 2003 Jan Hubicka <jh@suse.cz>
1217
1218 * c-typeck.c (build_c_cast): Fold constant variables into
1219 initial values.
1220
35113fde
GP
12212003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1222
1223 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
1224 (Binaries): Ditto for Sinix/Reliant Unix.
1225
3a1944a6
RE
12262003-02-16 Richard Earnshaw <rearnsha@arm.com>
1227
1228 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
1229 not overlap the final result register.
1230
cdd4b0d4
AB
12312003-02-16 Arend Bayer <arend.bayer@web.de>
1232 Richard Henderson <rth@redhat.com>
1233
ddb9eedd 1234 PR c/8068
cdd4b0d4
AB
1235 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
1236 rearrange mult arguments for less recursion.
1237 (extract_muldiv): New. Prevent runaway recursion.
1238
616f273a
DS
12392003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
1240
1241 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
1242 MASK_ALIGN_DOUBLE.
1243
881b2a96
RS
12442003-02-15 Roger Sayle <roger@eyesopen.com>
1245
1246 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
1247 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
1248 (ext_80387_constants_table): Global table of 80387 special constants
1249 guarded by ext_80387_constants_init flag when not initialized.
1250 (init_ext_80387_constants): New function to initialize this table.
1251 (standard_80387_constant_p): Extend to recognize extra 80387
1252 constants, in XFmode, on processors where this is a win.
1253 (standard_80387_constant_opcode): New function to return the
1254 opcode associated with standard_80387_constant_p.
1255 (standard_80387_constant_rtx): New function to return the XFmode
1256 CONST_DOUBLE associated with standard_80387_constant_p.
1257 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
1258
1259 * config/i386/i386-protos.h (standard_80387_constant_opcode):
1260 Prototype here.
1261 (standard_80387_constant_rtx): Likewise.
1262
1263 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
1264 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
1265 *movtf_integer): Simplify using new standard_80387_constant_opcode.
1266
d203738b
GK
12672003-02-15 Geoffrey Keating <geoffk@apple.com>
1268
1269 * doc/invoke.texi (Optimize Options): Correct @option syntax.
1270
0b077eac
RH
12712003-02-15 Richard Henderson <rth@redhat.com>
1272
1273 * Makefile.in (cfglayout.o): Depend on TARGET_H.
1274 * cfglayout.c: Include target.h.
1275 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
1276 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
1277 * target.h (struct gcc_target): Add cannot_copy_insn_p.
1278
1279 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
1280 (TARGET_CANNOT_COPY_INSN_P): New.
1281 (override_options): Revert 2003-02-08 hack.
1282
9a71ece1
RH
12832003-02-15 Richard Henderson <rth@redhat.com>
1284
1285 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
1286 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
1287
b54cf83a
DE
12882003-02-15 David Edelsohn <edelsohn@gnu.org>
1289
1290 * config/rs6000/rs6000.h (processor_type): Add PPC440.
1291 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1292 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1293 TARGET_SCHED_VARIABLE_ISSUE): Define.
1294 (rs6000_use_dfa_pipeline_interface): New function.
1295 (rs6000_multipass_dfa_lookahead): New Function.
1296 (rs6000_variable_issue): New function.
1297 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
1298 (rs6000_issue_rate): Add PPC440.
1299 * config/rs6000/rs6000.md (unspec list): Correct typo.
1300 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
1301 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
1302 cmp, delayed_cr, mfcr, mtcr.
1303 (automata_option): Set "ndfa".
1304 (extendMMNN2): Update attributes.
1305 (movcc_internal1): Discourage move to non-cr0. Update
1306 attributes.
1307 (movMM_update): Update attributes.
1308 (cmpMM_internal): Update attributes.
1309 (sCC CR materialization): Update attributes.
1310 (branch patterns): Do not discourage non-cr0.
1311 (cr logical patterns): Prefer destructive register allocation.
1312 Update attributes.
1313 (movesi_from_cr): Update attribute.
1314 (mtcrf_operation): Update attribute.
1315 (mtcrfsi): Update attribute.
1316 * config/rs6000/40x.md: New file.
1317 * config/rs6000/603.md: New file.
1318 * config/rs6000/6xx.md: New file.
1319 * config/rs6000/7450.md: New file.
1320 * config/rs6000/7xx.md: New file.
1321 * config/rs6000/mpc.md: New file.
1322 * config/rs6000/power4.md: New file.
1323 * config/rs6000/rios1.md: New file.
1324 * config/rs6000/rios2.md: New file.
1325 * config/rs6000/rs64.md: New file.
1326 [Some DFA descriptions based on work by Michael Hayes]
1327
99dc7277
RH
13282003-02-15 Richard Henderson <rth@redhat.com>
1329
1330 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
1331 successors with multiple predecessors.
1332 (connect_traces): Try harder to copy traces of length 1.
1333
1334 * function.h (struct function): Add computed_goto_common_label,
1335 computed_goto_common_reg.
1336 * function.c (free_after_compilation): Zap them.
a8d0ddaf 1337 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
1338 indirect branch per function.
1339
5f24e0dc
RH
13402003-02-15 Richard Henderson <rth@redhat.com>
1341
1342 * cfgcleanup.c: Include params.h.
1343 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
1344 too many outgoing edges from a block.
1345 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
1346 * params.def (max-crossjump-edges): New.
1347 * doc/invoke.texi: Document it.
1348
9381bbc9
RH
13492003-02-15 Richard Henderson <rth@redhat.com>
1350
a8d0ddaf
ZW
1351 * recog.c (split_all_insns): Include new blocks in life update;
1352 do a global life update.
9381bbc9 1353
e898926c
DS
13542003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
1355
1356 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
1357 Update copyright.
1358 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
1359 -mno-cygwin case.
1360
ce65116b
FH
13612003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1362
1363 PR optimization/7702
1364 * reload1.c (reload_cse_simplify_set): Honor
1365 CANNOT_CHANGE_MODE_CLASS.
1366
fe7496dd
AO
13672003-02-14 Alexandre Oliva <aoliva@redhat.com>
1368
1369 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
1370 function.
1371 * config/mn10300/mn10300-protos.h: Declare it.
1372 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
1373 attribute cc of instructions that may use clr.
1374
6017c719
KH
13752003-02-14 Kazu Hirata <kazu@cs.umass.edu>
1376
1377 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
1378 (x - (x & y)) is found.
1379
9fb28a67
RO
13802003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1381
1382 * configure.in: Fix typo.
1383 * configure: Regenerate.
1384
60f469fa
KH
13852003-02-14 Kazu Hirata <kazu@cs.umass.edu>
1386
1387 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
1388
8fd73754 13892003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 1390
a8d0ddaf 1391 PR opt/2391
ce65116b
FH
1392 * combine.c: Fix spelling in comment.
1393 (cached_nonzero_bits): New function.
1394 (cached_num_sign_bit_copies): New function.
8fd73754
AN
1395 (nonzero_bits_with_known): New macro.
1396 (num_sign_bit_copies_with_known): New macro.
ce65116b 1397 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
1398 arguments. Change calls from nonzero_bits to
1399 nonzero_bits_with_known.
ce65116b 1400 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
1401 three new arguments. Change calls from num_sign_bit_copies to
1402 num_sign_bit_copies_with_known.
ce65116b
FH
1403 (nonzero_bits): New macro.
1404 (num_sign_bit_copies): New macro.
1405 (update_table_tick): Don't traverse identical subexpression more
8fd73754 1406 than once.
ce65116b 1407 (get_last_value_validate): Likewise.
8fd73754 1408
ddb0ae00
ZW
14092003-02-13 Zack Weinberg <zack@codesourcery.com>
1410
1411 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
1412 * function.h (struct emit_status): Length of regno_pointer_align
1413 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
1414 not regno_pointer_align_length (i.e. length actually used, not
1415 length as allocated)
1416
1417 * config/i386/i386.c (struct stack_local_entry): New.
1418 (struct machine_function): Replace huge array with alist.
1419 (assign_386_stack_local): Change to match.
1420
c20b55c0
JDA
14212003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
1422
1423 * inclhack.def (hpux_long_double): Tighten select and add bypass
1424 regexp.
1425 * fixincl.x: Rebuilt.
1426
ffc8f11e
JZ
14272003-02-13 Josef Zlomek <zlomekj@suse.cz>
1428
1429 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
1430 edge and block ends with a jump insn it must be simple jump.
1431
047d636f
DJ
14322003-02-13 Daniel Jacobowitz <drow@mvista.com>
1433
1434 * Makefile.in (PREPROCESSOR_DEFINES): Add
1435 @TARGET_SYSTEM_ROOT_DEFINE@.
1436 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
1437 is specified or if building a cross compiler.
1438 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
1439 if the sysroot is under $exec_prefix.
1440 * configure: Regenerated.
1441 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
1442 defined.
1443 (struct default_include): Add add_sysroot field.
1444 (cpp_SYSROOT): Declare.
1445 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
1446 field.
1447 (cpp_SYSROOT): New variable.
1448 * cppinit.c (cpp_create_reader): Initialize
1449 CPP_OPTION (pfile, sysroot).
1450 (init_standard_includes): Handle add_sysroot. Do not
1451 add unrelocated copies of relocated directories.
1452 (COMMAND_LINE_OPTIONS): Add -isysroot.
1453 (cpp_handle_option): Handle -isysroot.
1454 * cpplib.h (struct cpp_options): Add sysroot member.
1455 * gcc.c (The Specs Language): Update description of %I.
1456 (target_system_root_changed): New variable.
1457 (process_command): Conditionalize make_relative_prefix call
1458 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
1459 target_system_root_changed.
1460 (do_spec_1): Add -isysroot to %I.
1461 * doc/invoke.texi (Spec Files): Update description of %I.
1462 * doc/install.texi (--with-sysroot): Update comment about
1463 relocation.
1464
4302db79
KH
14652003-02-13 Kazu Hirata <kazu@cs.umass.edu>
1466
1467 * config/h8300/h8300.md (a peephole2): New.
1468
e0d9cc77 14692003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 1470 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
1471
1472 * doc/install.texi (Specific): Update three SCO-related URLs.
1473
9fb93b00
AS
14742003-02-13 Andreas Schwab <schwab@suse.de>
1475
1476 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
1477 Parenthesize properly.
1478 (NPREDECESORS): Parenthesize properly.
1479
22ffcc6f
GDR
14802003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
1481
1482 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
1483
1fb54135
RS
14842003-02-12 Roger Sayle <roger@eyesopen.com>
1485
1486 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
1487 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
1488
1489 * reg-stack.c (subst_stack_regs_pat): Add support for binary
1490 UNSPEC instructions (e.g. "fpatan").
1491
19a7414e
MS
14922003-02-12 Mike Stump <mrs@apple.com>
1493
1494 * varray.c (element_size): Remove.
1495 (uses_ggc): Remove.
1496 (element): Add.
1497 (varray_init): Use new interface.
1498 (varray_grow): Use new interface.
1499 (varray_clear): Use new interface.
1500
e589cc6e
AH
15012003-02-12 Aldy Hernandez <aldyh@redhat.com>
1502
ddb0ae00
ZW
1503 * config/rs6000/spe.h: Add casts to the arguments of the following
1504 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
1505 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
1506 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
1507 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
1508 __ev_get_u16, __ev_get_s16.
e589cc6e 1509
2bbfc542
KH
15102003-02-12 Kazu Hirata <kazu@cs.umass.edu>
1511
1512 * config/h8300/h8300.md (a peephole2): New.
1513
e72fcfe8
JH
1514Wed Feb 12 22:47:18 CET 2003 Jan Hubicka <jh@suse.cz>
1515
1516 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
1517 (OBJS): Add callgraph.o
1518 (callgraph.o): New.
1519 * c-decl.c (expand_body_1): Break out from ...
1520 (expand_body): This one; change calling convention
1521 (finish_function): Move some of expand_body logic here.
1522 (c_expand_deferred_function): Update call of expand_body
1523 (c_expand_stmt): Use c_expand_body_1.
1524 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1525 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
1526 * c-tree.h (c_expand_body): Declare.
1527 * callgraph.c: New file.
1528 * flags.h (flag_unit_at_a_time): Declare.
1529 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
1530 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
1531 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
1532 * langhooks.h (struct lang_hooks_for_callgraph): New.
1533 (struct lang_hooks): Add callgraph field.
1534 * toplev.c (flag_unit_at_a_time): New.
1535 (lang_independent_options): Add flag_unit_at_a_time.
1536 (process_options): Disable unit-at-a-time mode for frontends not
1537 supporting callgraph.
1538 * tree-inline.c (typedef struct inline_data): Add "decl"
1539 (expand_call_inline): Update callgraph.
1540 (optimize_inline_calls): Set id.decl.
1541 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
1542 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
1543 cgraph_calls_p): Declare.
1544 * invoke.texi (-funit-at-a-time): Document
1545
9037b0c7
AH
15462003-02-12 Aldy Hernandez <aldyh@redhat.com>
1547
ddb0ae00
ZW
1548 * config/rs6000/spe.h: Fix misc formatting.
1549 (__ev_create_ufix32_fs): Cast ev argument.
1550 (__ev_create_sfix32_fs): Same.
1551 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
1552 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 1553
55ae46b1
RM
15542003-02-12 Ranjit Mathew <rmathew@hotmail.com>
1555
1556 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
1557 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
1558
3963c2e0
ZW
15592003-02-12 Zack Weinberg <zack@codesourcery.com>
1560
1561 * cpplib.c (do_include_common): Move warnings for
1562 #include_next and #import out to callers. Use early-return
1563 instead of nested ifs. Don't do check_eol here.
1564 (parse_include): Do check_eol here with the rest of the
1565 parsing stuff.
1566 (do_include_next, do_import): Now handle warnings.
1567
d1a86812
GP
15682003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1569
1570 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
1571
6efcd268
JH
1572Wed Feb 12 15:19:42 CET 2003 Jan Hubicka <jh@suse.cz>
1573
1574 * predict.c (estimate_probability): Fix roundoff error.
1575
9083b5da
KH
15762003-02-12 Kazu Hirata <kazu@cs.umass.edu>
1577
1578 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
1579 (two peephole2): New.
1580
86bc9b19
KH
15812003-02-12 Kazu Hirata <kazu@cs.umass.edu>
1582
1583 * config/h8300/h8300.md (several peephole2): Replace
1584 find_regno_note with peep2_reg_dead_p.
1585
ceda50e9
RH
15862003-02-11 Richard Henderson <rth@redhat.com>
1587
1588 * gcse.c (lookup_set): Remove unused argument PAT. Update
1589 both callers.
1590
886e0865
GK
15912003-02-11 Geoffrey Keating <geoffk@apple.com>
1592
1593 * diagnostic.c (real_abort): New.
1594 (diagnostic_report_diagnostic): Call real_abort on error.
1595 * diagnostic.h (diagnostic_abort_on_error): New.
1596 (struct diagnostic_context): Add abort_on_error field.
1597 * toplev.c (setup_core_dumping): New.
1598 (decode_d_option): Handle 'H' case.
1599 * doc/invoke.texi (Debugging Options): Document -dH.
1600
76438597
NN
16012003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
1602
1603 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
1604 which refers to obsolete directories.
1605
09b568fc
RH
16062003-02-11 Richard Henderson <rth@redhat.com>
1607
1608 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
1609
8b978a57
JH
1610Mon Oct 21 17:07:47 CEST 2002 Jan Hubicka <jh@suse.cz>
1611
1612 * i386.c (contains_128bit_aligned_vector_p): New function.
1613 (ix86_function_arg_boundary): Properly align vector modes.
1614
a3259be8
BW
16152003-02-11 Bob Wilson <bob.wilson@acm.org>
1616
1617 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
1618 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
1619 as a SET pattern.
1620
da52a069
RS
16212003-02-11 Roger Sayle <roger@eyesopen.com>
1622
1623 * builtins.c: Fix failure caused by commiting wrong patch.
1624
d58f6584
DJ
16252003-02-11 Dale Johannesen <dalej@apple.com>
1626 * ra-build.c (compare_and_free_webs): Relax checking.
1627 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
1628 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
1629
22fd5743
FH
16302003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1631
1632 PR optimization/9651
1633 * rtlanal.c (may_trap_p): Handle FIX.
1634
3462df62
DJ
16352003-02-11 Dave Jones <davej@codemonkey.org.uk>
1636
1637 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
1638 * doc/invoke.texi: Extra alias.
1639
a693fbb9
GK
16402003-02-11 Geoffrey Keating <geoffk@apple.com>
1641
1642 * config/rs6000/host-darwin.c: Fix comment.
1643
bb157ff4
DE
16442003-02-11 David Edelsohn <edelsohn@gnu.org>
1645
1646 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
1647 predicate for mod result.
1648
16ddb599
JDA
16492003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1650
1651 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
1652 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
1653 * fixincl.x: Rebuilt.
1654 * tests/base/stdlib.h: Update.
1655 * tests/base/ctype.h: New file.
1656
6f0d3566
JH
1657Tue Feb 11 20:44:45 CET 2003 Jan Hubicka <jh@suse.cz>
1658
1659 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
1660
d0a5295a
RH
16612003-02-11 Richard Henderson <rth@redhat.com>
1662
1663 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
1664 appropriated as globals.
1665 (ix86_expand_clrstr): Similarly.
1666 * config/i386/i386.md (cmpstrsi): Similarly.
1667
9672132f
KH
16682003-02-11 Kazu Hirata <kazu@cs.umass.edu>
1669
1670 * config/h8300/h8300.md (a peephole2): Add a case of 255.
1671
b5e01d4b
RS
16722003-02-11 Roger Sayle <roger@eyesopen.com>
1673
1674 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
1675 (pow_optab, atan2_optab): Define corresponding macros.
1676 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
1677 * genopinit.c (optabs): Implement pow_optab and atan2_optab
1678 using pow?f3 and atan2?f3 patterns.
1679 * builtins.c (expand_errno_check): New function to update errno
1680 if necessary, split out from expand_builtin_mathfn.
1681 (expand_builtin_mathfn): Use expand_errno_check.
1682 (expand_builtin_mathfn_2): New function to handle expanding binary
1683 math functions, reusing the code in expand_errno_check.
1684 (expand_builtin): Handle the pow and atan2 math built-ins,
1685 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
1686 expand_builtin_mathfn_2.
1687
1688 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
1689
cb119f82
JH
1690Tue Feb 11 19:03:22 MET 2003 Jan Hubicka <jh@suse.cz>
1691
1692 * combine.c (combine_simplify_rtx): Fix folding of
1693 nested float_truncates.
1694
a05566a3
KH
16952003-02-11 Kazu Hirata <kazu@cs.umass.edu>
1696
1697 * config/h8300/h8300.md (a peephole2): Fix a typo.
1698
20ae4500
RE
16992003-02-11 Richard Earnshaw <rearnsha@arm.com>
1700
1701 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
1702 register number.
1703
717d8b71
KH
17042003-02-11 Kazu Hirata <kazu@cs.umass.edu>
1705
1706 * config/h8300/h8300-protos.h: Add a prototype for
1707 gtuleu_operator.
1708 * config/h8300/h8300.c (gtuleu_operator): New.
1709 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
1710 * config/h8300/h8300.md (a peephole2): New.
1711
e36e8f52
JH
1712Tue Feb 11 13:32:12 CET 2003 Jan Hubicka <jh@suse.cz>
1713
1714 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
1715
c728da61
JH
1716Tue Feb 11 10:02:54 CET 2003 Jan Hubicka <jh@suse.cz>
1717
1718 * predict.c (choose_function_section): Choose sections correctly.
1719
4cc0fdd2
JDA
17202003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1721
1722 * reload1.c (first_label_num): New.
1723 (reload): Index offsets_known_at and offsets_at using difference of
1724 label number and first label number. Don't use offset pointers.
1725 (set_label_offsets, set_initial_label_offsets): Likewise.
1726
44b1fa11
RS
17272003-02-10 Roger Sayle <roger@eyesopen.com>
1728
1729 * mips-tfile.c (init_file): Add missing initializers in the
1730 "#ifdef __alpha" case.
1731 (file_offset, max_file_offset): Declare as unsigned long.
1732 (write_varray): Cast to "unsigned long" in comparisons against
1733 either file_offset or max_file_offset.
1734 (write_object): Likewise.
1735 (read_seek): Likewise.
1736 (copy_object): Likewise. Declare "ifd" as int to match its use
1737 in add_ext_symbol, and avoid signed/unsigned conditional warning.
1738
2948ade7 17392003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 1740 Aldy Hernandez <aldyh@redhat.com>
2948ade7 1741
3963c2e0
ZW
1742 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
1743 override options which have been specified on the command line.
2948ade7 1744
2a4e6df4
KH
17452003-02-10 Kazu Hirata <kazu@cs.umass.edu>
1746
1747 * config/h8300/h8300.md (abssf2): New.
1748 (*abssf2_h8300): Likewise.
1749 (*abssf2_h8300hs): Likewise.
1750
411e2759
PE
17512003-02-10 Phil Edwards <pme@gcc.gnu.org>
1752
1753 * tree.c (build_tree_list): Fix parameter names in comment.
1754
2b24fc41
JJ
17552003-02-10 Janis Johnson <janis187@us.ibm.com>
1756
1757 * config/rs6000/ppc64-fp.c: New file.
1758 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
1759
aa634f11
JZ
17602003-02-10 Josef Zlomek <zlomekj@suse.cz>
1761
1762 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 1763 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
1764 (make_reorder_chain_1): Deleted.
1765 (find_traces): New function.
1766 (rotate_loop): New function.
1767 (mark_bb_visited): New function.
1768 (find_traces_1_round): New function.
1769 (copy_bb): New function.
1770 (bb_to_key): New function.
1771 (better_edge_p): New function.
1772 (connect_traces): New function.
1773 (copy_bb_p): New function.
1774 (get_uncond_jump_length): New function.
1775 (reorder_basic_blocks): Use new functions (Software Trace Cache).
1776 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
1777 boundaries.
1778
17edbda5
AH
17792003-02-10 Aldy Hernandez <aldyh@redhat.com>
1780
1781 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
1782
57116c34
DN
17832003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
1784
1785 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 1786 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 1787
4f448245
NC
17882003-02-10 Nick Clifton <nickc@redhat.com>
1789
1790 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
1791 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
1792 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
1793 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
1794 config/arm/freebsd.h, config/arm/linux-elf.h,
1795 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
1796 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
1797 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
1798 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
1799 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
1800 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
1801 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
1802 and reformat as appropriate.
1803
19190d27
KH
18042003-02-10 Kazu Hirata <kazu@cs.umass.edu>
1805
1806 * config/h8300/clzsi2.c: Remove.
1807 * config/h8300/ctzsi2.c: Likewise.
1808 * config/h8300/paritysi2.c: Likewise.
1809 * config/h8300/popcountsi2.c: Likewise.
1810 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
1811 ctzsi2, paritysi2, and popcountsi2.
1812
ecf92f82 18132003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 1814 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
1815
1816 PR c/7741
1817 * c-decl.c (duplicate_decls): Discard the initializer of the
1818 new decl when the types are conflicting.
1819
ac5e69da
JZ
18202003-02-10 Josef Zlomek <zlomekj@suse.cz>
1821
1822 * Makefile.in (sreal.o): Added.
1823 (predict.o): Depends on sreal.h instead of real.h.
1824 * sreal.c: New file.
1825 * sreal.h: New file.
1826 * predict.c: Use sreal.c instead of real.c.
1827
9b6b54e2
NC
18282003-02-10 Nick Clifton <nickc@redhat.com>
1829
1830 * Contributed support for the Cirrus EP9312 "Maverick"
1831 floating point co-processor. Written by Aldy Hernandez
3963c2e0 1832 <aldyh@redhat.com>.
9b6b54e2
NC
1833 (config/arm/arm.c): Add Cirrus support.
1834 (config/arm/arm.h): Likewise.
1835 (config/arm/aout.h): Likewise.
1836 (config/arm/arm.md): Likewise.
1837 (config/arm/arm-protos.h): Likewise.
1838 (config.gcc): Likewise.
1839 (doc/invoke.texi): Describe new -mcpu value and new
1840 -mcirrus-fix-invalid-insns switch,
1841 (cirrus.md): New file.
1842
949824fe
JH
1843Mon Feb 10 11:40:18 CET 2003 Jan Hubicka <jh@suse.cz>
1844
1845 * combine.c (combine_simplify_rtx): Simplify using
1846 (float_truncate (float x)) is (float x)
1847 (float_extend (float_extend x)) is (float_extend x).
1848
546ff777
AM
18492003-02-10 Alan Modra <amodra@bigpond.net.au>
1850
1851 * calls.c (try_to_integrate): Tidy stack_usage_map access.
1852 (emit_library_call_value_1): Likewise. Formatting.
1853 (store_one_arg): Likewise.
1854
626098f9 18552003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 1856 Aldy Hernandez <aldyh@redhat.com>
626098f9 1857
3963c2e0
ZW
1858 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
1859 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
1860 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
1861 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
1862 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
1863 docs. Add range test for immediate value.
626098f9
AH
1864
18652003-02-09 Aldy Hernandez <aldyh@redhat.com>
1866
3963c2e0
ZW
1867 Rename spe_evxor to xorv2si3.
1868 (xorv4hi3): New.
1869 (xorv1di3): New.
626098f9 1870
8d23a2c8 18712003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 1872
8d23a2c8
GN
1873 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
1874 tag.
1875
fdc4b40b
JH
1876Mon Feb 10 00:29:17 CET 2003 Jan Hubicka <jh@suse.cz>
1877
1878 * i386.c (vector_move_operand): New predicate.
1879 (ix86_expand_vector_move): Be happy about 0.
1880 * i386.h (PREDICATE_CODES): Add sse-move_operand.
1881 * i386.md (mov*_internal): Add 'C' alternative.
1882
35c28a13
JH
1883Sun Feb 9 23:58:33 CET 2003 Jan Hubicka <jh@suse.cz>
1884
1885 * i386.md (floathi*): Deal with SSE.
1886
852c8ba1
JH
1887Sun Feb 9 23:54:59 CET 2003 Jan Hubicka <jh@suse.cz>
1888
1889 * simplify-rtx.c (simplify_unary_operation,
1890 simplify_binary_operation): Deal with vector modes
1891 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
1892
2382b79f
RS
18932002-02-09 Richard Sandiford <rsandifo@redhat.com>
1894
1895 * toplev.c (rest_of_compilation): Recompute register usage after
1896 split_all_insns.
1897
8275b011
RH
18982003-02-09 Richard Henderson <rth@redhat.com>
1899
1900 * libgcc-std.ver (__clztf2): New.
1901 (__ctztf2, __popcounttf2, __paritytf2): New.
1902 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
1903 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
1904 adjust code to match the different type sizes.
1905 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
1906 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
1907
1908 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
1909 TImode; select word_mode and twice that.
1910 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
1911 select the modes from float, double, and long double.
1912 (init_optabs): Remove duplicate initializations.
1913
794aca5d
WB
19142003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
1915
1916 * doc/install.texi: Squeeze and streamline section on
1917 testing and regression checking.
1918
d9deed68
JH
1919Sun Feb 9 13:33:34 CET 2003 Jan Hubicka <jh@suse.cz>
1920
1921 * i386.md (ahi?v*3): Set third operand type to TImode.
1922 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
1923
1924 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
1925 integer mode.
1926
1927 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
1928 Change code so they are arithmetic expressions now.
1929 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
1930 simplify_ternary_operation): Deal with VEC_* expressions.
1931
1932 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
1933
83fd323c
JH
1934Sat Feb 8 00:21:22 CET 2003 Jan Hubicka <jh@suse.cz>
1935
1936 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
1937 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
1938 possibly got duplicated.
1939
4ee7aa60
RH
19402003-02-08 Richard Henderson <rth@redhat.com>
1941
1942 * config/alpha/alpha.c (override_options): Turn off explicit
1943 relocs until post-peep2 code duplication resolved.
1944
c117dddc
KH
19452003-02-08 Kazu Hirata <kazu@cs.umass.edu>
1946
1947 * optabs.c (expand_unop): Widen clz properly when clz is done
1948 via libcall.
1949
8aa063fb
KH
19502003-02-08 Kazu Hirata <kazu@cs.umass.edu>
1951
1952 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
1953 * config/h8300/crti.asm: Likewise.
1954 * config/h8300/crtn.asm: Likewise.
1955 * config/h8300/ctzsi2.c: Likewise.
1956 * config/h8300/fixunssfsi.c: Likewise.
1957 * config/h8300/h8300-protos.h: Likewise.
1958 * config/h8300/h8300.c: Likewise.
1959 * config/h8300/h8300.h: Likewise.
1960 * config/h8300/h8300.md: Likewise.
1961 * config/h8300/paritysi2.c: Likewise.
1962 * config/h8300/popcountsi2.c: Likewise.
1963 * config/h8300/rtems.h: Likewise.
1964
01a132bb
ZD
19652003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1966
1967 * doc/invoke.texi: Documentation for my previous commit.
1968 * doc/passes.texi: Ditto.
1969
617b465c
ZD
19702003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1971
1972 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
1973 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1974 Declare.
1975 (DLTHE_FLAG_UPDATE_FREQ): New.
1976 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
1977 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
1978 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
1979 fix_bb_placement, fix_bb_placements, place_new_loop,
1980 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
1981 New static functions.
1982 (fix_loop_placement, can_duplicate_loop_p,
1983 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1984 New functions.
1985
1986 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
1987 unswitch_loops): Declare.
1988 * loop-init.c: New file.
1989 * loop-unswitch.c: New file.
1990 * Makefile.in (loop-init.o, loop-unswitch.o): New.
1991 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
1992 * toplev.c (DFI_loop2): New dump.
1993 (flag_unswitch_loops): New.
1994 (lang_independent_options): Add it.
1995 (rest_of_compilation): Call new loop optimizer.
1996 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
1997
3bd03194
KH
19982003-02-08 Kazu Hirata <kazu@cs.umass.edu>
1999
2000 * config/h8300/clzsi2.c: New.
2001 * config/h8300/ctzsi2.c: Likewise.
2002 * config/h8300/paritysi2.c: Likewise.
2003 * config/h8300/popcountsi2.c: Likewise.
2004 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
2005
d865b122
DE
20062003-02-07 David Edelsohn <edelsohn@gnu.org>
2007
2008 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
2009 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 2010 (ctzsi2): New pattern.
d865b122
DE
2011 (ffssi2): Use clz instead of unspec.
2012 (clzdi2): Rename from cntlzd2.
94993909 2013 (ctzdi2): New pattern.
d865b122
DE
2014 (ffsdi2): Use clz instead of unspec.
2015
8f37dd98
LR
20162003-02-07 Loren James Rittle <ljrittle@acm.org>
2017
2018 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
2019 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
2020 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
2021 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
2022
83205b9b
WB
20232003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
2024
2025 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
2026
710ee3ed
RH
20272003-02-07 Richard Henderson <rth@redhat.com>
2028
2029 PR 9226
3963c2e0
ZW
2030 * gcse.c (local_cprop_find_used_regs): New.
2031 (local_cprop_pass): Use it.
710ee3ed 2032
3ef879d2
FF
20332003-02-07 Fred Fish <fnf@intrinsity.com>
2034
2035 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 2036 precedence bugs.
3ef879d2 2037
a0f0e963 20382003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 2039
3963c2e0 2040 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 2041
46847aa6
RS
20422003-02-07 Roger Sayle <roger@eyesopen.com>
2043
2044 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
2045 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
2046 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
2047 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
2048 builtin functions (and their __builtin_* variants).
2049 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
2050 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
2051 when not optimizing.
2052
2053 * doc/extend.texi: Document new pow and atan2 builtins, and
2054 their float and long double variants. Realphabetize builtins.
2055
c48d6750
JH
2056Fri Feb 7 23:24:28 CET 2003 Jan Hubicka <jh@suse.cz>
2057
2058 * i386.md (sse2_nandv2di3): Fix.
2059
5e062767
DS
20602003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
2061
2062 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
2063 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
2064 definition.
2065 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
2066 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
2067
3f755ed0
JH
2068Fri Feb 7 22:22:40 CET 2003 Jan Hubicka <jh@suse.cz>
2069
2070 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
2071
0816bcd2
DB
20722003-02-07 Daniel Berlin <dberlin@dberlin.org>
2073
2074 * cfg.c (dump_flow_info): Add back accidently deleted line.
2075
7bf0a593
AP
20762003-02-07 Andrey Petrov <petrov@netbsd.org>
2077
2078 * optabs.c (expand_float): Search wider integer modes first.
2079
01e4596e
BW
20802003-02-07 Bob Wilson <bob.wilson@acm.org>
2081
2082 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
2083 based on preprocessor flag.
2084
fbef91d8
RS
20852003-02-07 Roger Sayle <roger@eyesopen.com>
2086 Richard Henderson <rth@redhat.com>
2087
2088 * gcse.c (implicit_sets): New.
2089 (compute_hash_table_work): Include them in hash table.
2090 (find_implicit_sets, fis_get_condition): New.
2091 (one_cprop_pass): Allocate and free implicit_sets; call
2092 find_implicit_sets before building hash table.
2093
6713831e
JT
20942003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
2095
2096 * config/t-netbsd (USER_H): Revert previous change.
2097
10d2dbe2
GG
20982003-02-07 Gabor Greif <ggreif@lucent.com>
2099
2100 * doc/c-tree.texi (Namespaces): Fix typo.
2101
d1d3c9a6
JH
2102Fri Feb 7 02:18:57 CET 2003 Jan Hubicka <jh@suse.cz>
2103
2104 * regrename.c (do_replace, find_oldest_value_reg,
2105 copyprop_hardreg_forward_1): Update register attributes.
2106
1b1f249d
VM
21072003-02-06 Vladimir Makarov <vmakarov@redhat.com>
2108
2109 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
2110 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
2111 variables starting with underscore.
2112 (struct unit_usage): New structure.
2113 (unit_usages, cycle_alt_unit_usages): New global variables.
2114 (check_unit_distribution_in_reserv): Remove it.
2115 (store_alt_unit_usage): New function.
2116 (check_regexp_units_distribution): Rewrite it.
2117
90330d31
JDA
21182003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2119
2120 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
2121 target_cpu_default.
2122 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
2123 if not MASK_NO_SPACE_REGS.
2124 (output_call): Adjust return pointer, don't load new space register
2125 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
2126 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
2127 TARGET_NO_SPACE_REGS is true.
2128 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
2129 conditions.
2130 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
2131 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
2132 true. Use bve when TARGET_64BIT is true.
2133
d1164330
RH
21342003-02-06 Richard Henderson <rth@redhat.com>
2135
2136 * combine.c (nonzero_bits): Fix double break.
2137
5fbf0217 21382003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 2139 Richard Henderson <rth@redhat.com>
5fbf0217
EB
2140
2141 PR c/9530
2142 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
2143 from functions that return a float to functions that don't.
2144
8f62128d
JH
2145Thu Feb 6 00:18:38 CET 2003 Jan Hubicka <jh@suse.cz>
2146
2147 * i386.c (x86_inter_unit_moves): New variable.
2148 (ix86_secondary_memory_needed): Fix 64bit case, honor
2149 TARGET_INTER_UNIT_MOVES
2150 * i386.h (x86_inter_unit_moves): Declare.
2151 (TARGET_INTER_UNIT_MOVES): New macro.
2152 * i386.md (movsi_1): Cleanup constraints; disable
2153 when not doing inter-unit moves.
2154 (movsi_1_nointernunit): New.
2155 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
2156 (movdi_1_rex64_nointerunit): New.
2157 (mivsf_1): disable when not doing inter-unit moves.
2158 (movsf_1_nointerunit): New.
2159
2160 * basic-block.h (inside_basic_block_p): Declare.
2161 * cfgbuild.c (inside_basic_block_p): Make global.
2162 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
2163 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
2164 update CFG.
2165 (fix_basic_block_boundaries, add_missing_bbs): New.
2166 (rank): Use profile.
2167 (scheudle_ebbs): Rely on CFG; update coments.
2168
476d9098
GK
21692003-02-05 Geoffrey Keating <geoffk@apple.com>
2170
2171 * Makefile.in (host_hook_obj): New.
2172 (OBJS): Add $(host_hook_obj).
2173 (host_default.o): New rule.
2174 * config.gcc (host_hook_obj): New, default to host-default.o.
2175 (powerpc-*-darwin*): Use host-darwin.o.
2176 (out_host_hook_obj): New.
2177 * configure: Regenerate.
2178 * configure.in: Print information about out_host_hook_obj, substitute
2179 into output files.
2180 * host-default.c: New file.
2181 * hosthooks.h: New file.
2182 * toplev.c (general_init): Call host_hooks.extra_signals.
2183 * config/rs6000/host-darwin.c: New file.
2184 * config/rs6000/x-darwin: New file.
2185 * doc/hostconfig.texi: Add documentation for new host hook.
2186 Rearrange existing documentation.
2187
69bd9368
RS
21882003-02-05 Roger Sayle <roger@eyesopen.com>
2189
2190 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
2191 with *targetm.delegitimize_address.
2192 (rtl_for_decl_location): Likewise.
2193 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
2194 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
2195
2196 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
2197 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
2198 prototype.
2199 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
2200 i386_simplify_dwarf_addr. Made static. Prototyped.
2201 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
2202 i386_simplify_dwarf_addr to ix86_delegitimize_address.
2203 (ix86_find_base_term): Likewise.
2204 (maybe_get_pool_constant): Likewise.
2205
2206 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
2207 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
2208 prototype.
2209 * config/s390/s390.c (s390_delegitimize_address): Renamed from
2210 s390_simplify_dwarf_addr. Made static. Prototyped.
2211 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
2212
7127fd58
RH
22132003-02-05 Richard Henderson <rth@redhat.com>
2214
8dde7a2c 2215 PR c/8602
3963c2e0
ZW
2216 * integrate.c (output_inline_function): Reset input_filename
2217 and lineno from the decl before rest_of_compilation.
7127fd58 2218
7dba8395
RH
22192003-02-05 Richard Henderson <rth@redhat.com>
2220
2221 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2222 (CTZ_DEFINED_VALUE_AT_ZERO): New.
2223 * doc/rtl.texi, doc/tm.texi: Document them.
2224
2225 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
2226 of the value at zero properly.
2227 * fold-const.c (tree_expr_nonnegative_p): Likewise.
2228 * simplify-rtx.c (simplify_unary_operation): Likewise.
2229
2230 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2231 (CTZ_DEFINED_VALUE_AT_ZERO): New.
2232
2233 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
2234 (TARGET_EXPAND_BUILTIN): Remove.
2235 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
2236 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2237 (enum arm_builtins): Remove.
2238 * config/arm/arm.md (UNSPEC_CLZ): Remove.
2239 (clzsi2): Rename from clz; use clz instead of unspec.
2240 (ctzsi2): New.
2241 * config/arm/arm-protos.h: Update.
2242
8d705469
JH
2243Wed Feb 5 23:12:57 CET 2003 Jan Hubicka <jh@suse.cz>
2244
2245 * i386-protos.h (x86_emit_floatuns): Declare.
2246 * i386.c (x86_emit_floatuns): New global function.
2247 * i386.md (floatunssisf2, floatunsdisf2,
2248 floatunsdidf2): New patterns.
2249
bc810602
ZD
22502003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2251
2252 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
2253
07938cec
HB
22542003-02-05 Hans Boehm <Hans.Boehm@hp.com>
2255
2256 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
2257 config/ia64/linux.h
2258
ca9398d1
RS
22592002-02-05 Roger Sayle <roger@eyesopen.com>
2260
2261 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
2262
4f6ae35d
JJ
22632003-02-05 Jakub Jelinek <jakub@redhat.com>
2264
2265 PR optimization/8555
2266 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
2267 instead of aborting.
2268
8acfdd43
RH
22692003-02-04 Richard Henderson <rth@redhat.com>
2270
2271 * config/i386/i386.md (UNSPEC_BSF): Remove.
2272 (ffssi2): Split into cmove and no_cmove insns and splitters;
2273 lose pentium float trick for now.
2274 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
2275 (ctzsi2, clzsi2, bsr): New.
2276
c407570a
RH
22772003-02-04 Richard Henderson <rth@redhat.com>
2278
2279 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
2280 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
2281 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
2282 (ffsdi2): Use popcount instead of unspec.
2283 (popcountdi2): Rename from *popcnt.
2284 (ctzdi2, clzdi2, getf_exp_tf): New.
2285
4b3cf522
KH
22862003-02-04 Kazu Hirata <kazu@cs.umass.edu>
2287
2288 * genconfig.c (main): Generate CC0_P.
2289 * rtl.h (CC0_P): Remove.
2290
dfff898c
RH
22912003-02-04 Richard Henderson <rth@redhat.com>
2292
2293 * libgcc2.h, libgcc2.c (__ffsSI2): New.
2294 (__ffsDI2): Rename from __ffsdi2.
2295 * mklibgcc.in (lib2funcs): Add _ffssi2.
2296
0c9ed856
RH
22972003-02-04 Richard Henderson <rth@redhat.com>
2298
2299 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
2300 rounds with a "bit table" lookup.
2301
9537511b
UW
23022003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
2303
2304 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 2305 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
2306 reloads for operands where a mandatory reload was already pushed.
2307
1efd0b97
RH
23082003-02-04 Richard Henderson <rth@redhat.com>
2309
2310 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
2311 builtins instead of inline assembly.
2312
087fc75a 23132003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 2314
087fc75a
FH
2315 PR c/9376
2316 * libgcc2.c (__subvdi3): Fix typo.
2317
f0f0d98e
JH
2318Tue Feb 4 21:46:05 CET 2003 Jan Hubicka <jh@suse.cz>
2319
2320 * i386.md (movti_rex64): Fix constraint.
2321
09f26fb5
JH
2322Tue Feb 4 18:40:42 CET 2003 Jan Hubicka <jh@suse.cz>
2323
2324 * i386.md (vector push splitters): Fix typo in resolving conflict.
2325
ff6e2d3e
RB
23262003-02-04 Rodney Brown <rbrown64@csc.com.au>
2327
2328 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
2329
9e80ada7
PE
23302003-02-04 Phil Edwards <pme@gcc.gnu.org>
2331
2332 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
2333 for recent libstdc++. Remove formatting cruft.
2334
79c758fb
JJ
23352003-02-04 Jakub Jelinek <jakub@redhat.com>
2336
2337 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
2338 attribute even if input file name is absolute, but one of the
2339 includes is relative.
2340
b3a8389d
JM
23412003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
2342
2343 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
2344 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
2345 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
2346
dabb3f04
RH
23472003-02-03 Richard Henderson <rth@redhat.com>
2348
2349 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2350 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
2351 return type to "int". Shuffle declarations and undef int trap.
2352 * libgcc2.h: Remove their declarations.
2353 * optabs.c (expand_unop): Force outmode to int for bitops.
2354
985d0d50
BW
23552003-02-03 Bob Wilson <bob.wilson@acm.org>
2356
2357 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
2358 coprocessor registers before floating-point registers.
2359 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
2360 to account for a previously removed register.
2361 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
2362 Delete unused macros.
2363
7f0e57bd
JH
2364Mon Feb 3 21:19:11 CET 2003 Jan Hubicka <jh@suse.cz>
2365
2366 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
2367 (mov*_internal): Fix predicates; require one of operands to not be
2368 memory.
2369 (SSE?MMX move expanders): Fix predicates; force one of operands to
2370 register.
2371 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
2372 (movups/movupd/movdqu patterns): Force one of operands to not be
2373 memory.
2374
7daebb7a
RS
23752002-02-03 Roger Sayle <roger@eyesopen.com>
2376
2377 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
2378 takes a single rtx and returns it unmodified.
2379 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 2380 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
2381 field to target structure.
2382 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
2383 for delegitimize_address target using hook_rtx_rtx_identity.
2384 (TARGET_INITIALIZER): Initialize delegitimize_address field
2385 using TARGET_DELEGITIMIZE_ADDRESS macro.
2386 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
2387 extensions of constant pool references. Use delegitimize_address
2388 to undo the obfuscation of "-fpic".
2389 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
2390
2391 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
2392 i386_simplify_dwarf_addr.
2393 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
26182e15 2394 (maybe_get_pool_constant): Likewise.
7daebb7a 2395
84520a20
JH
2396Mon Feb 3 16:01:17 CET 2003 Jan Hubicka <jh@suse.cz>
2397
2398 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
2399
035b2a34
JH
2400Mon Feb 3 01:30:11 CET 2003 Jan Hubicka <jh@suse.cz>
2401
2402 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
2403
1f143d5a
KG
24042003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2405
2406 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
2407 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
2408
4b550d9f
AS
24092003-02-02 Andreas Schwab <schwab@suse.de>
2410
2411 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
2412
0732a089
RE
24132003-02-02 Richard Earnshaw <rearnsha@arm.com>
2414
2415 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
2416 (epilogue_insns): Likewise.
2417
f269f54f
JDA
24182003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2419
2420 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
2421
611ad29e
JDA
24222003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2423
2424 * pa-protos.h (attr_length_millicode_call): Remove second argument.
2425 (attr_length_indirect_call, attr_length_indirect_call,
2426 attr_length_save_restore_dltp): New prototypes.
2427 * pa.c (attr_length_millicode_call): Remove second argument. Check
2428 INSN_ADDRESSES_SET_P in distance calculation.
2429 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
2430 INSN_ADDRESSES.
2431 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
2432 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
2433 Call attr_length_call directly.
2434 (attr_length_indirect_call, output_indirect_call,
2435 attr_length_save_restore_dltp): New functions.
2436 * pa.md (attr_length_millicode_call): Drop second argument from all
2437 patterns.
2438 (return_internal_pic): Delete.
2439 (return_external_pic): Remove use of PIC register and pic operand and
2440 flag checks.
2441 (epilogue): Use return_internal for both normal and pic code.
2442 (call, call_value): Emit new 32-bit pic patterns for symref and
2443 indirect calls. Remove uses for arg pointer and pic register.
2444 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
2445 call_reg_pic_post_reload, call_val_symref_pic,
2446 call_val_symref_pic_post_reload, call_val_reg_pic,
2447 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
2448 Implement define_split and define_peephole2 patterns for pre reload
2449 patterns.
2450 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
2451 call_value_internal_reg_64bit): Shorten names.
2452 (all call patterns): Explicitly indicate registers used and clobbered.
2453 Use attr_length_indirect_call and attr_length_save_restore_dltp for
2454 attribute length calculation. Move code generation for indirect calls
2455 to output_indirect_call.
2456 (sibcall, sibcall_value): Don't restore PIC register.
2457 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
2458 register retore.
2459
8cacda7c
GP
24602003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2461
2462 * doc/install.texi (Testing): Simplify and compress instructions
2463 concerning Dejagnu.
2464
cbc158bb
JDA
24652003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2466
2467 * collect2.c (pexecute_pid): Rename to pid.
2468 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
2469 pid.
2470
dcef1843
GK
24712003-02-01 Geoffrey Keating <geoffk@apple.com>
2472
2473 * doc/extend.texi (Function Attributes): Remove documentation
2474 for PowerPC Windows NT function attributes..
2475
5d7bed9d
DJ
24762003-02-01 Daniel Jacobowitz <drow@mvista.com>
2477
2478 * dwarf2out.c (gen_type_die): Check for typedefs before calling
2479 for TYPE_MAIN_VARIANT.
2480
53585c36
RH
24812003-02-01 Richard Henderson <rth@redhat.com>
2482
2483 * libgcc2.c: Include auto-host.h.
2484 (ATTRIBUTE_HIDDEN): New.
2485 (__clz_tab): Don't declare here for clz and ctz.
2486 (__clzsi2, __clzdi2): Use count_leading_zeros.
2487 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
2488 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
2489 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
2490 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
2491
bc8a6d63
RH
24922003-02-01 Richard Henderson <rth@redhat.com>
2493
2494 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
2495 to the conditional.
2496 (ashlsi3_1_zext splitter): Likewise.
2497
2928cd7a
RH
24982003-02-01 Richard Henderson <rth@redhat.com>
2499
2500 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
2501 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2502 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
2503 return type to Wtype.
2504
2505 * libgcc-std.ver (GCC_3.4): Fix inheritance.
2506
2507 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
2508 expander input constraint.
2509
25102003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2511
ff6e2d3e
RB
2512 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
2513 OTI_parity.
2514 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
2515 * optabs.c (widen_clz, expand_parity): New.
2516 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
2517 for libcalls to clz, ctz, popcount, and parity.
2518 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
2519 parity_optab, and set up libfunc handlers.
2520 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2521 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
2522 __popcount_tab): New.
2523 * libgcc2.h: Declare them.
2524 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
2525 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
2526 and parity_optab.
2527 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
2528 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
2529 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
2530 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
2531 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
2532 BUILT_IN_PARITYLL): New.
2533 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
2534 and add optab argument.
2535 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
2536 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
2537 * expr.c (expand_expr): Handle them.
2538 * fold-const.c (tree_expr_nonnegative_p): Likewise.
2539 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
2540 * reload1.c (eliminate_regs): Handle them.
2541 (elimination_effects): Likewise.
2542 * function.c (instantiate_virtual_regs_1): Likewise
2543 * genattrtab.c (check_attr_value): Likewise.
2544 * simplify-rtx.c (simplify_unary_operation): Likewise.
2545 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
2546 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
2547 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
2548 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
2549 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
2550 __builtin_arm_clz.
2551 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
2552 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
2553 * doc/extend.texi (Other Builtins): Add new builtins.
2554 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 2555
112f7223
UW
25562003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
2557
2558 * reload.c: Revert 2003-01-31 change.
2559
434c87d4
JH
2560Sat Feb 1 14:14:40 CET 2003 Jan Hubicka <jh@suse.cz>
2561
2562 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
2563
271bd540
RS
25642003-02-01 Richard Sandiford <rsandifo@redhat.com>
2565
2566 * flags.h (flag_volatile): Remove declaration.
2567 (flag_volatile_global, flag_volatile_static): Likewise.
2568 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
2569 * toplev.c (flag_volatile): Remove definition.
2570 (flag_volatile_global, flag_volatile_static): Likewise.
2571 (f_options): Remove corresponding entries here.
2572 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
2573 or flag_volatile_static.
2574 * doc/invoke.texi: Remove documentation of -fvolatile,
2575 -fvolatile-global and -fvolatile-static.
2576
17e6098e
JDA
25772003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2578
2579 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
2580 updating of total_code_bytes from prologue to epilogue.
2581
2f278625
UW
25822003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
2583
2584 * reload.c (find_reloads): Do not use the mode specified in the insn
2585 pattern as reload mode for address operands. Do not generate optional
2586 reloads for operands where a mandatory reload was already pushed.
2587 Generate optional reloads only in the final pass though find_reloads.
2588 (have_replacement_p): New function.
2589
05c425a9
GP
25902003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2591
2592 * doc/install.texi (Testing): Remove a reference to our obsolete
2593 /testresults web pages and strip redundant information concerning
2594 test results.
2595 (Binaries): Refer to Microsoft Windows instead of listing all
2596 possible variants.
2597
b0c42aed
JH
2598Sat Feb 1 00:28:30 CET 2003 Jan Hubicka <jh@suse.cz>
2599
2600 * loop.c (emit_prefetch_instructions): Do conversion at right place in
2601 RTL chain.
2602
2603 * combine.c (simplify_set): Reverse order of ragumetns to
2604 REG_CANNOT_CHANGE_MODE_P
2605 * df.c (df_def_record_1): Likewise.
2606 * recog.c (register_operand): Likewise.
2607 * simplify-rtx.c (simplify_subreg): Likewise.
2608 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
2609 CANNOT_CHANGE_MODE_CLASS.
2610 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
2611 Likewise.
2612 * reload.c (push_reload): Likewise.
2613 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2614 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2615 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2616 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
2617 * mips.c (mips_cannot_change_mode_class): Update.
2618 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2619 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2620 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2621 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2622 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
2623 * sh.c (sh_cannot_change_mode_class): Update.
2624 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
2625 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
2626
1f61a15d
GK
26272003-01-31 Geoffrey Keating <geoffk@apple.com>
2628
2629 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
2630 change to LINK_COMMAND_SPEC in gcc.c.
2631
7c712dcc
LR
26322003-01-31 Jan Hubicka <jh@suse.cz>
2633
2634 PR c/9506
2635 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
2636
e137391e
JDA
26372003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2638
2639 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
2640 duplicated code.
2641
1824b90d
NS
26422003-01-31 Nathan Sidwell <nathan@codesourcery.com>
2643
2644 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
2645 (BINFO_ELTS): New #define.
2646 * stor-layout.c (finalize_record_size): Don't set them.
2647 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
2648 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
2649 (BINFO_LANG_ELTS): New #define.
2650 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
2651 * java/class.c (make_class): Use BINFO_ELTS.
2652 (set_super_info): Likewse.
2653 (add_interface_do): Likewise.
2654 * objc/objc-act.c (start_class): Use BINFO_ELTS.
2655
8f9a402c
DS
26562003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
2657
2658 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
2659 (times): Don't ever declare if not HAVE_TIMES.
2660 (clock): Don't ever declare if not HAVE_CLOCK.
2661
cdd1f01b
RH
26622003-01-30 Richard Henderson <rth@redhat.com>
2663
2664 * flow.c (update_life_info): Zap life info after cleanup_cfg.
2665 (regno_uninitialized): Use correct live at function entry set.
2666 (regno_clobbered_at_setjmp): Likewise.
2667
2668 * expr.c (store_expr): Promote all MEM intermediates to regs.
2669
6bc82793
KH
26702003-01-30 Kazu Hirata <kazu@cs.umass.edu>
2671
2672 * config/arm/arm.c: Fix comment typos.
2673 * config/arm/arm.h: Likewise.
2674 * config/arm/netbsd-elf.h: Likewise.
2675 * config/arm/netbsd.h: Likewise.
2676
f099d360
GK
26772003-01-30 Geoffrey Keating <geoffk@apple.com>
2678
2679 * gengtype.c (struct walk_type_data): Add needs_cast_p.
2680 (walk_type): Set needs_cast_p in walk_type_data.
2681 (write_types_process_field): Supply casts when required to suppress
2682 warnings.
2683 (write_root): Cast gt_pch_n_S to suppress warning.
2684 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
2685 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
2686 when they might exist.
2687 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
2688 insn-conditions.o, and rs6000.o.
2689
52895e1a
RH
26902003-01-30 Richard Henderson <rth@redhat.com>
2691
2692 * ggc-page.c (G.context_depth_allocations): New.
2693 (G.context_depth_collections): New.
2694 (alloc_page): Set G.context_depth_allocations.
2695 (ggc_collect): Set G.context_depth_collections.
2696 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
2697 (ggc_pop_context): Early exit for no allocations or collections.
2698
c35c7e52
RH
26992003-01-30 Richard Henderson <rth@redhat.com>
2700
2701 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
2702
e43dd89d
RE
27032003-01-30 Richard Earnshaw <rearnsha@arm.com>
2704
2705 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
2706 size, the link register is always saved if any other register is
2707 saved.
2708
87a902e4
KH
27092003-01-30 Kazu Hirata <kazu@cs.umass.edu>
2710
2711 * config/h8300/h8300-protos.h: Update the prototype for
2712 compute_plussi_cc.
2713 (cpp_reader): Declare before it is used.
2714 * config/h8300/h8300.c (compute_plussi_cc): Change the return
2715 type to int.
2716 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
2717 see an unknown H8 variant.
2718
27192003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 2720
ff6e2d3e 2721 PR target/9316
0186a143
RC
2722 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
2723 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
2724 * config/rs6000/t-rtems: New file. multilib variants to match OS.
2725 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
2726 rs6000/t-ppcgas so we get the desired multilibs.
2727
f55d7103
NC
27282003-01-30 Nick Clifton <nickc@redhat.com>
2729
2730 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
2731 when popping saved IP register off the stack.
2732
b6d08ca1
KH
27332003-01-30 Kazu Hirata <kazu@cs.umass.edu>
2734
2735 * config/rs6000/aix43.h: Fix comment typos.
2736 * config/rs6000/aix51.h: Likewise.
2737 * config/rs6000/aix52.h: Likewise.
2738 * config/rs6000/altivec.h: Likewise.
2739 * config/rs6000/rs6000.c: Likewise.
2740 * config/rs6000/rs6000.h: Likewise.
2741 * config/rs6000/rs6000.md: Likewise.
2742 * config/rs6000/spe.md: Likewise.
2743
14d22dd6
MM
27442003-01-29 Mark Mitchell <mark@codesourcery.com>
2745
2746 * c-common.c (builtin_define_float_constants): Define
2747 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
2748
825db093
KH
27492003-01-30 Kazu Hirata <kazu@cs.umass.edu>
2750
2751 * config/sh/lib1funcs.asm: Fix comment typos.
2752 * config/sh/linux.h: Likewise.
2753 * config/sh/sh.c: Likewise.
2754 * config/sh/sh.md: Likewise.
2755
f1d5271a
LR
27562003-01-30 Loren James Rittle <ljrittle@acm.org>
2757
2758 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
2759
266a9ef1
AO
27602003-01-30 Alexandre Oliva <aoliva@redhat.com>
2761
2762 * config/fp-bit.h (__make_dp): Declare if TMODES.
2763
0889116d
KH
27642003-01-29 Kazu Hirata <kazu@cs.umass.edu>
2765
2766 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
2767 general_operand_src and general_operand_dst.
2768
c8c99a68
DE
27692003-01-29 David Edelsohn <edelsohn@gnu.org>
2770
2771 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
2772 Return true for variable sized types.
2773 (rs6000_va_arg): Handle variable sized types passed by reference
2774 on non-SVR4 ABI.
2775
ccf4d512
RE
27762003-01-29 Richard Earnshaw <rearnsha@arm.com>
2777
2778 * arm.c (arm_legtimize_address): New function.
2779 * arm-protos.h (arm_legtimize_address): Add prototype.
2780 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
2781 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
2782 do ... while (0)
2783
0889116d 27842003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 2785
7429b411 2786 PR bootstrap/9296
0680c8fb 2787 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 2788 depended on it being defined until now.
0680c8fb 2789
7429b411 27902003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 2791
7429b411 2792 PR target/9295
c934274a
JS
2793 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
2794 RTEMS code knows which C++ initialization style the toolset
7429b411 2795 configuration is using.
c934274a 2796
0889116d 27972003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 2798
7429b411 2799 PR bootstrap/9293
ff6e2d3e 2800 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 2801 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 2802
0889116d 28032003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 2804
7429b411 2805 PR bootstrap/9292
64abe03e
JS
2806 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
2807 RTEMS threads.
2808 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 2809
2f12fb2b
NC
28102003-01-29 Nick Clifton <nickc@redhat.com>
2811
2812 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
2813 not $(srcdir).
2814
cf0150b9
AH
28152003-01-29 Andrew Haley <aph@redhat.com>
2816
2817 * tree-inline.c (walk_tree): Add CHAR_TYPE.
2818
9b74f3ea
JH
2819Wed Jan 29 10:26:12 CET 2003 Jan Hubicka <jh@suse.cz>
2820
2821 * i386.md (subdi3_carry_rex64): Fix typo.
2822
e150159c
SS
28232003-01-28 Stan Shebs <shebs@apple.com>
2824
2825 * coretypes.h (cpp_reader): Forward declare struct.
2826 * c-pragma.h (cpp_reader): Remove forward declaration.
2827 * hashtable.h (cpp_reader): Likewise.
2828 * scan.h (cpp_reader): Likewise.
2829 * tree.h (cpp_reader): Likewise.
2830 * config/darwin-protos.h (cpp_reader): Likewise.
2831 * config/arm/arm-protos.h (cpp_reader): Likewise.
2832 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
2833 struct cpp_reader in prototypes.
2834
53b50ac1
CC
28352003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
2836
2837 * doc/install.texi: Add documentation for installation into
2838 tooldirs and with DESTDIR.
2839
021aa6ed
RH
28402003-01-28 Richard Henderson <rth@redhat.com>
2841
2842 * config.gcc (ia64*-*-aix*): Remove.
2843 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
2844 * config/ia64/unwind-aix.c: Remove file.
2845
c1c1d123
AS
28462003-01-28 Andreas Schwab <schwab@suse.de>
2847
ff6e2d3e
RB
2848 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
2849 register.
2850 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
2851 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
2852 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
2853 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
2854 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
2855 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
2856 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 2857
6d09ef27
RS
28582003-01-28 Richard Sandiford <rsandifo@redhat.com>
2859
2860 * combine.c (nonzero_bits): Fix check for negative divide operands.
2861
1e1bd14e
RH
28622003-01-28 Richard Henderson <rth@redhat.com>
2863
2864 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
2865 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
2866
e37135f7
RH
28672003-01-28 Richard Henderson <rth@redhat.com>
2868
2869 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
2870
75642f32
RH
2871 * config/cris/cris.c (cris_address_cost): Make static.
2872 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
2873 * config/cris/cris.h (ADDRESS_COST): Remove.
2874 * config/cris/cris-protos.h: Update.
2875
e37135f7 28762003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
2877
2878 * regclass.c (init_reg_autoinc): New function.
2879 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 2880 here...
1f80c9ef 2881 (init_regs): to here. Avoids reinitialization for each function,
26182e15 2882 saving compilation time.
1f80c9ef 2883
9fbd3e41
JM
28842003-01-28 Jason Merrill <jason@redhat.com>
2885
2886 * cpplib.h (struct cpp_options): Add warn_deprecated field.
2887 * cppinit.c (cpp_create_reader): Turn it on by default.
2888 * c-opts.c (c_common_decode_option): Set it.
2889 * cpplib.c (do_pragma_once): Only complain about #pragma once
2890 if warn_deprecated is set.
2891
fe352c29 28922003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 2893
1e1bd14e
RH
2894 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
2895 * loop.c (scan_loop): Move movables on -Os rich-register targets.
2896 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 2897
dcefdf67
RH
28982003-01-28 Richard Henderson <rth@redhat.com>
2899
2900 * target.h (targetm.address_cost): New.
2901 * target-def.h (TARGET_ADDRESS_COST): New.
2902 (TARGET_RTX_COSTS): Uncomment. Oops.
2903 * cse.c (address_cost): Use new target hook.
2904 (default_address_cost): New.
2905 * output.h (default_address_cost): Declare.
2906 * hooks.c (hook_int_rtx_0): New.
2907 * hooks.h (hook_int_rtx_0): Declare.
2908 * loop.c (combine_givs_p): Remove if 0 code.
2909 * system.h (ADDRESS_COST): Poison.
2910
2911 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
2912 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
2913 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
2914 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
2915 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
2916 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
2917 config/xtensa/xtensa.c, config/xtensa/xtensa.h
2918 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
2919 (ADDRESS_COST): Remove.
2920
2921 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
2922 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
2923 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2924 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2925 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
2926 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
2927 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
2928 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 2929 config/mips/mips.c, config/mips/mips.h,
dcefdf67 2930 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 2931 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
2932 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
2933 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
2934 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
2935 config/vax/vax.c, config/vax/vax.h
2936 (foo_address_cost): Make static.
2937 (TARGET_ADDRESS_COST): New.
2938 (ADDRESS_COST): Remove.
2939
2940 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
2941 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
2942 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
2943 config/stormy16/stormy16.h
2944 (ADDRESS_COST): Move code ...
2945 (foo_address_cost): ... here.
2946 (TARGET_ADDRESS_COST): New.
2947
2948 * config/m32r/m32r.c (m32r_address_cost): Remove.
2949 * config/m32r/m32r-protos.h: Update.
2950
2951 * config/mmix/mmix.c (mmix_address_cost): Remove.
2952 * config/mmix/mmix-protos.h: Update.
2953
2954 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
2955 mn10300_address_cost; move unsig allocation ...
2956 (mn10300_address_cost): ... here.
2957 (TARGET_ADDRESS_COST): New.
2958 * config/mn10300/mn10300-protos.h: Update.
2959 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
2960
75642f32
RH
2961 * doc/tm.texi: Update.
2962
58fb7809
VM
29632003-01-28 Vladimir Makarov <vmakarov@redhat.com>
2964
2965 * haifa-sched.c (schedule_insn): Return necessary cycle advance
2966 after issuing the insn.
2967 (rank_for_schedule): Make a insn with /S the highest priority
2968 insn.
2969 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
2970 (choose_ready): Check SCHED_GROUP_P.
2971 (schedule_block): Advance cycle after issuing insn if it is
2972 necessary. Don't reorder insns if there is an insn with /S.
2973 (set_priorities): Ignore schedule groups.
2974
2975 * sched-deps.c (remove_dependence, group_leader): Remove the
2976 functions.
2977 (add_dependence): Ignore schedule groups.
2978 (set_sched_group_p): Don't make copy of dependencies from previous
2979 insn of the schedule group. Add anti-dependency to the previous
2980 insn of the schedule group.
2981 (compute_forward_dependences): Ignore schedule groups.
2982
2983 * sched-ebb.c (init_ready_list): Ignore schedule groups.
2984
2985 * sched-rgn.c (init_ready_list): Ditto.
2986 (can_schedule_ready_p): Ditto.
ff6e2d3e 2987
371c988b
VM
29882003-01-28 Vladimir Makarov <vmakarov@redhat.com>
2989
2990 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
2991 register to another one.
2992
40cdfd5a
RH
29932003-01-28 Richard Henderson <rth@redhat.com>
2994
2995 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
2996
a77b7e32
RS
29972003-01-28 Roger Sayle <roger@eyesopen.com>
2998
2999 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
3000
3620944c
RS
30012003-01-28 Richard Sandiford <rsandifo@redhat.com>
3002
3003 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
3004 class contains a floating-point register, return the size of the
3005 mode in half words.
3006
e6e81735
JH
3007Tue Jan 28 12:15:13 CET 2003 Jan Hubicka <jh@suse.cz>
3008
26182e15
SB
3009 * i386.c (ix86_carry_flag_operator): New predicate.
3010 (fcmov_operator): Fix whitespace.
3011 (ix86_expand_carry_flag_compare): Deal with floating point.
3012 (ix86_expand_int_movcc): Deal with fp; update insn expansion
3013 (ix86_expand_int_addcc): Likewise.
3014 (ix86_expand_strlensi_unroll_1): likewsie.
3015 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
3016 * i386.md (add?i_carry_rex64): Use new predicate.
3017 (sub?i3_carry_rex64): Likewise.
3018 (x86_mov?icc_0_m1*): Likewise.
e6e81735 3019
43196589
AS
30202003-01-28 Andreas Schwab <schwab@suse.de>
3021
32214c32
AS
3022 * cfgloopmanip.c (create_preheader): Initialize src to avoid
3023 warning.
3024
3025 * expmed.c (emit_store_flag): Fix cast to avoid sign
3026 comparison warning.
3027
43196589
AS
3028 * combine.c (force_to_mode): Add cast to fix warning when
3029 STORE_FLAG_VALUE is negative.
3030
3c50106f
RH
30312003-01-27 Richard Henderson <rth@redhat.com>
3032
3033 * Makefile.in (cse.o): Depend on TARGET_H.
3034 * cse.c (rtx_cost): Use targetm.rtx_costs.
3035 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
3036 * doc/tm.texi: Update.
ff6e2d3e 3037
3c50106f
RH
3038 * target.h (targetm.rtx_costs): New.
3039 * target-def.h (TARGET_RTX_COSTS): New.
3040 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
3041 * hooks.h: Update.
3042
3043 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
3044 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
3045 * config/alpha/alpha.h (PROCESSOR_MAX): New.
3046 (CONST_COSTS, RTX_COSTS): Remove.
3047
3048 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
3049 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
3050 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
3051 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
3052 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
3053 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
3054 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
3055 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
3056 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
3057 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
3058 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
3059 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
3060 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
3061 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
3062 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
3063 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
3064 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
3065 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
3066 config/v850/v850.c, config/v850/v850.h,
3067 config/xtensa/xtensa.c, config/xtensa/xtensa.h
3068 (CONST_COSTS, RTX_COSTS): Move code ...
3069 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
3070
3071 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
3072 (arm_rtx_costs, TARGET_RTX_COSTS): New.
3073 * config/arm/arm-protos.h: Update.
3074 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
3075
3076 * config/avr/avr.h (CONST_COSTS): Move code ...
3077 * config/avr/avr.c (avr_rtx_costs): ... here.
3078 (default_rtx_costs): Make static.
3079 * config/avr/avr-protos.h: Update.
3080
3081 * config/h8300/h8300.c (const_costs): Make static.
3082 (h8300_and_costs, h8300_shift_costs): Likewise.
3083 * config/h8300/h8300-protos.h: Update.
3084
3085 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
3086 (CONST_COSTS): Move code ...
3087 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
3088 default_rtx_costs; update for signature change.
3089 * config/ip2k/ip2k-protos.h: Update.
3090
3091 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
3092 (CONST_COSTS): Move code ...
3093 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
3094 (TARGET_RTX_COSTS): New.
3095 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
3096 * config/m68hc11/m68hc11-protos.h: Update.
3097
3098 * config/m68k/m68k.c (const_int_cost): Make static.
3099 * config/m68k/m68k-protos.h: Update.
3100
3101 * config/mcore/mcore.c (mcore_const_costs): Make static.
3102 (mcore_and_cost, mcore_ior_cost): Likewise.
3103 * config/mcore/mcore-protos.h: Update.
3104
3105 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
3106 (mmix_rtx_cost_recalculated): Remove.
3107 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
3108 * config/mmix/mmix-protos.h: Update.
3109
3110 * config/sh/sh.c (shiftcosts): Make static.
3111 (addsubcosts, andcosts, multcosts): Likewise.
3112 * config/sh/sh-protos.h: Update.
3113
3114 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
3115 (sparc_rtx_costs): Make static; update for change in signature.
3116 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
3117 * config/sparc/sparc-protos.h: Update.
3118
3119 * config/v850/v850.c (const_costs): Make static.
3120 * config/v850/v850-protos.h: Update.
3121
3122 * config/vax/vax.h (RTX_COSTS): Remove.
3123 (CONST_COSTS): Move code ...
3124 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
3125 from vax_rtx_cost.
3126 (vax_rtx_costs, TARGET_RTX_COSTS): New.
3127
b9962e0a
RH
31282003-01-27 Richard Henderson <rth@redhat.com>
3129
3130 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 3131 * config/vax/vax-protos.h: Update. Really.
b9962e0a 3132
8a381273
AO
31332003-01-28 Alexandre Oliva <aoliva@redhat.com>
3134
3135 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
3136 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
3137 zero if no hardware floating point.
3138 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
3139 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
3140 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
3141 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
3142 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
3143 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
3144 even FP registers on N32 and N64.
3145 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
3146 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
3147 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
3148 even-register-like alignment to 128-bit arguments.
3149 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
3150 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
3151 on N32 or N64.
3152 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
3153 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
3154 (TPBIT): Set to tp-bit.c.
3155 (tp-bit.c): Create out of fp-bit.c.
3156
820e01be
GDR
31572003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
3158
3159 * c-parse.in: Remove '%expect 32' directive in objc mode.
3160
23af32e6
NS
31612003-01-27 Nathan Sidwell <nathan@codesourcery.com>
3162
3163 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
3164 (LIBGCOV): New variable.
3165 (libgcc.mk): Add LIBGCOV.
3166 (LIBGCC_DEPS): Add libgcov.c.
3167 (libgcov.a): New target.
3168 (clean): Remove libgcov.a.
3169 (install-libgcc): Do libgcov too.
3170 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
3171 with libgcov.a.
3172 * libgcc2.c (L_gcov): Move into ...
3173 * libgcov.c: ... here. New file.
3174 * mklibgcc.in: Add libgcov rules.
3175 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
3176
3177 * doc/invoke.texi (profile-arcs, test-coverage): Update and
3178 clarify.
ff6e2d3e 3179
23af32e6
NS
3180 * profile.c (index_counts_file): Remove duplicate check for open file.
3181
9fe42917 31822003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
3183
3184 * gcc/doc/invoke.texi (Optimization Options): Group together
3185 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 3186 out of this section. Group floating point flags together.
d4463dfc
JQ
3187 (Code Gen Options): Move trapv and bounds-check to here.
3188
244d05fb
JZ
31892003-01-27 Josef Zlomek <zlomekj@suse.cz>
3190
3191 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
3192
c552c146
RE
31932003-01-27 Richard Earnshaw <rearnsha@arm.com>
3194
3195 PR optimization/9090
3196 * function.c (purge_addressof_1): After pushing an addressed register
3197 onto the stack, simplify the result.
3198
90a21764
VR
31992003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3200
3201 * doc/extend.texi: Fix typo.
3202
9a376494
VR
32032003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3204
3205 * doc/cppopts.texi: Fix typo.
3206 * doc/objc.texi: Likewise.
3207 * doc/passes.texi: Likewise.
3208
f004e5f3
AO
32092003-01-27 Alexandre Oliva <aoliva@redhat.com>
3210
3211 * real.c (ibm_extended_format): Add 53 to minimum exponent.
3212 (encode_ibm_extended): Adjust.
3213
58c60e52
GDR
32142003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
3215
3216 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
3217 timevar_id enumerations.
3218
e869aa39
KH
32192003-01-26 Kazu Hirata <kazu@cs.umass.edu>
3220
3221 * combine.c: Fix formatting.
3222
74fb4811
KH
32232003-01-26 Kazu Hirata <kazu@cs.umass.edu>
3224
3225 * doc/gccint.texi: Update the copyright.
3226
3bcf1b13
KH
32272003-01-26 Kazu Hirata <kazu@cs.umass.edu>
3228
3229 * doc/cpp.texi: Fix typos.
3230 * doc/extend.texi: Likewise.
3231 * doc/gty.texi: Likewise.
3232 * doc/install.texi: Likewise.
3233 * doc/passes.texi: Likewise.
3234 * doc/rtl.texi: Likewise.
3235 * doc/tm.texi: Likewise.
3236
9e4f94de
KH
32372003-01-26 Kazu Hirata <kazu@cs.umass.edu>
3238
3239 * config/ia64/fde-glibc.c: Fix comment typos.
3240 * config/ia64/hpux.h: Likewise.
3241 * config/ia64/ia64.c: Likewise.
3242 * config/ia64/ia64.h: Likewise.
3243 * config/ia64/unwind-ia64.c: Likewise.
3244
4aae8a9a
KH
32452003-01-26 Kazu Hirata <kazu@cs.umass.edu>
3246
3247 * config/i386/i386-modes.def: Fix comment typos.
3248 * config/i386/i386.c: Likewise.
3249 * config/i386/i386.md: Likewise.
3250
35d8c8e2
SB
32512003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
3252
3253 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
3254 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
3255 ASM_FINISH_DECLARE_OBJECT before defining it.
3256 * toplev.c (rest_of_decl_compilation): Don't define
3257 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
3258 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
3259 parameters for DWARF2 targets because they _are_ used.
3260
ea976606
AO
32612003-01-26 Alexandre Oliva <aoliva@redhat.com>
3262
b44cf3d9
AO
3263 * fp-bit.h: Define macros for TFmode floating-point constants
3264 in IBM-extended TFmode types.
3265 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
3266 widths.
3267 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
3268 TFmode type.
3269
ea976606
AO
3270 * config/fp-bit.h: Define macros for TFmode floating-point
3271 constants in IEEE quad TFmode type. Declare functions according
3272 to L_ macros.
3273 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
3274 (TFtype, TItype, UTItype): Define if TMODES is defined.
3275 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
3276 (F_T_BITOFF, D_T_BITOFF): Define.
3277 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
3278 guaranteed to be wide enough.
3279 * config/fp-bit.c: Check for L_ macros for tf functions.
3280 (__thenan_tf): New.
3281 (nan): Adjust.
3282 (pack_d, unpack_d): Support IEEE 854 quad type.
3283 (_fpmul_parts): Support TFmode. Compute exponent adjustment
3284 from FRAC_NBITS, FRAC_BITS and NGARDS.
3285 (usi_to_float): Cast constants to be shifted to fractype
3286 instead of assuming long long is wide enough.
3287 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
3288
fd7fd61e
AJ
32892003-01-26 Andreas Jaeger <aj@suse.de>
3290
3291 * df.c: Remove prototype of unused function df_regno_rtl_debug.
3292
8ae91fc0
AO
32932003-01-26 Alexandre Oliva <aoliva@redhat.com>
3294
88e83acb
AO
3295 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
3296 (DBBIT_FUNCS): Added _df_to_tf.
3297 (TPBIT_FUNCS): New.
3298 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
3299 (LIBGCC_DEPS): Added TPBIT.
3300 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
3301
2cd622c3
AO
3302 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
3303 been able to move the result to target.
3304
8ae91fc0
AO
3305 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
3306 for the appropriate mode.
3307
c3297561
AO
3308 * calls.c (emit_library_call_value_1): Handle return values
3309 in a PARALLEL.
3310
187515f5
AO
3311 * rtl.c (get_mode_alignment): Moved to...
3312 * stor-layout.c: ... here.
3313
6ebd2ef4
AO
3314 * print-rtl.c (print_rtx): Don't print MEM details in
3315 GENERATOR_FILEs.
3316
7890e8f3
MH
33172003-01-26 Michael Hayes <mph@paradise.net.nz>
3318
3319 * df.h: Update comments, tidy formatting.
3320 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
3321 REVERSE, UNION, INTERSECTION. All uses updated.
3322 (OLD_DF_INTERFACE): Remove.
3323 (struct insn_info): Remove commented out insn field.
3324 * df.c: Update comments, tidy formatting.
3325 (df_def_table_realloc): Remove.
3326
3327
b820d2b8
AM
33282003-01-26 Alan Modra <amodra@bigpond.net.au>
3329
3330 * calls.c (save_fixed_argument_area): Tidy.
3331 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
3332 (expand_call): Comment typo fixes. Don't init low_to_save. Start
3333 call chain loop at 1 if !try_tail_call. Formatting.
3334 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
3335 Use save_fixed_argument_area and restore_fixed_argument_area.
3336
42510de4
MH
33372003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3338
3339 * df.c (df_uses_record): Handle CC0.
3340
acf9fa5f
UW
33412003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
3342
1e1bd14e
RH
3343 * reload.c (maybe_memory_address_p): New function.
3344 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 3345
5a09edba
KK
33462003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
3347
3348 * final.c (shorten_branches): Align the address of code label
1e1bd14e 3349 when computing initial lengths and addresses.
5a09edba 3350
f5818c0c
KH
33512003-01-25 Kazu Hirata <kazu@cs.umass.edu>
3352
3353 * config/m68hc11/m68hc11.md: Fix a comment typo.
3354
21ff35fb
AJ
33552003-01-25 Andreas Jaeger <aj@suse.de>
3356
3357 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
3358 TARGET_MACHO.
3359
7821bfc7
RS
33602003-01-25 Roger Sayle <roger@eyesopen.com>
3361
3362 * gcse.c (bypass_last_basic_block): New global variable.
3363 (bypass_block): Use redirect_edge_and_branch_force to redirect
3364 fall-through edges. Use bypass_last_basic_block to determine
3365 which blocks have valid PRE information.
3366 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
3367
5f0bea72
JH
3368Sat Jan 25 22:31:59 CET 2003 Jan Hubicka <jh@suse.cz>
3369
3370 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
3371
1649d92f
JH
3372Sat Jan 25 21:04:33 CET 2003 Jan Hubicka <jh@suse.cz>
3373 Eric Botcazou <ebotcazou@libertysurf.fr>
3374 PR opt/8492
3375 * gcse.c (one_cprop_pass): Delete unreachable blocks.
3376
6ca86a1a
RH
33772003-01-25 Richard Henderson <rth@redhat.com>
3378
3379 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
3380 from ia64_aix_select_rtx_section.
3381 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
3382 instead of saving and restoring flag_pic.
3383 (ia64_rwreloc_unique_section): Similarly.
3384 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
3385 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
3386 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
3387 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
3388
aa2fb4dd
KH
33892003-01-25 Kazu Hirata <kazu@cs.umass.edu>
3390
3391 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
3392 comment.
3393
1125849a
RH
33942002-01-25 Richard Henderson <rth@redhat.com>
3395
3396 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
3397
3900a23b
KC
33982002-01-25 Kelley Cook <kelleycook@comcast.net>
3399
3400 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
3401
72e42e26
SB
34022003-01-25 Segher Boessenkool <segher@koffie.nl>
3403
3404 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
3405 type for bitmaps. Use unsigned long.
3406 (nBITMAP_WORD_BITS): New macro.
3407 (BITMAP_WORD_BITS): New macro.
3408 (rest of file): Use it.
3409 * bitmap.c: Use it.
3410
8324663f
RH
34112003-01-25 Richard Henderson <rth@redhat.com>
3412
3413 2002-02-19 Robert Lipe <robertlipe@usa.net>
3414 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
3415
2adc9b0f
RS
34162002-01-25 Roger Sayle <roger@eyesopen.com>
3417
3418 * builtins.c (purge_builtin_constant_p): Scan insn stream
3419 sequentially rather than by basic block.
3420 * function.c (purge_addressof): Simplify test with INSN_P.
3421
ad487c38
KH
34222003-01-25 Kazu Hirata <kazu@cs.umass.edu>
3423
8324663f 3424 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 3425
07d9b20d
RS
34262002-01-25 Roger Sayle <roger@eyesopen.com>
3427
3428 * function.h (struct function): New field calls_constant_p.
3429 (current_function_calls_constant_p): New macro for above.
3430 * function.c (prepare_function_start): Initialize calls_eh_return
3431 and calls_constant_p.
3432 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
3433 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
3434 when the current_function_calls_constant_p.
3435 * integrate.c (expand_inline_function): Set calls_constant_p if
3436 the function being inlined has calls_constant_p set.
3437
41559112
RS
34382002-01-25 Roger Sayle <roger@eyesopen.com>
3439
3440 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
3441 optimizing, even if flag_gcse is true.
3442 * toplev.c (rest_of_compilation): purge_builtin_constant_p
3443 only needs to be called when "optimize > 0 && flag_gcse".
3444
9bb231fd
RS
34452003-01-25 Roger Sayle <roger@eyesopen.com>
3446
3447 * stmt.c (emit_case_bit_tests): New routine to implement suitable
3448 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
3449 (case_bit_test_cmp): New comparison function for "qsort" to order
3450 case_bit_tests by decreasing number of destination nodes.
3451 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
3452 (expand_end_case_type): Use emit_case_bit_tests to implement
3453 suitable switch statments.
3454 (CASE_USE_BIT_TESTS): New target macro to disable the above.
3455 * Makefile.in (stmt.o): Add dependency on optab.h.
3456 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
3457
a073323c
AS
34582003-01-23 Andreas Schwab <schwab@suse.de>
3459
3460 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
3461 __do_global_ctors_aux hidden global and don't put it in
3462 .init_array.
3463 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
3464 instead so that it comes first.
3465
36ddc6b0
JH
3466Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
3467
3468 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
3469 subreg is read/modify.
3470
26771da7
JH
3471Sat Jan 25 15:55:08 CET 2003 Jan Hubicka <jh@suse.cz>
3472
3473 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
3474 do libcall for large blocks.
3475 * i386.md (comi patterns): Set type to ssecomi.
3476 (sse2_unpck?pd): Fix mode of vec_select.
3477
3478 * cse.c: Include except.h
3479 (cse_set_around_loop): Do not create new basic blocks.
3480 * Makefile.in (cse.o): Add dependnecy on except.h
3481
27a6aa72
JH
3482Sat Jan 25 12:05:17 CET 2003 Jan Hubicka <jh@suse.cz>
3483
3484 * builtins.c (fold_trunc_transparent_mathfn): New function.
3485 (fold_builtin): Use it.
3486 * convert.c (convert_to_real): Re-enable code to convert
3487 math functions; add support for floor familly functions.
3488
cd68f4e4
ZD
34892003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3490
3491 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
3492 dependencies on coretypes.h and $(TM_H).
3493
67945f2e
JH
3494Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
3495
3496 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
3497
095fa594
SH
34982002-01-24 Stuart Hastings <stuart@apple.com>
3499
08f0414b 3500 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 3501
1e4c04e0
MH
35022003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3503
3504 * config/c4x/c4x.md (UNSPEC_BU): New constants.
3505 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
3506 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
3507 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
3508 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
3509 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
3510 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
3511 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
3512
a560d4d4
JH
3513Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
3514
08f0414b 3515 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
3516 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
3517 functions.
3518 (reg_rtx): Do not maintain regno_decl.
3519 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
3520 set_mem_attrs_from_reg): New global function.
3521 (init_emit): Do not initialize regno_decl.
3522 (init_emit_once): initialize reg_attrs_htab.
3523 * final.c (alter_subreg): Do not replace REG by SUBREG.
3524 (gen_mem_expr_from_op): Improve output.
3525 (output_asm_operands): Likewise.
3526 * function.c (assign_params): Do not set REGNO_DECL.
3527 * function.h (struct function): Kill regno_decl.
3528 (REGNO_DECL): Kill.
3529 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
3530 * print_rtl.c (print_rtx): Output REG information.
3531 * regclass.c (reg_scan_mark_refs): Update attrs.
3532 * reload1.c (alter_reg): Likewise.
3533 * simplify_rtx.c (simplify_subreg): Likewise.
3534 * stmt.c (expand_decl): Likewise.
3535 * rtl.def (REG): Add new field.
3536 * rtl.h (struct reg_attrs): New.
3537 (rtunion_def): At rtreg.
3538 (X0MEMATTR): Add checking.
3539 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
3540 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
3541 Declare.
3542 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
3543
1d0ea52e
BW
35442003-01-24 Bob Wilson <bob.wilson@acm.org>
3545
3546 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
3547 (xtensa_emit_call, print_operand): Fix printf format strings
3548 to avoid compile warnings.
3549 (xtensa_function_prologue, xtensa_function_epilogue): Change type
3550 of "size" argument to HOST_WIDE_INT to fix compile warnings.
3551 * config/xtensa/xtensa-protos.h
3552 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
3553
272f51a3
JH
3554Fri Jan 24 23:03:32 CET 2003 Jan Hubicka <jh@suse.cz>
3555
3556 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
3557 (implicit_built_in_decls): New global array.
3558 (mathfn_built_in): New global function.
3559 (fold_trunc_transparent_mathfn): New static function
3560 (expand_builtin_strstr, expand_bultin_strchr,
3561 expand_builtin_strpbrk, expand_builtin_strcpy,
3562 expand_builtin_strncpy, expand_bultin_strcmp,
3563 expand_bultin_strncat, expand_builtin_fputs): Use
3564 implicint_built_in_decls.
3565 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
3566 * builtins.def: Fix comments.
3567 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
3568 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
3569 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
3570 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
3571 (DEF_C99_C90RES_BULTIN): New.
3572 (*f, *l builtins): Update.
3573 * c-common.c (DEF_BUILTIN): Initialize implicit array.
3574 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
3575 * convert.c (strip_float_extensions): New global function.
3576 * tree.h (DEF_BUILTIN): Accept 10 arguments.
3577 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
3578 Declare.
3579 * java/builtins.c (define_builtin): Handle implicit.
3580 (DEF_BUILTIN): Update.
3581 * tm.texi (TARGET_C99_FUNCTIONS): Document.
3582 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
3583 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
3584 when using glibc2.
3585
1f37a5b2
BW
35862003-01-24 Bob Wilson <bob.wilson@acm.org>
3587
3588 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
3589 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
3590 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
3591 * config/xtensa/crti.asm: New file.
3592 * config/xtensa/crtn.asm: New file.
3593 * config/xtensa/t-elf: New file.
3594 * config/xtensa/t-linux: New file.
3595 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
3596 Move various CFLAGS settings to new t-elf file.
3597
84f5e1b1
RH
35982003-01-24 Richard Henderson <rth@redhat.com>
3599
3600 PR optimization/4382
3601 * tree-inline.c (find_builtin_longjmp_call_1): New.
3602 (find_builtin_longjmp_call): New.
3603 (inlinable_function_p): Use it.
3604
09b2e78d
ZD
36052003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3606
3607 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
3608 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3609 * config/i386/i386.c (function_arg_pass_by_reference): New.
3610 (ix86_va_arg): Support arguments passed by reference.
3611
3d436d2a
ZD
36122003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3613
3614 * cfgloopanal.c: New file.
3615 * cfgloopmanip.c: New file.
3616 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
3617 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
3618 cfglayout.o): Add dependency on cfgloop.h.
3619 (cfgloop.o): Add flags.h dependency.
3620 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
3621 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
3622 (struct loop, struct loops, flow_loops_find, flow_loops_update,
3623 flow_loops_free, flow_loops_dump, flow_loop_dump,
3624 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
3625 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
3626 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
3627 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
3628 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
3629 find_common_loop, verify_loop_structure): Declarations moved to ...
3630 * cfgloop.h: New file.
3631 * bb-reorder.c (reorder_basic_blocks): Modified.
3632 * cfglayout.c: Include cfgloop.h.
3633 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
3634 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
3635 (break_superblocks): New static function.
3636 (cfg_layout_finalize): Use it.
3637 (cfg_layout_split_block): New function.
3638 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
3639 fields.
3640 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
3641 changed.
3642 (cfg_layout_split_block): Declare.
3643 * cfgloop.c: Include cfgloop.h and flags.h.
3644 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
3645 get_loop_body): Avoid signed versus unsigned comparison warnings.
3646 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
3647 loop_latch_edge): Modified.
3648 (verify_loop_structure): Modified to use flags stored in loop structure;
3649 check irreducible loops.
3650 (cancel_loop, cancel_loop_tree): New functions.
3651 (estimate_probability): Use loop analysis code for predictions.
3652 (estimate_loops_at_level): Avoid signed versus unsigned comparison
3653 warnings.
3654 * doloop.c: Include cfgloop.h.
3655 * loop.c: Include cfgloop.h.
3656 * predict.c: Include cfgloop.h.
3657 * toplev.c: Include cfgloop.h.
3658 * unroll.c: Include cfgloop.h.
3659 * tracer.c (tracer): Modified.
3660
a38b3eea
KH
36612003-01-24 Kazu Hirata <kazu@cs.umass.edu>
3662
3663 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
3664
fd3cd001
UW
36652003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
3666
3667 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
3668 * configure: Regenerate.
3669
3670 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
3671 (tls_symbolic_reference_mentioned_p): Add prototype.
3672 (s390_tls_get_offset): Add prototype.
3673 (emit_pic_move): Remove prototype, replace by ...
3674 (emit_symbolic_move): .. this new prototype.
3675
3676 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
3677 (tls_model_chars): New global variable.
3678 (s390_encode_section_info): Encode TLS model.
3679 Use targetm.binds_local_p to check for local symbols.
3680 (s390_strip_name_encoding): New function.
3681 (TARGET_STRIP_NAME_ENCODING): Define.
3682
3683 (get_thread_pointer): New function.
21ff35fb 3684 (legitimize_tls_address): New function.
fd3cd001
UW
3685 (legitimize_address): Call it.
3686 (emit_pic_move): Remove, replace by ...
3687 (emit_symbolic_move): ... this new function.
3688
3689 (larl_operand): Handle TLS operands.
3690 (legitimate_constant_p): Likewise.
3691 (s390_decompose_address): Likewise.
3692 (s390_cannot_force_const_mem): New function.
3693 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3694
3695 (s390_output_symbolic_const): Handle TLS unspecs.
3696 (print_operand): New code 'J'.
3697 (machine_function): Add struct member 'some_ld_name'.
3698 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3699
3700 (enum s390_builtin): New type.
3701 (code_for_builtin_64, code_for_builtin_31): New global variables.
3702 (s390_init_builtins, s390_expand_builtin): New functions.
3703 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
3704
3705 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
3706 (ASM_OUTPUT_LABELREF): Define.
3707 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
3708
3709 * config/s390/s390.md: Define TLS UNSPEC constants.
3710 ("movdi", "movsi"): Handle TLS operands.
3711 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
3712 ("*tls_load_64", "*tls_load_31"): New insns.
3713 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 3714 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
3715 "bas_tls_64", "bas_tls_31"): New insns.
3716
01f4962d
NS
37172003-01-24 Nathan Sidwell <nathan@codesourcery.com>
3718
3719 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
3720 spe ABI is configured, if requested.
3721
70b91854
VR
37222003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3723
3724 * doc/passes.texi: Fix typo.
3725
b8089d8d
AS
37262003-01-24 Andreas Schwab <schwab@suse.de>
3727
3728 * stor-layout.c (excess_unit_span): Only define if used.
3729
38df970e
JQ
37302003-01-24 Jerry Quinn <jlquinn@optonline.net>
3731
3732 * gcc/doc/invoke.texi (Optimization Options): List -O levels
3733 for each optimization flag.
3734
dff23a65
KH
37352003-01-24 Kazu Hirata <kazu@cs.umass.edu>
3736
3737 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
3738
05739753
VR
37392003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3740
3741 * doc/bugreport.texi: Use @command instead of @code for commands.
3742 * doc/collect2.texi: Likewise.
3743 * doc/headerdirs.texi: Likewise.
3744 * doc/invoke.texi: Likewise.
3745 * doc/standards.texi: Likewise.
3746 * doc/tm.texi: Likewise.
3747 * doc/trouble.texi: Likewise.
3748
06bea5aa
NC
37492003-01-24 Nick Clifton <nickc@redhat.com>
3750
3751 * config/arm/arm.c (use_return_insn): Do not use a single return
3752 instruction for interrupt handelrs which have to create a stack
3753 frame.
3754 (arm_expand_prologue): Do not pre-bias the return address of
3755 interrupt handlers which create a stack frame.
3756
37572003-01-24 Nick Clifton <nickc@redhat.com>
3758
3759 * Add sh2e support:
3760
3761 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
3762
3763 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
3764 med_cbranches. Fix logic in short_cbranches.
3765
3766 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
3767
3768 * config/sh/sh.md (delay for cbranch): Don't annul delay
3769 slots on SH2e.
3770 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
3771 cbranch with unfilled delay slot on SH2e.
3772 (output_branch): Fill with a nop the delay slot of a
3773 branch that required a delay slot but didn't get one.
3774
3775 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
3776
3777 * doc/invoke.texi (SH options): Document -m2e.
3778 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
3779 * config/sh/lib1funcs.asm: Likewise.
3780 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
3781 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
3782 not __sh1__.
3783 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
3784 SH2E up.
3785 (SH3E_BIT): Renamed to...
3786 (SH_E_BIT): ... this. Replace all uses.
3787 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
3788 Replace all uses of TARGET_SH3E with TARGET_SH2E.
3789 (TARGET_SWITCHES): Added 2e.
3790 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
3791 (processor_type): Added PROCESSOR_SH2E.
3792 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
3793 TARGET_SH2E, except in sqrtsf2_i.
3794 (attribute cpu): Added sh2e.
3795 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
3796 (MULTILIB_MATCHES): Use m2e multilib for m3e.
3797 * config.gcc: Add sh2e target support.
3798
65ca2d60
PE
37992003-01-24 Phil Edwards <pme@gcc.gnu.org>
3800
3801 Rename -W to -Wextra.
3802 * c-decl.c: Update comments.
3803 * c-typeck.c: Likewise.
3804 * flags.h: Likewise.
3805 * function.c: Likewise.
3806 * stmt.c: Likewise.
3807 * toplev.c: Update comments.
3808 (W_options): Add 'extra'.
3809 (display_help): Remove '-W'.
3810 (decode_W_option): Special warn_uninitialized treatment in the case
3811 of -Wextra.
3812 * doc/invoke.texi: Update with new entries.
3813
3de9c088
RH
38142003-01-23 Richard Henderson <rth@redhat.com>
3815
8324663f
RH
3816 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
3817 in no-else-block case. Add commentary.
3de9c088 3818
49691411
KG
38192003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3820
b4862477
KG
3821 * configure.in: Revert last change.
3822
38232003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3824
3825 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
3826 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
3827 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
3828 ATTRIBUTE_UNUSED.
3829
3830 * configure: Regenerate.
3831
c4db7ecb
FS
38322003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3833
3834 PR java/6748
3835 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
3836 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
3837 kernels.
3838
fc69c47c
KG
38392003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3840
3841 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
3842
adbe6dfd
UW
38432003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
3844
3845 * genattrtab.c (write_attr_get): Mark 'insn' paramter
3846 as ATTRIBUTE_UNUSED.
3847
76a318e9
RE
38482003-01-23 Richard Earnshaw <rearnsha@arm.com>
3849
3850 * arm.c (thumb_base_register_rtx_p): New function.
3851 (thumb_index_register_rtx_p): New function.
3852 (thumb_legitimate_address_p): New function.
3853 (thumb_legitimate_offset_p): New function.
3854 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 3855 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
3856 definitions.
3857 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
3858 (THUMB_LEGITIMATE_OFFSET): Delte.
3859 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
3860 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
3861 (thumb_legitimate_offset_p): Likewise.
3862
9a600d0c
AS
38632003-01-23 Andreas Schwab <schwab@suse.de>
3864
3865 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
3866
2d110c0a
KG
38672003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3868
3869 * fixinc/Makefile.in (FL_LIST): Revert last change.
3870
2d1d9215
VR
38712003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3872
3873 PR other/7341
3874 * invoke.texi (ftest-coverage): Fix broken cross-reference.
3875 Change @code to @command for gcov command.
3876
3877 * gcc.texi: Adjust title of gcov section.
3878 Adjust copyright.
3879 * gcov.texi: Likewise.
3880
34ee7f82
RS
38812003-01-22 Roger Sayle <roger@eyesopen.com>
3882
3883 PR optimization/8423
3884 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
3885 its argument is constant, or 0 if !flag_gcse.
3886 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
3887 if it's argument is constant.
3888 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
3889 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
3890 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
3891 * builtins.c (purge_builtin_constant_p): New function to force
3892 instantiation of any remaining CONSTANT_P_RTX nodes.
3893 * rtl.h (purge_builtin_constant_p): Prototype here.
3894 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
3895 pass after GCSE and before loop.
3896 (flag_gcse): No longer static.
3897 * flags.h (flag_gcse): Prototype here.
3898
bab0b43b
UW
38992003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
3900
3901 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
3902 introduced by last change.
3903
7e657a61
AS
39042003-01-22 Andreas Schwab <schwab@suse.de>
3905
3906 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
3907
75a3503b
KH
39082003-01-22 Kazu Hirata <kazu@cs.umass.edu>
3909
3910 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
3911 request a scratch reg on H8S when the shift count is 8.
3912
4888ec5d
UW
39132003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
3914
3915 * config/s390/s390-protos.h (preferred_la_operand_p):
3916 Remove second parameter.
3917 * config/s390/s390.c (preferred_la_operand_p): Likewise.
3918 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
3919 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
3920 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
3921 Add peepholes to transform ADD to LOAD ADDRESS.
3922
6b990f6b
RE
39232003-01-22 Richard Earnshaw <rearnsha@arm.com>
3924
3925 * arm.c (arm_address_register_rtx_p): New function.
3926 (arm_legitimate_address_p): New function.
3927 (arm_legitimate_index_p): New function.
3928 (legitimize_pic_address): Use arm_legitimate_index_p.
3929 * arm-protos.h (arm_legtimate_address_p): Add prototype.
3930 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
3931 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
3932
f0bf1270
HP
39332003-01-22 Hartmut Penner <hpenner@de.ibm.com>
3934
3935 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
3936 * config/s390/2064.md (define_bypass): Correct 'Load' and
3937 'Load-address' bypass values.
21ff35fb 3938
fcb6a0f5
AS
39392003-01-22 Andreas Schwab <schwab@suse.de>
3940
3941 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
3942
c24b8026
ZW
39432003-01-21 Zack Weinberg <zack@codesourcery.com>
3944
3945 * genautomata.c (output_internal_insn_latency_func,
3946 output_print_reservation_func): Short circuit when there is no
3947 automaton to generate code for.
3948
38afe605
KG
39492003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3950
3951 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
3952 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
3953
d24652ee
GK
39542003-01-21 Geoffrey Keating <geoffk@apple.com>
3955
3956 * config/rs6000/rs6000.md: Remove warning.
3957 (builtin_setjmp_receiver): Likewise.
3958 * config/darwin.c (update_stubs): Slightly improve terrible hack
3959 with identifiers. Add comment pointing out problems with it.
3960 (update_non_lazy_ptrs): Likewise.
3961
1c99d804
RH
39622003-01-21 Richard Henderson <rth@redhat.com>
3963
3964 * dwarf2out.c (lookup_filename): Fix printf format warning.
3965 * system.h (fread_unlocked, fwrite_unlocked): Undef.
3966
3967 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
3968 (fixincl.o-warn, gnu-regex.o-warn): New.
3969 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
3970 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
3971 * fixinc/fixincl.c (process): Fix printf format warning.
3972
f0b886ab
UW
39732003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
3974
3975 * dwarf2out (output_file_names): Don't crash if called
3976 with empty file_table.
3977
490c57bb
ZW
39782003-01-21 Zack Weinberg <zack@codesourcery.com>
3979
3980 * genautomata.c (output_internal_insn_latency_func): Add
3981 missing break statement to generated code.
3982
100e3acb
RS
39832003-01-21 Roger Sayle <roger@eyesopen.com>
3984
3985 * stmt.c (same_case_target_p): New function to determine whether
3986 two case labels branch to the same target. Split out from...
3987 (group_case_nodes): ... here. Use same_case_target_p instead.
3988 (strip_default_case_nodes): Remove explicit case nodes
3989 that branch to the default destination.
3990 (expand_end_case_type): Call strip_default_case_nodes after
3991 group_case_nodes, to simplify the case-list before we count it.
3992 Only generate table_label RTX when actually needed. Try to share
3993 thiscase->exit_label and thiscase->data.case_stmt.default_label
3994 when a switch has no explicit default case. Simplify test for
3995 constant index.
3996
e8e8c1e5
KH
39972003-01-21 Kazu Hirata <kazu@cs.umass.edu>
3998
3999 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
4000 \t.
4001 (*negsf2_h8300hs): Likewise.
4002 (*addsi3_lshiftrt_16_zexthi): Likewise.
4003 (*iorhi3_lshiftrt_8): Likewise.
4004
044b4de3
UW
40052003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
4006
4007 * dwarf2out.c (fde_table_in_use): Mark GTY.
4008 (dwarf2out_cfi_label_num): New variable, marked GTY.
4009 (dwarf2out_cfi_label): Use it instead of static label_num.
4010 * emit-rtl.c (label_num): Mark GTY.
4011
cfedf91b
KH
40122003-01-21 Kazu Hirata <kazu@cs.umass.edu>
4013
4014 * config/h8300/h8300.c (output_plussi): Support H8/300.
4015 (compute_plussi_length): Likewise.
4016 (compute_plussi_cc): Likewise.
4017 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
4018 output assembly instructions.
4019
dd859b8a
KG
40202003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4021
1f5b3282
KG
4022 * calls.c (fix_unsafe_tree): Prototype.
4023
dd859b8a
KG
4024 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
4025 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
4026 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
4027 c-parse.o-warn): Add -Wno-error.
4028 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
4029
4030 * configure.in (--enable-werror): Add new flag.
4031 * doc/install.texi (--enable-werror): Document.
4032 * configure: Regenerate.
4033
4034 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
4035
4f9365e2
AS
40362003-01-21 Andreas Schwab <schwab@suse.de>
4037
4038 * genautomata.c (output_internal_insn_latency_func): Fix missing
4039 close paren in output.
4040
a543eb5e
ZW
40412003-01-21 Zack Weinberg <zack@codesourcery.com>
4042
4043 * genautomata.c: Space savings in generated code:
4044 (output_dfa_insn_code_func): Split out the table-enlargement
4045 path to an out-of-line static function, dfa_insn_code_enlarge.
4046 (output_internal_insn_latency_func): Use a lookup table for the
4047 default latencies.
4048 (output_print_reservation_func): Use a lookup table for the
4049 strings.
4050
292e35a3
CE
40512003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
4052
4053 PR opt/7507
4054 * calls.c (fix_unsafe_tree): Split out from ...
4055 (expand_call): ... here. Use it on the function address too.
4056
d8d0f5af
RH
40572003-01-20 Richard Henderson <rth@redhat.com>
4058
4059 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
4060
5b50aa9d
RH
40612003-01-20 Richard Henderson <rth@redhat.com>
4062
515e1c9f 4063 PR opt/7154
5b50aa9d
RH
4064 * stmt.c (expand_asm_operands): Validize memory operands.
4065
7a174a15
RH
40662003-01-20 Richard Henderson <rth@redhat.com>
4067
4068 PR opt/8848
4069 * ifcvt.c (noce_process_if_block): Correct arguments to
4070 modified_between_p for no-else-block case.
4071
9ac7ebba
KH
40722003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4073
4074 * config/h8300/h8300.c (const_costs): Remove a warning.
4075 (output_plussi): Likewise.
4076 (compute_plussi_length): Likewise.
4077 (compute_plussi_cc): Likewise.
4078
309c52b5
KH
40792003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4080
4081 * config/h8300/h8300.md (addsi_h8300): Remove the last
4082 alternative.
4083
b30686ec
KH
40842003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4085
4086 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4087
87608693
KG
40882003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4089
4090 * system.h (__NO_STRING_INLINES): Define.
4091
475c8250
JDA
40922003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4093
4094 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
4095 is not a scalar int mode.
4096
dbaff908
RS
40972003-01-20 Roger Sayle <roger@eyesopen.com>
4098
4099 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
4100 insn's notes following a substitution inside a libcall.
4101
da8a6064
ZW
41022003-01-20 Zack Weinberg <zack@codesourcery.com>
4103
4104 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 4105 * configure, config.in: Regenerate.
da8a6064
ZW
4106 * cpphash.h: Only typedef 'uchar' if the system doesn't.
4107
a4b1b92a
RH
41082003-01-20 Richard Henderson <rth@redhat.com>
4109
4110 * expr.h (MUST_PASS_IN_STACK): Move implementation...
4111 * calls.c (default_must_pass_in_stack): ... here.
4112
d530b07f
VM
41132003-01-20 Vladimir Makarov <vmakarov@redhat.com>
4114
da8a6064
ZW
4115 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
4116
d530b07f
VM
4117 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
4118
4119 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
4120 Wrap up definition of `insn_alts'.
4121
4122 * genattrtab.c (main): Wrap up `insn_alts'.
4123
351df804
KG
41242003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4125
4126 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
4127 prototyping.
4128 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 4129
351df804
KG
4130 * config.in, configure: Regenerate.
4131
e3289412
NC
41322003-01-20 Nick Clifton <nickc@redhat.com>
4133
4134 * config/arm/arm.md (sibcall_epilogue): Add an
4135 UNSPEC_PROLOGUE_USE to prevent the link register from being
4136 considered dead.
4137
5794139a
JH
4138Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
4139
4140 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
4141
0a18ddf9
AS
41422003-01-20 Andreas Schwab <schwab@suse.de>
4143
4144 * system.h: Don't declare strsignal if the decl test hasn't been
4145 run yet.
4146
d99c740f
KH
41472003-01-20 Kazu Hirata <kazu@cs.umass.edu>
4148
4149 * config/h8300/h8300.c (notice_update_cc): Don't assume that
4150 recog_data.operands[0] is always associated with cc0.
4151
825c5408
DE
41522003-01-19 David Edelsohn <edelsohn@gnu.org>
4153
4154 * collect2.c (ldgetname): Expand declaration to prototype.
4155 * read-rtl.c (atoll): Add prototype.
da3e0142 4156 * system.h (strsignal): Also declare if no declaration found.
825c5408 4157
3bd6d4c4
AO
41582003-01-19 Alexandre Oliva <aoliva@redhat.com>
4159
4160 * config.gcc (mips64*-*-linux*): Added.
4161 * config/mips/linux64.h, config/mips/t-linux64: New file.
4162 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
4163 * config/mips/mips.c (override_options): Use it.
4164 * config/mips/mips.h (TARGET_SWITCHES): Added...
4165 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
4166 * Makefile.in (SPECS): New.
4167 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
4168 * gcc.c (process_command): Move self-spec processing past spec
4169 file loading.
4170 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
4171 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
4172 CRTSTUFF_T_CFLAGS.
4173 (SPECS): Document.
4174 * doc/invoke.texi (-mabi-fake-default): Document.
4175
e9f13564
SC
41762003-01-19 Stephane Carrez <stcarrez@nerim.fr>
4177
4178 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
4179 z_reg, z_reg_qi): Declare static and GTY().
4180 (da_reg): Remove.
4181 (create_regs_rtx): Don't create da_reg.
4182 ("gt-m68hc11.h"): Include for GTY roots.
4183 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
4184 and GTY() here.
4185 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
4186 (m68hc11_soft_tmp_reg): Likewise.
4187 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
4188
32dd366d
KH
41892003-01-18 Kazu Hirata <kazu@cs.umass.edu>
4190
4191 * basic-block.h: Fix comment formatting.
4192 * calls.c: Likewise.
4193 * combine.c: Likewise.
4194 * convert.c: Likewise.
4195 * gcov.c: Likewise.
4196 * haifa-sched.c: Likewise.
4197 * libgcc2.c: Likewise.
4198 * loop.c: Likewise.
4199 * profile.c: Likewise.
4200 * system.h: Likewise.
4201
bc3cb712
RS
42022003-01-18 Roger Sayle <roger@eyesopen.com>
4203
4204 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
4205
25e42e9d
KG
42062003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4207
4208 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
4209
6f9c81f5
DJ
42102003-01-17 Dale Johannesen <dalej@apple.com>
4211
da8a6064 4212 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
4213 (*floatunssidf2_internal): Ditto.
4214
95bd1dd7
KH
42152003-01-17 Kazu Hirata <kazu@cs.umass.edu>
4216
4217 * alias.c: Fix comment typos.
4218 * basic-block.h: Likewise.
4219 * c-common.c: Likewise.
4220 * c-common.h: Likewise.
4221 * c-decl.c: Likewise.
4222 * c-opts.c: Likewise.
4223 * c-pragma.c: Likewise.
4224 * c-pretty-print.h: Likewise.
4225 * cfg.c: Likewise.
4226 * cfganal.c: Likewise.
4227 * cfgbuild.c: Likewise.
4228 * cfgcleanup.c: Likewise.
4229 * cfglayout.c: Likewise.
4230 * cfgrtl.c: Likewise.
4231 * convert.c: Likewise.
4232 * cpphash.h: Likewise.
4233 * cpplex.c: Likewise.
4234 * cpplib.h: Likewise.
4235 * df.h: Likewise.
4236 * diagnostic.c: Likewise.
4237 * diagnostic.h: Likewise.
4238 * dwarf2.h: Likewise.
4239
d5840e09
SS
42402003-01-17 Stan Shebs <shebs@apple.com>
4241
4242 * config/darwin-protos.h: Forward-declare struct cpp_reader.
4243
e607534b
DR
42442003-01-17 Douglas B Rupp <rupp@gnat.com>
4245
4246 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
4247 mistake in last checkin.
4248
fbe5a4a6
KH
42492003-01-17 Kazu Hirata <kazu@cs.umass.edu>
4250
4251 * et-forest.c: Fix comment typos.
4252 * et-forest.h: Likewise.
4253 * except.c: Likewise.
4254 * expr.c: Likewise.
4255 * flags.h: Likewise.
4256 * flow.c: Likewise.
4257 * gcc.c: Likewise.
4258 * gcse.c: Likewise.
4259 * genattrtab.c: Likewise.
4260 * genautomata.c: Likewise.
4261 * gengtype.c: Likewise.
4262 * genrecog.c: Likewise.
4263 * global.c: Likewise.
4264 * gthr-rtems.h: Likewise.
4265
095f9093
KG
42662003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4267
4268 * i386.c (x86_function_profiler): Fix format specifier.
4269
084087e1
RH
42702003-01-17 Richard Henderson <rth@redhat.com>
4271
4272 * gengtype.c (walk_type): Allow paramN_is.
4273
4a13592e
NC
42742003-01-17 Nick Clifton <nickc@redhat.com>
4275
4276 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
4277
01193617
RH
42782003-01-16 Richard Henderson <rth@redhat.com>
4279
4280 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
4281
f030826a
RH
42822003-01-16 Richard Henderson <rth@redhat.com>
4283
4284 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
4285 (alpha_next_sequence_number): Likewise.
4286 (alpha_this_literal_sequence_number): Likewise.
4287 (alpha_this_gpdisp_sequence_number): Likewise.
4288 (struct alpha_funcs, alpha_funcs_num): Likewise.
4289 (struct alpha_links): Fix branch merge error.
4290 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
4291
e1551d47
AO
42922003-01-17 Alexandre Oliva <aoliva@redhat.com>
4293
4294 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
4295 R. Ghazi.
4296
3d042e77
KH
42972003-01-16 Kazu Hirata <kazu@cs.umass.edu>
4298
4299 * ifcvt.c: Fix comment typos.
4300 * lcm.c: Likewise.
4301 * libgcc2.c: Likewise.
4302 * local-alloc.c: Likewise.
4303 * loop.c: Likewise.
4304 * predict.c: Likewise.
4305 * ra-build.c: Likewise.
4306 * ra.c: Likewise.
4307 * ra-colorize.c: Likewise.
4308 * ra.h: Likewise.
4309 * ra-rewrite.c: Likewise.
4310 * regmove.c: Likewise.
4311 * reload.h: Likewise.
4312 * rtlanal.c: Likewise.
4313 * toplev.c: Likewise.
4314 * tree.h: Likewise.
4315 * unwind-dw2-fde-glibc.c: Likewise.
4316 * vmsdbgout.c: Likewise.
4317
c4274b22
RH
43182003-01-16 Richard Henderson <rth@redhat.com>
4319
4320 * dwarf2out.c (struct file_table): Remove.
4321 (FILE_TABLE_INCREMENT): Remove.
4322 (file_table): Make a varray; mark for GC. Update all users.
4323 (file_table_last_lookup_index): Extract from struct file_table.
4324 (output_file_names): Fix unsigned compare warnings.
4325 (add_name_attribute): Remove inline marker.
4326 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
4327 (lookup_filename): Don't manage size of file_table.
4328 (init_file_table): Allocate file_table with GC.
4329 (dwarf2out_init): Don't record main_input_filename here.
4330 (dwarf2out_finish): Do it here instead.
4331
19162d0e
BK
43322003-01-16 Bruce Korb <bkorb@gnu.org>
4333
4334 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
4335
f1e2239f
KK
43362003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
4337
da8a6064
ZW
4338 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
4339 instead of rotldi3_mextr.
f1e2239f 4340
cda1f765
VM
43412003-01-16 Vladimir Makarov <vmakarov@redhat.com>
4342
4343 * haifa-sched.c (move_insn): Restore moving all schedule group.
4344 (set_priorities): Restore taking SCHED_GROUP_P into account.
4345
4346 * sched-deps.c (add_dependence): Restore processing the last group
4347 insn.
4348 (remove_dependence, group_leader): Restore the functions.
4349 (set_sched_group_p): Restore adding dependencies from previous insn
4350 in the group.
4351 (compute_forward_dependences): Restore usage of group_leader.
4352
4353 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
4354 account.
4355
4356 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
4357 account.
4358 (can_schedule_ready_p): Ditto.
4359 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 4360
200097cc
SC
43612003-01-16 Stephane Carrez <stcarrez@nerim.fr>
4362
4363 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
4364 68HC12 pre/post inc/dec side effects.
4365
f411c739
SC
43662003-01-16 Stephane Carrez <stcarrez@nerim.fr>
4367
4368 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
4369
08c43ea7
R
4370Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk>
4371
4372 * sh.md (mshflo_w_x): Fix description of operation.
4373
07488f32
ZW
43742003-01-16 Zack Weinberg <zack@codesourcery.com>
4375
4376 * config/rs6000/rs6000.h: Mention Altivec registers in
4377 commentary. Fix typo.
4378
27dc0551
DE
43792003-01-16 David Edelsohn <edelsohn@gnu.org>
4380
4381 * config/rs6000/rs6000.md (movti_string): Remove clobber.
4382 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
4383 generate PARALLEL with clobber for TARGET_POWER.
4384
0334ef47
KG
43852003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4386
4387 * ra-colorize.c (colorize_one_web): Initialize variable.
4388 * regmove.c (fixup_match_1): Likewise.
4389 * reload1.c (reload_as_needed): Likewise.
4390 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
4391
16f2b86a
ZD
43922003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4393
4394 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
4395
fc555370
KG
43962003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4397
93d8c755
KG
4398 * dbxout.c (lastfile, cwd): Fix `unused' warning.
4399 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
4400 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
4401 is_main_source, file_table, decl_die_table_in_use,
4402 abbrev_die_table_in_use, line_info_table_in_use,
4403 separate_line_info_table_in_use, pubname_table_in_use,
4404 arange_table_in_use, ranges_table_in_use,
4405 current_function_has_inlines): Likewise.
4406 * flow.c (life_analysis): Likewise.
4407 * genemit.c (gen_insn): Likewise.
4408 * protoize.c (cplus_suffix): Likewise.
4409
0c2ca901
KG
4410 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
4411 * arm.h (ROUND_UP_WORD): Likewise.
4412
fc555370
KG
4413 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
4414 warning.
4415 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
4416 init_emit_once): Likewise.
4417 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
4418 Likewise.
4419 * function.c (assign_stack_temp_for_type): Likewise.
4420 * loop.c (loop_invariant_p): Likewise.
4421 * recog.c (push_operand): Likewise.
4422 * regclass.c (init_reg_sets_1): Likewise.
4423 * reload.c (update_auto_inc_notes): Likewise.
4424 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
4425 * stmt.c (expand_asm_operands): Likewise.
4426 * stor-layout.c (start_record_layout): Likewise.
4427
64510a4f
HB
44282003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
4429
07488f32 4430 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 4431
77480b0b
RH
44322003-01-15 Richard Henderson <rth@redhat.com>
4433
4434 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
4435 also check that GP is being used.
4436 (alpha_find_lo_sum_using_gp): New.
4437 (alpha_does_function_need_gp): Use get_attr_usegp.
4438 * config/alpha/alpha-protos.h: Update.
4439 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
4440 as needed.
4441
a0134312
RS
44422003-01-15 Roger Sayle <roger@eyesopen.com>
4443
4444 * gcse.c (one_cprop_pass): Change function arguments to take both
4445 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
4446 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
4447 (bypass_jumps): New function to perform separate jump bypassing pass.
4448 * rtl.h (bypass_jumps): Add function prototype.
4449 * timevar.def (TV_BYPASS): New timing variable.
4450 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
4451 (dump_file): New entry for the bypass RTL dump file.
4452 (rest_of_compilation): Insert new jump bypassing optimization
4453 pass after loop.
4454 * doc/passes.texi: Document new pass.
4455
4af6a063
JDA
44562003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
4457
4458 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
4459 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
4460 * pa.h (TARGET_SOM_SDEF): Define.
4461 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
4462
51e13b71
SC
44632003-01-16 Stephane Carrez <stcarrez@nerim.fr>
4464
07488f32 4465 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
4466 allocate 4-bytes of locals on 68HC11.
4467 (expand_epilogue): Likewise.
4468 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
4469
f077f169
SC
44702003-01-15 Stephane Carrez <stcarrez@nerim.fr>
4471
4472 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
4473 and -mshort-double to the assembler to specify the ABI.
4474 (LINK_SPEC): Likewise.
4475 (CPP_SPEC): Pass HCS12 specific define.
4476 (MASK_M68S12): New define.
4477 (TARGET_M68S12): Likewise.
4478 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
4479 (TARGET_VERSION): Update.
4480 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
4481 (LINK_SPEC): Update.
4482 (ASM_SPEC): Update.
4483 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
4484 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
4485
c0f684dc
SC
44862003-01-15 Stephane Carrez <stcarrez@nerim.fr>
4487
4488 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
4489 the return code.
4490
6982ae15
JZ
44912003-01-15 Josef Zlomek <zlomekj@suse.cz>
4492
4493 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
4494 flag before setting it.
4495
8cadeff1
RS
44962003-01-15 Roger Sayle <roger@eyesopen.com>
4497
4498 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
4499 when loop condition is known true, i.e. "while (1) { ... }".
4500 (genrtl_for_stmt): Similarly for "for" statements.
4501
03cd8aba
RS
45022003-01-15 Roger Sayle <roger@eyesopen.com>
4503
4504 * real.c (real_sqrt): Return a bool result indicating whether
4505 a floating point exception or trap should be raised.
4506 * real.h (real_sqrt): Update function prototype.
4507 * builtins.c (fold_builtin): Only fold non-trapping square
4508 roots unless we're ignoring errno and trapping math.
4509
4da78214
JDA
45102003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
4511
4512 * expr.h (emit_conditional_add): Add PARAMS to declaration.
4513 * gengtype-lex.l (malloc, realloc): Move defines after include of
4514 system.h. Remove duplicate include of system.h.
4515
9ee0a442
RS
45162003-01-15 Roger Sayle <roger@eyesopen.com>
4517
4518 PR middle-end/9009
4519 * optabs.c (expand_unop): When manipulating the FP sign bit
4520 using integer operations, account for targets with different
4521 integer and FP word orders.
4522 (expand_abs): Likewise.
4523
e3981aab
DE
45242003-01-15 David Edelsohn <edelsohn@gnu.org>
4525
4526 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
4527 file extension in section name.
4528
89c4b810
RE
45292003-01-15 Richard Earnshaw <rearnsha@arm.com>
4530
4531 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
4532 constant offset.
4533
3cd45774
RE
45342003-01-15 Richard Earnshaw <rearnsha@arm.com>
4535
4536 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
4537 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
4538 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
4539 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
4540
b1a6f8db
JH
4541Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
4542
4543 PR f/9258
07488f32 4544 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
4545 (global_conflicts): Set no_stack_reg.
4546 (find_reg): Use it.
4547
4548 * convert.c (convert_to_real): Fold - and abs only when profitable.
4549 * fold-const.c (fold): Fold truncates in - and abs.
4550
d18c7e59
JZ
45512003-01-15 Josef Zlomek <zlomekj@suse.cz>
4552
4553 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
4554
4555 * predict.c (real_inv_br_prob_base): New variable.
4556 (propagate_freq): Use multiply by reciprocal instead of
4557 division. Don't divide by 1.0 at all.
4558 (estimate_bb_frequencies): Similar.
4559
027faee7
AO
45602003-01-15 Alexandre Oliva <aoliva@redhat.com>
4561
4562 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
4563 * configure: Rebuilt.
4564
077dab3b 45652003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 4566
077dab3b
HP
4567 * config/s390/s390.c (s390_safe_attr_type): New function.
4568 (s390_use_dfa_pipeline_interface): New function, return true for z900.
4569 (s390_issue_rate): New function.
4570 (s390_agen_dep_p): New function.
4571 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
4572 (s390_adjust_cost): Return 'cost' if new DFA is used.
4573 (s390_adjust_priority): Delete function.
4574 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
4575 * config/s390/s390.md (atype attribute): Attribute 'atype' default
4576 determined by 'op_type'.
4577 (type attribute): Added more type attributes.
4578 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 4579
077dab3b 45802003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 4581
acfa9d9f
AO
4582 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
4583 forced to memory. Fixes PR bootstrap/9036.
4584
3c0121e4
AO
4585 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
4586 to set $gp before the call.
4587
553eb139
RH
45882003-01-14 Richard Henderson <rth@redhat.com>
4589
4590 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
4591 for force_const_mem.
4592
dd1b7476
KG
45932003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4594
4595 * genattr.c (main): Rearrange output to avoid prototype warning.
4596 * genautomata.c (transform_3): Fix ambiguous-else warning.
4597 * local-alloc.c (requires_inout): Add parentheses around
4598 assignment used as truth-value.
4599 * timevar.c: Move system includes above local includes. Include
4600 toplev.h
4601 * Makefile.in (timevar.o): Depend on toplev.h.
4602
6028880a
DC
46032003-01-14 Denis Chertykov <denisc@overta.ru>
4604
4605 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
4606 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
4607
4608 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 4609 attributes.
6028880a
DC
4610 (TARGET_ATTRIBUTE_TABLE): New macro.
4611 (valid_machine_type_attribute): Remove.
4612 (valid_machine_decl_attribute): Remove.
4613 (ip2k_handle_progmem_attribute): New function.
4614 (ip2k_handle_fndecl_attribute): New function.
4615
4a2953e4 46162003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
4617
4618 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
4619 registers to be in correct order. Add rip.
4620
4d77fda2
KH
46212003-01-14 Kazu Hirata <kazu@cs.umass.edu>
4622
4623 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
4624 (*iorsi3_and_lshiftrt_9_sb): Likewise.
4625
77f9af81
JH
4626Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
4627
4628 * convert.c (strip_float_extensions): Look for narrowest type handling
4629 FP constants.
4630
4631 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
4632 float1 CMP float2.
4633 * convert.c (strip_float_extensions): Make global.
4634 * tree.h (strip_float_extensions): Declare.
4635
fd371a93
GDR
46362003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
4637
4638 * timevar.def: define TV_NAME_LOOKUP.
4639 * timevar.c (timevar_pop): Be verbose when aborting.
4640
dcd1c2b8
AS
46412003-01-13 Andreas Schwab <schwab@suse.de>
4642
4643 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
4644 $(parsedir), just move the temporary file at the end.
4645 ($(parsedir)/gengtype-yacc.c): Likewise.
4646
eb4b5f93
AO
46472003-01-13 Alexandre Oliva <aoliva@redhat.com>
4648
4649 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
4650 ${ac_tool_prefix} to ADAC or CC. Protect them from word
4651 splitting.
4652 * configure: Rebuilt.
4653
f7835768
KG
46542003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4655
4656 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
4657 internal_mcount): Don't use PARAMS.
4658 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
4659 ISO C style.
4660 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
4661
38a3dbbb
AS
46622003-01-13 Andreas Schwab <schwab@suse.de>
4663
4664 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
4665 directive.
4666
98dc53e3
KH
46672003-01-13 Kazu Hirata <kazu@cs.umass.edu>
4668
4669 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
4670 (*iorsi3_and_lshiftrt_n_sb): Likewise.
4671
e8f2b18d
MM
46722003-01-12 Mark Mitchell <mark@codesourcery.com>
4673
4674 PR c++/9264
4675 * c-lex.c (c_lex): Set the token value to error_mark_node for
4676 invalid numeric constants.
4677
70f8b89f
KG
46782003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4679
4680 * c-pch.c (asm_file_startpos): Change to `long'.
4681 (pch_init): Use ftell, not ftello.
4682 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
4683 Use `long' instead of `off_t'.
4684 (c_common_read_pch): Likewise.
4685 * ggc-common.c (gt_pch_save): Use long/ftell instead of
4686 off_t/ftello.
4687
8e37cba8
AM
46882003-01-12 Alan Modra <amodra@bigpond.net.au>
4689
4690 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
4691
04f08c8e
RE
46922003-01-11 Richard Earnshaw (rearnsha@arm.com)
4693
4694 * arm-protos.h (struct cpp_reader): Add declaration.
4695
a5cf80f0
JH
4696Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
4697
4698 PR target/9068
4699 * i386.c (output_fp_compare): Fix typo.
4700
bbfb86aa
DE
47012003-01-10 David Edelsohn <edelsohn@gnu.org>
4702
4703 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
4704
223b87b6
GK
47052003-01-10 Geoffrey Keating <geoffk@apple.com>
4706
3859c32a
GK
4707 * Makefile.in (parsedir): New variable.
4708 (docobjdir): New variable.
07488f32 4709 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
4710 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
4711 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
4712 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 4713 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
4714 Use docobjdir.
4715 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
4716 objc.maintainer-clean): Use parsedir.
4717
63af3bd1
GK
4718 * varasm.c (struct constant_descriptor_rtx): Remove unused
4719 `label' field.
4720
223b87b6
GK
4721 * toplev.c (documented_lang_options): Document -Winvalid-pch.
4722
fbadafbc
RH
47232003-01-10 Richard Henderson <rth@redhat.com>
4724
4725 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
4726 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
4727
ab5ecb01
RH
47282003-01-10 Richard Henderson <rth@redhat.com>
4729
4730 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
4731 not INTEGRAL_MODE_P when widening extensions.
4732
7f24e7c5
RH
47332003-01-10 Richard Henderson <rth@redhat.com>
4734
4735 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
4736
6dd05d08
GK
47372003-01-10 Geoffrey Keating <geoffk@apple.com>
4738
19cc0dd4
GK
4739 * ggc-page.c (ggc_collect): Avoid overflow computing
4740 min_expand.
4741
6dd05d08
GK
4742 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
4743 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
4744 Remove calls.
4745 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
4746
5f1355ef
JH
4747Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
4748
4749 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
4750 with weird operands.
4751
0cdca92b 47522003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
4753
4754 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
4755 parameters. Call check_sibcall_argument_overlap if indicated.
4756 (check_sibcall_argument_overlap): Add mark_stored_args_map
4757 parameter. Don't mark parameter area as clobbered if not set.
4758 (expand_call): Adjust calls to above.
4759
47602003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
4761
4762 * configure.in (linker read-only and read-write section mixing):
4763 Squelch some assembler warnings.
4764 * configure: Likewise.
4765
be2c2a4b
HP
47662003-01-10 Hartmut Penner <hpenner@de.ibm.com>
4767
21ff35fb 4768 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
4769 option for S/390 and zSeries.
4770 * config/s390/s390.c (s390_tune_string) New variable.
4771 (s390_cpu_string) Delete variable.
4772 (override_options): Use s390_tune_string instead of
4773 s390_cpu_string.
4774 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
4775
1f450138
KH
47762003-01-10 Kazu Hirata <kazu@cs.umass.edu>
4777
4778 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
4779
d330ce15
JZ
47802003-01-10 Josef Zlomek <zlomekj@suse.cz>
4781
4782 * jump.c (next_nonnote_insn_in_loop): New function.
4783 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
4784 next_nonnote_insn.
4785 (duplicate_loop_exit_test). Likewise.
4786
17211ab5
GK
47872003-01-09 Geoffrey Keating <geoffk@apple.com>
4788
4789 Merge from pch-branch:
4790
4791 2003-01-06 Geoffrey Keating <geoffk@apple.com>
4792
4793 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
4794 load.
4795
4796 2002-12-24 Geoffrey Keating <geoffk@apple.com>
4797
4798 * cpplib.c (count_registered_pragmas): New function.
4799 (save_registered_pragmas): New function.
4800 (_cpp_save_pragma_names): New function.
4801 (restore_registered_pragmas): New function.
4802 (_cpp_restore_pragma_names): New function.
4803 * cpphash.h (_cpp_save_pragma_names): Prototype.
4804 (_cpp_restore_pragma_names): Likewise.
4805 * cpppch.c (struct save_macro_item): Split from save_macro_data.
4806 (struct save_macro_data): New field 'saved_pragmas'.
4807 (save_macros): Update for changes to struct save_macro_data.
4808 (cpp_prepare_state): Call _cpp_save_pragma_names, update
4809 for changes to struct save_macro_data.
4810 (cpp_read_state): Call _cpp_restore_pragma_names, update
4811 for changes to struct save_macro_data.
4812
4813 * cpppch.c (cpp_read_state): Restore the hashtable references
4814 in the cpp_reader.
07488f32 4815
17211ab5
GK
4816 * tree.h (built_in_decls): Mark for PCH.
4817
4818 * dbxout.c (lastfile): Don't mark for PCH.
4819
4820 * ggc.h: Document PCH calls into memory managers.
4821
4822 2002-12-18 Geoffrey Keating <geoffk@apple.com>
4823
4824 * doc/invoke.texi (Precompiled Headers): Document the
4825 directory form of PCH.
4826 * cppfiles.c (validate_pch): New function.
4827 (open_file_pch): Search suitably-named directories for PCH files.
4828
4829 2002-12-14 Geoffrey Keating <geoffk@apple.com>
4830
4831 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
4832 reorder options.
4833 (Type Information): Mention that the information is also
4834 used to implement PCH.
4835 * doc/passes.texi (Passes): Improve documentation of
4836 language-specific files.
4837
4838 2002-12-11 Geoffrey Keating <geoffk@apple.com>
4839
4840 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
4841 (struct walk_type_data): Add reorder_fn field.
4842 (walk_type): Process 'reorder' option.
4843 (write_types_process_field): Reorder parameters to gt_pch_note_object,
4844 call reorder_note_routine.
4845 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
4846 (ggc_wtd): Update for change to struct write_types_data.
4847 (pch_wtd): Likewise.
4848 * ggc.h (gt_pch_note_object): Reorder parameters.
4849 (gt_handle_reorder): New definition.
4850 (gt_pch_note_reorder): New prototype.
4851 * ggc-common.c (struct ptr_data): Add reorder_fn.
4852 (gt_pch_note_object): Reorder parameters.
4853 (gt_pch_note_reorder): New.
4854 (gt_pch_save): Call reorder_fn.
4855 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
4856
4857 * dbxout.c (cwd): Don't mark for PCH.
4858
4859 2002-12-09 Geoffrey Keating <geoffk@apple.com>
4860
4861 * gengtype.c (finish_root_table): Fix some warnings.
4862 (write_root): Handle TYPE_STRING.
4863 * ggc.h (gt_ggc_m_S): Add prototype.
4864 * stringpool.c (gt_ggc_m_S): New function.
4865
4866 2002-11-30 Geoffrey Keating <geoffk@apple.com>
4867
4868 * dwarf2out.c (dw2_string_counter): New.
4869 (AT_string_form): Use it.
4870 (same_dw_val_p): Update for removal of hashtable.h hash tables.
4871
4872 2002-11-22 Geoffrey Keating <geoffk@apple.com>
4873
4874 * dbxout.c: Include gt-dbxout.h.
4875 (lastfile): Mark for PCH/GGC.
4876 (cwd): Likewise.
4877 (struct typeinfo): Likewise.
4878 (typevec): Likewise.
4879 (typevec_len): Likewise.
4880 (next_type_number): Likewise.
4881 (struct dbx_file): Likewise.
4882 (current_file): Likewise.
4883 (next_file_number): Likewise.
4884 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
4885 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
4886 (dbxout_end_source_file): Don't free struct dbx_file.
4887 (dbxout_type): Use GGC to allocate typevec.
4888 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
4889 (GTFILES): Add dbxout.c.
4890 (gt-dbxout.h): New rule.
07488f32 4891
17211ab5
GK
4892 * Makefile.in (c-pch.o): Add debug.h as dependency.
4893 * c-pch.c: Include debug.h.
4894 (pch_init): Call start_source_file to keep nesting right.
4895 (c_common_read_pch): Add orig_name parameter. Call
4896 start_source_file debug hook. Call end_source_file debug hook.
4897 * c-common.h (c_common_read_pch): Update prototype.
4898 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
4899 callback.
4900 * cppfiles.c (struct include_file): Add new field `header_name'.
4901 (find_or_create_entry): Default it to `name'.
4902 (open_file_pch): Set it to the original header file searched for.
4903 (stack_include_file): Don't stack an empty buffer, just handle
4904 PCH files immediately. Pass header_name field to read_pch callback.
4905
4906 2002-11-19 Geoffrey Keating <geoffk@apple.com>
4907
4908 * function.c (funcdef_no): Mark to be saved in a PCH.
4909
4910 2002-11-15 Geoffrey Keating <geoffk@apple.com>
4911
4912 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
4913
4914 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
4915
4916 2002-11-14 Geoffrey Keating <geoffk@apple.com>
4917
4918 * optabs.h (code_to_optab): Add GTY marker.
4919
4920 2002-11-13 Geoffrey Keating <geoffk@apple.com>
4921
4922 * Makefile.in (GTFILES): Add cpplib.h.
4923 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
4924 * c-decl.c (build_compound_literal): Don't use var_labelno.
4925 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
4926 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
4927 * varasm.c (const_labelno): Use gengtype to mark.
4928 (var_labelno): Likewise.
4929 (in_section): Likewise.
4930 (in_named_name): Likewise.
4931 (struct in_named_entry): Likewise.
4932 (in_named_htab): Likewise.
4933 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
4934 (init_varasm_once): Use GGC to allocate in_named_htab.
4935 * config/darwin.c (current_pic_label_num): Mark for PCH.
4936
4937 2002-11-11 Geoffrey Keating <geoffk@apple.com>
4938
4939 * ggc-simple.c (init_ggc_pch): New stub procedure.
4940 (ggc_pch_count_object): Likewise.
4941 (ggc_pch_total_size): Likewise.
4942 (ggc_pch_this_base): Likewise.
4943 (ggc_pch_alloc_object): Likewise.
4944 (ggc_pch_prepare_write): Likewise.
4945 (ggc_pch_write_object): Likewise
4946 (ggc_pch_finish): Likewise.
4947 (ggc_pch_read): Likewise.
4948
4949 2002-11-08 Geoffrey Keating <geoffk@apple.com>
4950
4951 * c-pch.c (c_common_write_pch): Write the macro definitions after
4952 the GCed data.
4953 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
4954 definitions after the GCed data.
4955 * cpplib.c (save_macros): New.
4956 (reset_ht): New.
4957 (cpp_write_pch_deps): Split out of cpp_write_pch.
4958 (cpp_write_pch_state): Split out of cpp_write_pch.
4959 (cpp_write_pch): Delete.
4960 (struct save_macro_data): Delete.
4961 (cpp_prepare_state): New.
4962 (cpp_read_state): Erase and restore initial macro definitions.
4963 * cpplib.h (struct save_macro_data): Forward-declare.
4964 (cpp_write_pch_deps): Prototype.
4965 (cpp_write_pch_state): Prototype.
4966 (cpp_write_pch): Delete prototype.
4967 (cpp_prepare_state): Prototype.
4968 (cpp_read_state): Add fourth argument.
4969
4970 2002-11-04 Geoffrey Keating <geoffk@apple.com>
4971
4972 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
4973 (write_array): Remove warning.
4974
4975 * gengtype.c (contains_scalar_p): New.
4976 (finish_root_table): Add the table to all languages, even if it's
4977 empty.
4978 (write_roots): Output gt_pch_scalar_rtab.
4979 * ggc-common.c (gt_pch_save): Write out scalars.
4980 (gt_pch_restore): Read scalars back.
4981
4982 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
4983 (struct page_entry): Delete pch_page field.
4984 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
4985 (clear_marks): Likewise.
4986 (sweep_pages): Likewise.
4987 (poison_pages): Likewise.
4988 (ggc_print_statistics): Likewise.
4989 (ggc_pch_read): Don't free objects read from a PCH.
4990 Properly set up in_use_p and page_tails.
4991
4992 2002-10-25 Geoffrey Keating <geoffk@apple.com>
4993
4994 * gengtype.c (struct write_types_data): New.
4995 (struct walk_type_data): Make `cookie' const; add extra
4996 prev_val item; add `orig_s' field.
4997 (walk_type): Update prev_val[3].
4998 (write_types_process_field): New.
4999 (write_func_for_structure): Take write_types_data structure.
5000 (write_types): New.
5001 (ggc_wtd): New.
5002 (pch_wtd): New.
5003 (write_types_local_process_field): New.
5004 (gc_mark_process_field): Delete.
5005 (write_local_func_for_structure): New.
5006 (gc_mark_func_name): Delete.
5007 (write_gc_types): Delete.
5008 (write_local): New.
5009 (finish_root_table): Don't include 'ggc_' in PFX.
5010 (write_root): Rename from write_root. Fill pchw field of structures.
5011 (write_array): New.
5012 (write_roots): Rename from write_gc_roots. Split out to write_array.
5013 Update to changes to other routines. Write gt_pch_cache_rtab table.
5014 (main): Write PCH walking routines.
5015 * ggc-common.c: Include toplev.h, sys/mman.h.
5016 (ggc_mark_roots): For cache hashtables, also mark the hash table
5017 and the array of entries.
5018 (saving_htab): New.
5019 (struct ptr_data): New.
5020 (POINTER_HASH): New.
5021 (gt_pch_note_object): New.
5022 (saving_htab_hash): New.
5023 (saving_htab_eq): New.
5024 (struct traversal_state): New.
5025 (call_count): New.
5026 (call_alloc): New.
5027 (compare_ptr_data): New.
5028 (relocate_ptrs): New.
5029 (write_pch_globals): New.
5030 (struct mmap_info): New.
5031 (gt_pch_save): New.
5032 (gt_pch_restore): New.
5033 * ggc-page.c (ROUND_UP_VALUE): New.
5034 (ROUND_UP): New.
5035 (struct page_entry): Add field `pch_page'.
5036 (init_ggc): Use ROUND_UP.
5037 (struct ggc_pch_data): Declare.
5038 (init_ggc_pch): New.
5039 (ggc_pch_count_object): New.
5040 (ggc_pch_total_size): New.
5041 (ggc_pch_this_base): New.
5042 (ggc_pch_alloc_object): New.
5043 (ggc_pch_prepare_write): New.
5044 (ggc_pch_write_object): New.
5045 (ggc_pch_finish): New.
5046 (ggc_pch_read): New.
5047 * ggc.h (gt_pointer_operator): New.
5048 (gt_note_pointers): New.
5049 (gt_pch_note_object): New prototype.
5050 (gt_pointer_walker): New.
5051 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
5052 (LAST_GGC_ROOT_TAB): Update.
5053 (gt_pch_cache_rtab): Declare.
5054 (gt_pch_scalar_rtab): Declare.
5055 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
5056 (LAST_GGC_CACHE_TAB): Update.
5057 (gt_pch_save_stringpool): Declare.
5058 (gt_pch_restore_stringpool): Declare.
5059 (gt_pch_p_S): Declare.
5060 (gt_pch_n_S): Declare.
5061 (struct ggc_pch_data): Forward-declare.
5062 (init_ggc_pch): Declare.
5063 (ggc_pch_count_object): Declare.
5064 (ggc_pch_total_size): Declare.
5065 (ggc_pch_this_base): Declare.
5066 (ggc_pch_alloc_object): Declare.
5067 (ggc_pch_prepare_write): Declare.
5068 (ggc_pch_write_object): Declare.
5069 (ggc_pch_finish): Declare.
5070 (ggc_pch_read): Declare.
5071 (gt_pch_save): Declare.
5072 (gt_pch_restore): Declare.
5073 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
5074 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
5075 const_double_htab, mem_attrs_htab using GGC.
5076 * c-pch.c: Include ggc.h.
5077 (pch_init): Allow reading PCH file back.
5078 (c_common_write_pch): Call gt_pch_save.
5079 (c_common_read_pch): Call gt_pch_restore.
5080 * c-parse.in (init_reswords): Delete now-untrue comment.
5081 Allocate ridpointers using GGC.
5082 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
5083 calling expand_deferred_fns.
5084 * c-common.h (ridpointers): Mark for GTY machinery.
5085 * Makefile.in (stringpool.o): Update dependencies.
5086 (c-pch.o): Update dependencies.
5087 (ggc-common.o): Update dependencies.
5088 * stringpool.c: Include gt-stringpool.h.
5089 (gt_pch_p_S): New.
5090 (gt_pch_n_S): New.
5091 (struct string_pool_data): New.
5092 (spd): New.
5093 (gt_pch_save_stringpool): New.
5094 (gt_pch_restore_stringpool): New.
5095 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 5096
17211ab5
GK
5097 2002-10-04 Geoffrey Keating <geoffk@apple.com>
5098
5099 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
5100 (output_mangled_typename): Don't pass size_t to printf.
5101
5102 * tree.h (union tree_type_symtab): Add tag to `address' field.
5103 (union tree_decl_u2): Add tag to 'i' field.
5104 * varasm.c (union rtx_const_un): Add tags to all fields.
5105 * gengtype.c (struct walk_type_data): New.
5106 (output_escaped_param): Take struct walk_type_data parameter.
5107 (write_gc_structure_fields): Delete.
5108 (walk_type): New.
5109 (write_gc_marker_routine_for_structure): Delete.
5110 (write_func_for_structure): New.
5111 (gc_mark_process_field): New.
5112 (gc_mark_func_name): New.
5113 (gc_counter): Delete.
5114 (write_gc_types): Use write_func_for_structure.
5115 (write_gc_roots): Use walk_type.
5116
5117 2002-10-02 Geoffrey Keating <geoffk@apple.com>
5118
5119 * ggc-common.c (ggc_mark_roots): Delete 'x'.
5120 (ggc_splay_dont_free): Fix warning about unused 'x'.
5121 (ggc_print_common_statistics): Remove warnings.
5122
5123 2002-10-01 Mike Stump <mrs@apple.com>
5124
07488f32
ZW
5125 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
5126 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
5127
5128 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
5129 Catherine Moore <clm@redhat.com>
5130
5131 * Makefile (c-pch.o): Update dependencies.
5132 (LIBCPP_OBJS): Add cpppch.o.
5133 (cpppch.o): New.
5134 * c-common.c (c_common_init): Don't call pch_init here.
5135 * c-common.h (c_common_read_pch): Update prototype.
5136 * c-lex.c (c_common_parse_file): Call pch_init here.
5137 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
5138 (c_common_decode_option): Handle them.
5139 * c-pch.c: Include c-pragma.h.
5140 (save_asm_offset): Delete.
5141 (pch_init): Move contents of save_asm_offset into here, call
5142 cpp_save_state.
5143 (c_common_write_pch): Call cpp_write_pch.
5144 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
5145 cpp_valid_state.
5146 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 5147 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
5148 parameters of cb.read_pch.
5149 * cpphash.h (struct cpp_reader): Add `savedstate' field.
5150 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
5151 `restore_pch_deps' fields.
5152 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
5153 (cpp_save_state): Prototype.
5154 (cpp_write_pch): Prototype.
5155 (cpp_valid_state): Prototype.
5156 (cpp_read_state): Prototype.
5157 * cpppch.c: New file.
5158 * flags.h (version_flag): Remove prototype.
5159 * mkdeps.c (deps_save): New.
5160 (deps_restore): New.
5161 * mkdeps.h (deps_save): Prototype.
5162 (deps_restore): Prototype.
5163 * toplev.c (late_init_hook): Delete.
5164 (version_flag): Make static again.
5165 (compile_file): Don't call late_init_hook.
5166 * toplev.h (late_init_hook): Delete.
5167 * doc/cppopts.texi: Document -fpch-deps.
5168 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
5169
5170 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
5171
5172 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
5173 callers.
5174 (c_common_valid_pch): Rename from c_valid_pch, change callers.
5175 (c_common_read_pch): Rename from c_read_pch, change callers.
5176
5177 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
5178 a space between it and its argument.
5179
5180 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
5181
5182 * c-pch.c: New file.
5183 * toplev.h (late_init_hook): Declare.
5184 * toplev.c (late_init_hook): Define.
5185 (version_flag): Make globally visible.
5186 (compile_file): Call late_init_hook.
5187 (init_asm_output): Make output file seekable.
5188 * gcc.c (default_compilers): Update c-header rule.
5189 * flags.h (version_flag): Declare.
5190 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
5191 fields.
5192 * cppfiles.c (struct include_file): Add 'pch' field.
5193 (INCLUDE_PCH_P): New.
5194 (open_file_pch): New.
5195 (stack_include_file): Handle PCH files specially.
5196 (find_include_file): Call open_file_pch instead of open_file.
5197 (_cpp_read_file): Explain why open_file is used instead of
5198 open_file_pch.
5199 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
5200 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
5201 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
5202 in cpplib callbacks.
5203 * c-common.c (pch_file): Correct comment.
5204 (allow_pch): Define.
5205 (c_common_init): Call pch_init.
5206 * c-common.h (allow_pch): Declare.
5207 (pch_init): Declare.
5208 (c_valid_pch): Declare.
5209 (c_read_pch): Declare.
5210 (c_write_pch): Declare.
5211 * Makefile.in (c-pch.o): New.
5212 (C_AND_OBJC_OBJS): Add c-pch.o.
5213 * doc/invoke.texi (Precompiled Headers): Add index entries,
5214 complete truncated paragraph.
5215
5216 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
5217
5218 * c-common.c: (pch_file): Define.
5219 * c-common.h (pch_file): Declare.
5220 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
5221 (missing_arg): Require --output-pch= to have an argument.
5222 (c_common_decode_option): Handle --output-pch=.
5223 * gcc.c: Document new %V.
5224 (default_compilers): Handle compiling C header files.
5225 (do_spec_1): Implement %V.
5226 (main): Handle "gcc foo.h" without trying to run linker.
5227 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
5228 (Overall Options): Document what the driver does with header files,
5229 document new -x option possibilities.
5230 (Invoking G++): More documentation for PCH.
5231 (Precompiled Headers): New.
5232
5233 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
5234
5235 * ggc.h: Don't include varray.h. Rearrange functions to be more
5236 organized.
5237 (ggc_add_root): Delete.
5238 (ggc_mark_rtx): Delete.
5239 (ggc_mark_tree): Delete.
5240 (struct ggc_statistics): Remove contents.
5241 * ggc-common.c: Remove unneeded includes.
5242 (struct ggc_root): Delete.
5243 (roots): Delete.
5244 (ggc_add_root): Delete.
5245 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
5246 (ggc_print_common_statistics): Remove most of the contents.
5247 * Makefile.in (GGC_H): No longer uses varray.h.
5248 (ggc-common.o): Update dependencies.
5249 (c-parse.o): Add varray.h to dependencies.
5250 (c-common.o): Add varray.h.
5251 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
5252 (mark_ident_hash): Rename to ggc_mark_stringpool.
5253 (init_stringpool): Don't use ggc_add_root.
5254 * c-parse.in: Include varray.h.
5255 * c-common.c: Include varray.h.
5256 * objc/Make-lang.in (objc-act.o): Add varray.h.
5257 * objc/objc-act.c: Include varray.h.
5258
5259 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
5260
5261 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
5262 (dw_cfi_oprnd1_desc): Likewise.
5263
5264 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
5265
5266 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
5267 move out of ifdef.
5268 (alpha_links): Use gengtype to mark; move out of ifdef.
5269 (mark_alpha_links_node): Delete.
5270 (mark_alpha_links): Delete.
5271 (alpha_need_linkage): Use GGC to allocate splay tree, struct
5272 alpha_links, strings. Don't use ggc_add_root.
5273 * ggc-common.c (ggc_splay_alloc): New.
5274 (ggc_splay_dont_free): New.
5275 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
5276 (ggc_mark_tree): Likewise.
5277 (splay_tree_new_ggc): New.
5278 (ggc_splay_alloc): Declare.
5279 (ggc_splay_dont_free): Declare.
5280 * dwarf2asm.c: Include gt-dwarf2asm.h.
5281 (mark_indirect_pool_entry): Delete.
5282 (mark_indirect_pool): Delete.
5283 (indirect_pool): Use gengtype to mark.
5284 (dw2_force_const_mem): Don't use ggc_add_root.
5285 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
5286 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
5287 (gt-dwarf2asm.h): Depend on s-gtype.
5288
5289 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
5290
5291 * tree.h (union tree_type_symtab): Mark `die' field.
5292 * Makefile.in (dwarf2out.o): Update dependencies.
5293 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
5294 hash tables.
5295 (dw_cfi_oprnd1_desc): New function.
5296 (dw_cfi_oprnd2_desc): New function.
5297 (indirect_string_alloc): Delete.
5298 (debug_str_do_hash): New function.
5299 (debug_str_eq): New function.
5300 (mark_limbo_die_list): Delete.
5301 (dwarf2out_init): Don't call ggc_add_root.
5302
30028c85
VM
53032003-01-09 Vladimir Makarov <vmakarov@redhat.com>
5304
5305 The following changes are merged from itanium-sched-branch:
5306
5307 2003-01-08 David Edelsohn <edelsohn@gnu.org>
5308
5309 * doc/md.texi: Clarify assignment of units to automata description.
5310
5311 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
5312
5313 * genautomata.c (unit_decl): Remove members
5314 `the_same_automaton_unit' and
5315 `the_same_automaton_message_reported_p'.
5316 (process_unit_to_form_the_same_automaton_unit_lists,
5317 form_the_same_automaton_unit_lists_from_regexp,
5318 form_the_same_automaton_unit_lists, the_same_automaton_lists):
5319 Remove them.
5320 (annotation_message_reported_p): New global variable.
5321 (check_unit_distribution_in_reserv,
5322 check_regexp_units_distribution): New functions.
5323 (check_unit_distributions_to_automata): Rewrite it.
5324
5325 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
5326
5327 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
5328 Use continue instead of break if cycle is too big.
5329
5330 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
5331
5332 * genautomata.c (check_unit_distributions_to_automata): Output at
5333 most one message for a unit.
5334 (process_unit_to_form_the_same_automaton_unit_lists): Check
5335 automaton of units instead of units themself.
5336
5337 * doc/md.texi: Describe the constraint about assigning unit to
5338 automata.
5339
5340 2002-12-20 Jan Hubicka <jH@suse.cz>
5341 Vladimir Makarov <vmakarov@redhat.com>
5342
5343 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
5344 and `in_set_p'.
5345 (gen_cpu_unit): Initialize the new members.
5346 (process_regexp_cycles): Calculate minimal finish cycle too. Set
5347 up `min_occ_cycle_num'.
5348 (evaluate_max_reserv_cycles): Change the function call.
5349 (CLEAR_BIT): New macro.
5350 (states_union, state_shift): Use the mask.
5351 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
5352 (form_reservs_matter): New function.
5353 (make_automaton): Call the function and use the mask.
5354 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
5355 account.
07488f32 5356
30028c85
VM
5357 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
5358
5359 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
5360
5361 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
5362
5363 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
5364 for Itanium.
5365
5366 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
5367
5368 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
5369 default cpu.
5370
5371 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
5372 2002-10-31 Dale Johannesen <dalej@apple.com>
5373
5374 * haifa-sched.c (find_set_reg_weight): New function.
5375 (find_insn_reg_weight): Use the new function.
5376 (schedule_block): Do sorting ready queue always
5377 after insn issue.
5378
5379 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
5380
5381 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
5382
5383 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
5384
5385 * haifa-sched.c (choice_entry): New structure.
5386 (choice_stack, cycle_issued_insns): New variables.
5387 (max_issue): Rewrite it.
5388 (choose_ready): Set up ready_try for unknown insns too.
5389 (schedule_block): Allocate and free choice_stack. Set up
5390 and modify cycle_issued_insns.
5391
5392 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
5393 with and without filling the bundle.
5394 (bundling): Combine calls of issue_nops_and_insn.
07488f32 5395
30028c85
VM
5396 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
5397
5398 * config/ia64/itanium1.md: New file.
5399
5400 * config/ia64/itanium2.md: New file.
5401
5402 * config/ia64/ia64.md: Move DFA descriptions into the new files.
5403 Remove the old pipeline description.
07488f32 5404
30028c85
VM
5405 * config/ia64/ia64.c (ia64_override_options): Add aliases of
5406 itanium processor names.
07488f32 5407
30028c85
VM
5408 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
5409
5410 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
5411 (ia64_reorg): Set up queried unit codes for Itanium2 too.
5412
5413 * config/ia64/ia64.md: Add descriptions for Itanium2.
5414
5415 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
5416
5417 * config/ia64/ia64.h (processor_type): New enumeration.
5418 (ia64_tune, ia64_tune_string): New external declarations.
5419 (TARGET_OPTIONS): Add option `tune='.
5420
5421 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
5422 variables.
5423 (ia64_override_options): Set up `ia64_tune'.
5424 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
5425 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
5426 (bundling): Add nops for MM-insns only for Itanium.
5427 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
5428 Itanium.
5429
5430 * config/ia64/ia64.md (cpu): New attribute.
5431 (DFA description): Enable it only for Itanium.
07488f32 5432
30028c85
VM
5433 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
5434 Richard Henderson <rth@redhat.com>
5435
5436 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
5437 MASK_EARLY_STOP_BITS.
5438 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
5439 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
5440 `early-stop-bits'.
07488f32 5441
30028c85
VM
5442 * config/ia64/ia64.c (ia64_dfa_new_cycle,
5443 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
5444 instead of TARGET_TUNE_STOP_BITS.
07488f32 5445
30028c85
VM
5446 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
5447 `-mearly-stop-bits'.
5448
5449 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 5450
30028c85
VM
5451 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
5452
07488f32 5453 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
5454 New macros.
5455 (TARGET_SWITCHES): Add entries for the new option.
07488f32 5456
30028c85
VM
5457 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
5458 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
5459 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
5460 global variables.
5461 (ia64_sched_reorder2): Set up `clocks'.
5462 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
5463 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
5464 queue when TARGET_TUNE_STOP_BITS.
5465 (bundling): Insert additional nops for MM-insns.
5466 (final_emit_insn_group_barriers): Add insertion of stop bits
5467 according `stops_p'.
5468 (ia64_reorg): Initiate the new varibales.
5469
5470 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 5471
30028c85
VM
5472 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
5473
5474 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
5475 insns at the end of block insn scheduling.
5476
5477 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
5478
5479 * sched-deps.c (remove_dependence, group_leader): Remove it.
5480 (add_dependence): Add dependence to group leader to.
5481 (set_sched_group_p): Add dependence to the first insn of the
5482 schedule group too.
5483 (sched_analyze_insn): Make dependence to jump as anti-dependence.
5484 Change true dependence by anti-dependence when
5485 `reg_pending_barrier'.
5486
5487 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
5488 add_branch_dependences): Ignore schedule groups.
5489
5490 * sched-ebb.c (init_ready_list): Ditto.
5491
5492 * (move_insn, set_priorities): Ditto.
5493
5494 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
5495 flag is clear after reload.
5496 (adjust_cost): Change cost only for output dependencies.
07488f32 5497
30028c85 5498 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 5499
30028c85
VM
5500 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
5501
5502 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
5503
5504 * target.h (gcc_target): Add member
5505 `dependencies_evaluation_hook'.
5506
5507 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
5508 macro.
5509 (TARGET_SCHED): Add initiatialization of the new member.
5510
5511 * sched-ebb.c: Include `target.h'.
5512 (schedule_ebb): Call `dependencies_evaluation_hook'.
5513
5514 * sched-rgn.c (schedule_region): Call
5515 `dependencies_evaluation_hook'.
5516
5517 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5518 New macro.
5519 (ia64_dependencies_evaluation_hook): New function.
5520
5521 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5522 Describe the new hook.
07488f32 5523
30028c85
VM
5524 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
5525
5526 * target.h (gcc_target): Add members
5527 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
5528
5529 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
5530 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
5531 macros.
5532 (TARGET_SCHED): Add initiatialization of the new members.
5533
5534 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
5535 insn scheduling too.
5536 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
5537 initialize `ready_try'.
5538 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
5539 `dfa_new_cycle' says not to do it.
07488f32 5540
30028c85
VM
5541 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
5542 bundling.
5543
5544 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
5545
5546 * config/ia64/ia64.c: Include `hashtab.h'.
5547 (ia64_first_cycle_multipass_dfa_lookahead_guard,
5548 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
5549 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
5550 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
5551 bundle_state_eq_p, insert_bundle_state,
5552 initiate_bundle_state_table, finish_bundle_state_table,
5553 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
5554 get_template, get_next_important_insn, bundling): New functions.
5555 (ia64_internal_sched_reorder): Remove it.
5556 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5557 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
5558 (ia64_safe_itanium_requires_unit0): Remove it.
5559 (group_barrier_needed_p): Place group barrier right before a real
5560 insn.
5561 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
5562 Remove them.
5563 (bundle_name): New variable.
5564 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
5565 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
5566 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
5567 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
5568 temp_dfa_state, prev_cycle_state): New global variables.
5569 (insn_matches_slot, maybe_rotate, finish_last_head,
5570 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
5571 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
5572 find_best_packet, itanium_reorder, dump_current_packet,
5573 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
5574 (sched_data, sched_ready, sched_types): Remove them.
5575 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
5576 `init_insn_group_barriers'.
5577 (ia64_sched_reorder, ia64_sched_reorder2): Call
5578 ia64_dfa_sched_reorder.
5579 (ia64_variable_issue): Rewrite it.
5580 (bundle_state): New structure.
5581 (index_to_bundle_states, bundle_states_num,
5582 allocated_bundle_states_chain, free_bundle_state_chain): New
5583 global variables.
5584 (ia64_sched_finish): Add stop bits and call `bundling' after the
5585 2nd insn scheduling.
5586 (ia64_use_dfa_pipeline_interface): Return zero always.
5587 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
5588 insn scheduling.
5589 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
5590 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
5591 (ia64_reorg): Add bundling insns.
5592
5593 * doc/tm.texi
5594 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5595 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 5596
30028c85
VM
5597 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
5598
5599 * config/ia64/ia64.md: Add Itanium1 DFA description.
5600 (itanium_class): Add `nop' and `pre_cycle'. Add
5601 define_function_unit for `nop'.
5602 (nop): Change attribute `itanium_class'.
5603 (pre_cycle): New define_insn.
5604
5605 * config/ia64/ia64-protos.h (bundling_p): New external variable.
5606 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
5607 ia64_produce_address_p): New function prototypes.
5608
5609 * config/ia64/ia64.c (bundling_p): New global variable.
5610 (ia64_use_dfa_pipeline_interface,
5611 ia64_first_cycle_multipass_dfa_lookahead,
5612 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
5613 functions.
5614 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5615 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5616 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5617 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
5618 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
5619 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
5620 (dfa_pre_cycle_insn): New variable.
07488f32 5621
30028c85
VM
5622 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
5623
5624 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
5625 constructions.
5626
5627 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
5628 New function prototypes.
5629
5630 * genattrtab.c (main): Process the new constructions.
5631
5632 * genautomata.c (gen_presence_absence_set,
5633 process_presence_absence_names, process_presence_absence_patterns,
5634 add_presence_absence, check_absence_pattern_sets): Add parameter
5635 `final_p'.
5636 (unit_decl): Add new members `final_presence_list' and
5637 `final_absence_list'.
5638 (unit_pattern_rel_decl): Add new member `final_p'.
5639 (gen_final_presence_set, gen_final_absence_set): New functions.
5640 (process_decls): Use member `final_p'.
5641 (temp_reserv): New global variable.
5642 (reserv_sets_are_intersected): Add processing `final_presence_set'
5643 and `final_absence_set'.
5644 (initiate_states): Allocate `temp_reserv'.
5645 (unit_final_presence_set_table, unit_final_absence_set_table): New
5646 gloabal variables.
5647 (initiate_presence_absence_pattern_sets): Initiate them.
5648 (NDFA_to_DFA): Fix typo.
5649 (output_description): Output `final_presence_set' and
5650 `final_absence_set'.
5651
5652 * doc/md.texi (final_presence_set, final_absence_set): Describe
5653 them.
07488f32 5654
30028c85
VM
5655 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
5656
5657 * genautomata.c (transform_3): Process a missing case (nothing on
5658 unit place).
5659
5660 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
5661
5662 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
5663 comments about queried units and the minimization.
07488f32 5664
30028c85 5665 * doc/md.texi: Ditto.
07488f32 5666
30028c85
VM
5667 * genautomata.c (create_composed_state): Return nonzero if the new
5668 state has been created.
5669 (first_cycle_unit_presence): New function.
5670 (state_is_differed): Add new parameter. Use the new function.
5671 Take queried units into account.
5672 (partition_equiv_class): Pass additional parameter to
5673 `state_is_differed'.
5674 (merge_states): Process composed states too.
5675 (build_automaton, create_automata, output_min_issue_delay_table,
5676 output_tables, output_statistics): Output more information.
5677 (output_reserved_units_table): Use function
5678 `first_cycle_unit_presence'.
5679 (output_tables): Output table of queried units even if the
5680 minimization is switched on.
5681 (write_automata): Output code for querying units even if the
5682 minimization is switched on.
07488f32 5683
30028c85
VM
5684 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
5685
5686 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
5687 syntax of the constructions.
07488f32 5688
30028c85
VM
5689 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
5690 extended syntax of the constructions.
07488f32 5691
30028c85
VM
5692 * genautomata.c (unit_rel_decl): Rename it to
5693 `unit_pattern_rel_decl'.
5694 (pattern_set_el, pattern_reserv): New structures.
5695 (pattern_set_el_t, pattern_reserv_t): New types.
5696 (gen_presence_absence_set): New function.
5697 (process_presence_absence): Remove it.
5698 (process_presence_absence_names,
5699 process_presence_absence_patterns): New functions.
5700 (get_presence_absence_set): Remove it.
5701 (initiate_presence_absence_sets): Rename it on
5702 `initiate_presence_absence_pattern_sets'. Use new function
5703 `form_reserv_sets_list'.
5704 (form_reserv_sets_list, check_presence_pattern_sets,
5705 check_absence_pattern_sets, output_pattern_set_el_list): New
5706 functions.
5707 (unit_decl): Change types of members `presence_list' and
5708 `absence_list'.
5709 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
5710 (decl): Change types of members `excl', `presence', and `absence'.
5711 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
5712 at the end of the vector.
5713 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
5714 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
5715 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
5716 (gen_presence_set, gen_absence_set): Use new function
5717 `gen_presence_absence_set'.
5718 (add_presence_absence): Process `pattern_list' instead of
5719 `source_list'.
5720 (process_decls): USe new functions
5721 `process_presence_absence_names' and
5722 `process_presence_absence_patterns'.
5723 (reserv_sets_are_intersected): Use new function
5724 `check_presence_pattern_sets'.
5725 (presence_set, absence_set): Remove them.
5726 (unit_presence_set_table, unit_absence_set_table): New global
5727 variables.
5728 (output_description): Use new function
5729 `output_pattern_set_el_list'.
5730 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 5731
30028c85
VM
5732 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
5733
5734 * genattr.c (main): Add output of prototype of new interface
5735 function `dfa_clean_insn_cache'.
5736
5737 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
5738 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
5739 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
5740 the generated code.
5741 (write_automata): Call the new function.
07488f32 5742
cb297538
JH
5743Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
5744
17211ab5
GK
5745 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
5746 correctly.
cb297538 5747
3a6e2189
PC
57482003-01-09 Paolo Carlini <pcarlini@unitus.it>
5749
5750 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
5751
97488870
R
5752Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
5753
5754 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
5755 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
5756 (CONSTRAINT_LEN): Provide default definition.
5757 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5758 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
5759 (EXTRA_CONSTRAINT_STR): Likewise.
5760 (REG_CLASS_FROM_CONSTRAINT): Define.
5761 * genoutput.c (check_constraint_len, constraint_len): New functions.
5762 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
5763 constraint / modifier.
5764 (gen_insn): Call check_constraint_len.
5765 * local-alloc.c (block_alloc): Update to use new macros / pass
5766 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
5767 * ra-build.c (handle_asm_insn): Likewise.
5768 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
5769 (constrain_operands, peep2_find_free_register): Likewise.
5770 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
5771 * regmove.c (find_matches): Likewise.
5772 * reload.c (push_secondary_reload, find_reloads): Likewise.
5773 (alternative_allows_memconst): Likewise.
5774 * reload1.c (maybe_fix_stack_asms): Likewise.
5775 (reload_cse_simplify_operands): Likewise.
5776 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
5777 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
5778 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5779 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
5780 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
5781 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
5782
5783 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
5784
fc182093
KH
57852003-01-09 Kazu Hirata <kazu@cs.umass.edu>
5786
5787 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
5788 length.
5789 (*extzv_1_r_h8300hs): Likewise.
5790 (*extzv_1_r_inv_h8300): Likewise.
5791 (*extzv_1_r_inv_h8300hs): Likewise.
5792
3b1c9927
KH
57932003-01-09 Kazu Hirata <kazu@cs.umass.edu>
5794
5795 * config/h8300/h8300.h (PREDICATE_CODES): New.
5796
867504e6
KH
57972003-01-09 Kazu Hirata <kazu@cs.umass.edu>
5798
5799 * config/h8300/h8300.md (*addsi3_upper): New.
5800 (*iorsi3_shift): Likewise.
5801 (two splitters): Likewise.
5802 (*addsi3_shift): Likewise.
5803 (two splitters): Likewise.
5804
4a69cf79
JZ
58052003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
5806
5807 * Makefile.in (optabs.o): Add dependency on basic-block.h.
5808 * basic-block.h (control_flow_insn_p): Fuction was exported.
5809 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
5810 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
5811 notes only when the region is contained in a single basic block.
5812
4c46ea23
EB
58132003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
5814
5815 PR inline-asm/8832
5816 * tree.h (expand_asm): New prototype.
5817 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
5818 to do so.
5819 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
5820 down to expand_asm.
5821 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
5822 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
5823 (volatile_refs_p) [ASM_INPUT]: Likewise.
5824 (side_effects_p) [ASM_INPUT]: Likewise.
5825
f56e86bd
JH
5826Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
5827
5828 * i386.md (*mul*): FIx constraints; remove confused comment; fix
5829 athlon_decode attributes
5830 (imul/k8 optimization peep2s): New.
5831
5832 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
5833 * i386.md (type attribute): Add ssecomi.
5834 (unit, memory, prefix attributes): Handle ssecomi.
5835 (cvt?2? patterns): Fix athlon_decode attribute
5836 (comi patterns): Set attribute to ssecomi.
5837
5838 PR target/8343
5839 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
5840
98c29f71
RS
58412003-01-09 Richard Sandiford <rsandifo@redhat.com>
5842
5843 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
5844 that match register_operands.
5845 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
5846 register_operand the default case.
5847
bbb818c6
EB
58482003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
5849
5850 PR c/8032
5851 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
5852 an empty element, do not advance the pointer to unfilled
5853 fields if there are pending initializers.
5854
90961eff
AJ
58552003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
5856
5857 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
5858 (install-gcc-tooldir, install-cpp, installdirs,
5859 install-common, install-driver, install-info, install-man,
5860 install-headers, install-include-dir, install-headers-tar,
5861 install-headers-cpio, install-headers-cp, install-mkheaders,
5862 install-collect2, uninstall): Prepend $(DESTDIR) to
5863 destination paths in all (un)installation commands.
5864 (install-driver): Rewrite $(LN) commands to support DESTDIR
5865 with "ln" as well as with "ln -s".
5866 (installdirs): Simply use mkinstalldirs.
5867 (install-libgcc, install-multilib): Also pass DESTDIR.
5868 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
5869 installation destination variable ldir.
5870 * config/alpha/t-osf4, config/arm/t-netbsd,
5871 config/ia64/t-hpux, config/mips/t-iris5-6,
5872 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
5873 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
5874 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
5875 in the definition of SHLIB_INSTALL.
5876 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
5877 $(libsubdir) in the installation commands.
5878
8b26829f
KK
58792003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
5880
5881 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
5882 non-optimizing compile.
5883 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
5884 compile.
5885
fe77449a
DR
58862003-01-08 Douglas B Rupp <rupp@gnat.com>
5887
5888 * config/i386/i386.c (ix86_attribute_table): Add new attributes
5889 ms_struct and gcc_struct.
5890 (ix86_handle_struct_attribute): New function.
5891 (ix86_ms_bitfield_layout_p): Update to take new attributes
5892 into account.
5893 * doc/extend.texi: Document new attributes.
5894 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
5895
98417968
DS
58962003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
5897
07488f32
ZW
5898 PR optimization/8750
5899 * config/i386/i386.c (ix86_expand_prologue): Don't allow
5900 scheduling pass to move insns across __alloca call.
98417968 5901
e46e3130
DJ
59022003-01-08 Dale Johannesen <dalej@apple.com>
5903
07488f32
ZW
5904 * config/rs6000/rs6000.md: Replace *store_multiple_string
5905 with *stmsi[3-8].
e46e3130 5906
c40e5172
JS
59072003-01-08 Jeff Sturm <jsturm@one-point.com>
5908
5909 PR target/9210
5910 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
5911 Set SYMBOL_REF_FLAG on local data sym_ref.
5912
de62b72c 59132003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
5914
5915 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 5916 REG_PARM_STACK_SPACE.
07488f32 5917 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
5918 pretend_args_size.
5919
25839c41
NN
59202003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
5921
5922 * gcc.hlp: Delete.
5923
4bdc8610
JH
5924Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
5925
5926 * i386.c (ix86_expand_int_addcc): Fix thinko.
5927
5b71a4e7
DE
59282003-01-08 David Edelsohn <edelsohn@gnu.org>
5929
5930 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
5931 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
5932 as hook_bool_tree_hwi_hwi_tree_true.
5933 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
5934 (rs6000_emit_epilogue): Same.
5935 (rs6000_output_mi_thunk): Re-implement as RTL.
5936 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
5937 xcoffout_declare_function if any debugging enabled.
5938
2d2a50c3
CD
59392003-01-08 Chris Demetriou <cgd@broadcom.com>
5940
5941 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
5942 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
5943 * config/mips/mips.h (enum processor_type): Rename
5944 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
5945 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
5946 Add PROCESSOR_M4K.
5947 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
5948 (ISA_MIPS32R2): New define.
5949 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
5950 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
5951 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
5952 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
5953 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
5954 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
5955 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
5956 compiling MIPS16 code.
5957 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
5958 comment.
5959 (ISA_HAS_SEB_SEH): New define.
5960 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
5961 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
5962 processor_type value renaming. Add support for MIPS32R2.
5963 Clean up comments, and move "sb1" entry with other MIPS64 CPU
5964 entries.
5965 (override_options): Reimplement -mipsN option handling so that
5966 it will work correctly for -mips32r2. Avoid branch-likely
5967 instructions on MIPS32R2.
5968 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
5969 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
5970 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
5971 (extendhisi2_hw, extendqisi2_hw): New.
5972 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
5973 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
5974 MIPS32R2, and MIPS64.
5975 (LINK_SPEC): Pass -mips32r2 to linker.
5976 * config/mips/t-isa3264: Built -mips32r2 multilibs.
5977 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
5978 for mips32r2 in the -march description. Alphabetically sort
5979 CPU names in the -march description. Add long-missed -mips32
5980 and -mips64 to MIPS option summary.
5981
5982 * config.gcc: Update copyright years to include 2003.
5983 * config/mips/mips.c: Likewise.
5984 * config/mips/mips.h: Likewise.
5985 * config/mips/mips.md: Likewise.
5986 * config/mips/netbsd.h: Likewise.
5987 * doc/invoke.texi: Likewise.
5988
918c4fe4
AS
59892003-01-08 Andreas Schwab <schwab@suse.de>
5990
5991 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
5992 variable.
5993 * configure: Regenerated.
5994
c5e7ce43
KH
59952003-01-08 Kazu Hirata <kazu@cs.umass.edu>
5996
5997 * config/h8300/h8300.c (output_logical_op): Replace byte/word
5998 extraction of det with b0, b1, w0, w2, etc.
5999 (compute_logical_op_length): Likewise.
6000 (compute_logical_op_cc): Likewise.
6001
eb8a8ec4
KH
60022003-01-08 Kazu Hirata <kazu@cs.umass.edu>
6003
6004 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
6005 HIGH on all variants.
6006
56f15830 6007Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 6008
56f15830
JZ
6009 * Makefile.in (PARTITION_H): New.
6010 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
6011 * basic-block.h: Include hard-reg-set.h.
6012
ab57893b
RE
60132003-01-08 Richard Earnshaw <rearnsha@arm.com>
6014
6015 * arm.h (ENABLE_XF_PATTERNS): Delete.
6016 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
6017 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
6018 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
6019 (cmpxf_trap): Delete.
6020 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
6021
7b52eede
JH
6022Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
6023
6024 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
6025 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
6026 (add??cc): New expanders.
6027 * i386.c (expand_int_addcc): New function.
6028 * i386-protos.h (expand_int_addcc): Declare.
6029
6030 * alias.c (memory_modified_1): New static function.
6031 (memory_modified): New static varaible.
6032 (memory_modified_in_insn_p): New global function.
6033 * rtl.h (memory_modified_in_insn_p): Declare.
6034 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
6035 references.
6036
6037 * expr.h (emit_conditional_add): Declare.
6038
74049755
JJ
60392003-01-07 Janis Johnson <janis187@us.ibm.com>
6040
6041 PR other/8947
6042 * doc/invoke.texi (-malign-double): Explain that the option breaks
6043 binary compatibility.
6044
e7edc5a0
AS
60452003-01-08 Andreas Schwab <schwab@suse.de>
6046
6047 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
6048 should come from the generic *-*-linux* entry.
6049
9635cfad
JH
6050Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
6051
6052 * cselib.c (cselib_current_insn_in_libcall): New static variable.
6053 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
6054 we are inside libcall.
6055 * cselib.h (elt_loc_list): Add in_libcall.
6056 * gcse.c (do_local_cprop): Do not copy propagate using insns
6057 in libcalls.
6058
3ee04299
DE
60592003-01-07 David Edelsohn <edelsohn@gnu.org>
6060
6061 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
6062 not normally affect to issue rate.
6063
068f5dea
JH
6064Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
6065
6066 * genopinit.c (optabs): Add addc_optab.
6067 * ifcvt.c (noce_try_store_flag): Rename to ...
6068 (noce_try_addcc): ... this one; handle generic conditional increment.
6069 (noce_process_if_block): Update noce_try_addcc call.
6070 * optabs.c (emit_conditional_add): New.
6071 (init_obtabs): Initialize addc_optab.
6072 * optabs.h (optab_index): Add OTI_addcc.
6073 (addcc_optab): New macro.
6074 * md.texi: Document addMcc
6075
6076 PR target/8322
6077 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
6078 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
6079 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
6080
6081 * reload1.c (delete_output_reload): Avoid repeated attempts
6082 to delete insn.
6083
eb70d86d
AS
60842003-01-07 Andreas Schwab <schwab@suse.de>
6085
e7edc5a0
AS
6086 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
6087 Move --enable-initfini-array check ...
6088 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
6089 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
6090 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
6091 * configure: Rebuild.
eb70d86d 6092
1afdf91c
RH
60932003-01-07 Richard Henderson <rth@redhat.com>
6094
e7edc5a0
AS
6095 * alias.c (find_base_value): Only use new_reg_base_value shortcut
6096 if the register is set once.
1afdf91c 6097
36210500 60982003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 6099
36210500
SP
6100 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
6101 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
6102 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
6103
cb25b0ce
BK
61042003-01-07 Benjamin Kosnik <bkoz@redhat.com>
6105 Sunil Davasam <sunil.k.davasam@intel.com>
6106
07488f32 6107 PR libstdc++/9076
cb25b0ce
BK
6108 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
6109 DW_CFA_same_value, read next and ignore.
6110
94c040bd
RH
61112003-01-07 Richard Henderson <rth@redhat.com>
6112
6113 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
6114
f6cb56fa
DB
61152003-01-07 Daniel Berlin <dberlin@dberlin.org>
6116
6117 * cfg.c: Include alloc-pool.h
6118 (edge_pool): New pool.
6119 (bb_pool): New pool.
6120 (first_deleted_edge): Remove.
6121 (first_deleted_block): Remove.
6122 (init_flow): Alloc/free the pools.
6123 (free_edge): Use pools.
6124 (alloc_block): Ditto.
6125 (expunge_block): Ditto.
6126 (cached_make_edge): Ditto.
6127
6128 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
6129
61302003-01-07 Daniel Berlin <dberlin@dberlin.org>
6131
6132 * et-forest.c: Include alloc-pool.h.
6133 (struct et_forest): Add node_pool and occur_pool.
6134 (et_forest_create): Create the new pools.
6135 (et_forest_delete): Delete them.
6136 (et_forest_add_node): Allocate and free using pools.
6137 (et_forest_add_edge): Ditto.
6138 (et_forest_remove_node): Ditto.
6139 (et_forest_remove_edge): Ditto.
6140
6141 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
6142
f9ac2f95
KH
61432003-01-07 Kazu Hirata <kazu@cs.umass.edu>
6144
6145 * config/h8300/h8300.c (output_logical_op): Simplify and
6146 optimize the handling of SImode.
6147 * config/h8300/h8300.c (compute_logical_op_length): Update
6148 accordingly.
6149 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
6150
83282119
RS
61512003-01-07 Richard Sandiford <rsandifo@redhat.com>
6152
6153 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
6154 big-endian correction to indirect arguments too.
6155
59a4c851
AH
61562003-01-06 Aldy Hernandez <aldyh@redhat.com>
6157
6158 Segher Boessenkool <segher@koffie.nl>
6159
36210500
SP
6160 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
6161 (alt_reg_names): Ditto, fix formatting.
6162 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 6163
7798db98
KH
61642003-01-06 Kazu Hirata <kazu@cs.umass.edu>
6165
6166 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
6167 (output_logical_op): Constify intval and det.
6168 (compute_logical_length): Likewise.
6169 (compute_logical_cc): Likewise.
6170 (output_a_shift): Constify mask.
6171 (h8300_encode_label): Constify len.
6172
4705d102
KH
61732003-01-06 Kazu Hirata <kazu@cs.umass.edu>
6174
6175 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
6176 (h8300_expand_epilogue): Likewise.
6177
98c9a8e8
AH
61782003-01-06 Aldy Hernandez <aldyh@redhat.com>
6179
6180 Segher Boessenkool <segher@koffie.nl>
6181
36210500
SP
6182 * config/rs6000/altivec.md: Remove spaces from assembler
6183 instruction argument lists.
07488f32 6184
86143814
MH
61852003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6186
6187 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
6188 c4x_assembler_function_p.
6189 (c4x_null_epilogue_p): Complement return value, all uses updated.
6190 (c4x_insert_attributes): Add naked.
6191 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
6192 * doc/extend.texi: Update C4x function attributes.
6193
52fd80fb
RH
61942003-01-06 Richard Henderson <rth@redhat.com>
6195
6196 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
6197 properly when changing "local-ness".
6198 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
6199
a16b43c5
DJ
62002003-01-06 Dale Johannesen <dalej@apple.com>
6201
6202 * config/darwin-protos.h: Add prototypes for new section functions.
6203
ef8dfae6
CD
62042003-01-06 Chris Demetriou <cgd@broadcom.com>
6205
6206 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
6207 to EABI.
6208
44f9a8e4
ZW
62092003-01-06 Zack Weinberg <zack@codesourcery.com>
6210
6211 * hwint.h: If the current compiler has no 64-bit type at all,
6212 make HOST_WIDEST_INT 32 bits.
6213
2610198a
EC
62142003-01-06 Eric Christopher <echristo@redhat.com>
6215
6216 * config/mips/mips.md (movdf_internal2): Fix constraints.
6217
efbd757f
KH
62182003-01-06 Kazu Hirata <kazu@cs.umass.edu>
6219
6220 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
6221
727b9b8c
RS
62222003-01-06 Richard Sandiford <rsandifo@redhat.com>
6223
6224 * config/mips/mips.md (leadi): Use dla rather than la.
6225
4705d102 62262003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
6227
6228 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
6229 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
6230
4705d102 62312003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 6232
44f9a8e4 6233 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
6234 redefinition.
6235
dff0ea43
KH
62362003-01-05 Kazu Hirata <kazu@cs.umass.edu>
6237
6238 * config/h8300/h8300.md (*extzv_8_23): New.
6239
94e6fd3e
JDA
62402003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6241
6242 * pa64-hpux.h (JCR_SECTION_NAME): Define.
6243 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
6244 USE_EH_FRAME_REGISTRY when defining.
6245
cd9b5ca8
KH
62462003-01-05 Kazu Hirata <kazu@cs.umass.edu>
6247
6248 * config/h8300/h8300.c (output_a_shift): Do not output a
6249 variable shift.
6250 * config/h8300/h8300.md (two splitters): New.
6251
1ba8a9c4
RS
62522003-01-05 Richard Sandiford <rsandifo@redhat.com>
6253
6254 * config/mips/mips.md: Disable the movstrsi define_split.
6255
c7c50494
KG
62562003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6257
6258 * alloc-pool.c: Don't include "libiberty.h".
6259 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
6260 * convert.c (convert_to_real): Hide unused variable.
6261
83fa8d7a
KG
62622003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6263
6264 * Makefile.in (gtyp-gen.h): Const-ify.
6265 * gcov-dump.c (tag_table): Likewise.
6266
871dab3e
BK
62672003-01-04 Bruce Korb <bkorb@gnu.org>
6268
6269 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
6270 of *both* the file name and the fix name.
6271
90961eff 62722003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
6273
6274 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
6275 collect2.
6276 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
6277 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
6278 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
6279 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
6280 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
6281 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
6282 elfos.h.
6283 (EH_FRAME_IN_DATA_SECTION): Delete define.
6284 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
6285 (STARTFILE_SPEC): Use crtbegin.o.
6286 (ENDFILE_SPEC): Use crtend.o.
6287 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
6288 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
6289 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
6290 DTOR_LIST_BEGIN): Define.
6291 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
6292 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
6293 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
6294
b0588013
BK
62952002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
6296
6297 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
6298 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
6299 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
6300 Cleanup handling of replacement text.
6301 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
6302
63032003-01-04 Bruce Korb <bkorb@gnu.org>
6304
6305 * fixinc/tests/base/math.h: removed obsolete results
6306 * fixinc/tests/base/stdlib.h: ditto
6307 * fixinc/tests/base/sys/param.h: ditto
6308 * fixinc/tests/base/sys/stat.h: ditto
6309 * fixinc/tests/base/time.h: ditto
6310 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
6311 * fixinc/tests/base/sys/byteorder.h: ditto
6312 * fixinc/inclhack.def: Remove superfluous backslashes
6313
68ee6df6
KH
63142003-01-04 Kazu Hirata <kazu@cs.umass.edu>
6315
6316 * config/h8300/h8300-protos.h: Add prototypes for
6317 the new functions defined below.
6318 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
6319 define.
6320 (dosize): Emit RTL instead of assembly code.
6321 (push): Likewise.
6322 (pop): Likewise.
6323 (h8300_output_function_prologue): Remove.
6324 (h8300_expand_prologue): New.
6325 (h8300_expand_epilogue): New.
6326 (h8300_output_function_epilogue): Do only the reset of
6327 pragma_saveall.
6328 * config/h8300/h8300.md (push_h8300): New.
6329 (push_h8300hs): Likewise.
6330 (pop_h8300): Likewise.
6331 (pop_h8300hs): Likewise.
6332 (*stm_h8300s_2): Change the name to stm_h8300s_2.
6333 (*stm_h8300s_3): Change the name to stm_h8300s_3.
6334 (*stm_h8300s_4): Change the name to stm_h8300s_4.
6335 (*ldm_h8300s_2): New.
6336 (*ldm_h8300s_3): Likewise.
6337 (*ldm_h8300s_4): Likewise.
6338 (return): Likewise.
6339 (*return_1): Likewise.
6340 (prologue): Likewise.
6341 (epilogue): Likewise.
6342 (monitor_prologue): Likewise.
6343
d3c300d2
DJ
63442003-01-03 Dale Johannesen <dalej@apple.com>
6345
6346 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
6347 machopic_picsymbol_stub1.
6348 (EXTRA_SECTION_FUNCTIONS): Ditto.
6349 * rs6000/rs6000.c: Update copyright.
6350 (machopic_output_stub): Use them. Remove an insn from stub code.
6351
6cce57b0
JM
63522003-01-02 Jason Merrill <jason@redhat.com>
6353
4e8dca1c
JM
6354 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
6355
6356 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
6357 static/external decls.
2610198a 6358
6cce57b0
JM
6359 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
6360 outermost scope.
6361 * c-decl.c (c_make_fname_decl): Push the decls there, too.
6362
e392d367
KH
63632003-01-03 Kazu Hirata <kazu@cs.umass.edu>
6364
6365 * config/h8300/h8300-protos.h: Add a prototype for
6366 h8300_current_function_interrupt_function_p.
6367 * config/h8300/h8300.c (interrupt_handler): Remove.
6368 (os_task): Likewise.
6369 (monitor): Likewise.
6370 (pragma_interrupt): New.
6371 (WORD_REG_USED): Use
6372 h8300_current_function_interrupt_function_p.
6373 (dosize): Likewise.
6374 (h8300_output_function_prologue): Likewise.
6375 Do not set interrupt_handler, os_task, monitor.
6376 (h8300_output_function_prologue): Use
6377 h8300_current_function_interrupt_function_p.
6378 Do not set interrupt_handler, os_task, monitor.
6379 (h8300_current_function_interrupt_function_p): New.
6380 (h8300_pr_interrupt): Set pragma_interrupt.
6381 (h8300_insert_attributes): Reset pragma_interrupt.
6382
b15da5b7
GP
63832003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6384
6385 * doc/install.texi (Configuration): Fix markup for reference to
6386 gcc/config.gcc.
6387
bf16e745
KH
63882003-01-02 Kazu Hirata <kazu@cs.umass.edu>
6389
6390 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
6391 (*iorhi3_two_qi): Likewise.
6392 (*iorsi3_zexthi): Likewise.
6393 (*xorhi3_zextqi): Likewise.
6394 (*xorsi3_zexthi): Likewise.
6395 (*xorsi3_zextqi): Likewise.
6396
8ccf5d5f
KH
63972003-01-02 Kazu Hirata <kazu@cs.umass.edu>
6398
6399 * config/h8300/h8300.c (stack_pointer_operand): New.
6400 (const_int_gt_2_operand): Likewise.
6401 (const_int_ge_8_operand): Likewise.
6402 * config/h8300/h8300.md (a splitter): Likewise.
6403 (a peephole2): Likewise.
6404 * config/h8300/h8300-protos.h: Add prototypes for the new
6405 functions above.
6406
43c6a96a
SB
64072003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
6408
6409 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
6410 objc/objc-act.h: Fix copyright years.
6411
96c4e780
SB
64122003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
6413
6414 * doc/passes.texi: Fix documentation for -fssa-ccp
6415
8ed0a104
NB
64162003-01-02 Neil Booth <neil@daikokuya.co.uk>
6417
6418 * gccbug.in: Update for new categories.
6419
1b9f0361
KH
64202003-01-01 Kazu Hirata <kazu@cs.umass.edu>
6421
6422 * config/h8300/h8300.md: Reorder some patterns.
6423
dc5f17ec
KH
64242003-01-01 Kazu Hirata <kazu@cs.umass.edu>
6425
6426 * config/h8300/h8300.c (output_logical_op): Fix a warning.
6427
cd2801fb
NB
64282003-01-01 Neil Booth <neil@daikokuya.co.uk>
6429
6430 * config/darwin-protos.h, config/c4x/c4x-protos.h,
6431 config/cris/cris-protos.h, config/i370/i370-protos.h,
6432 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
6433 config/v850/v850-protos.h: Use struct, and don't conditionally
6434 compile on GCC_C_PRAGMA_H.
6435
378b1b8e
KH
64362003-01-01 Kazu Hirata <kazu@cs.umass.edu>
6437
6438 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
6439 * config/h8300/h8300-protos.h: Likewise.
6440 * config/sh/sh-protos.h: Likewise.
6441
7106a5bc
KH
64422003-01-01 Kazu Hirata <kazu@cs.umass.edu>
6443
6444 * config/arm/arm-protos.h: Use struct cpp_reader instead of
6445 cpp_reader.
6446 * config/h8300/h8300-protos.h: Likewise.
6447 * config/sh/sh-protos.h: Likewise.
6448
231b51a1
NB
64492003-01-01 Neil Booth <neil@daikokuya.co.uk>
6450
6451 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
6452 arm_pr_long_calls_off): Use struct.
6453 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
6454 : Similarly.
6455 Don't include cpplib.h.
6456 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
6457 sh_pr_nosave_low_regs): Similarly.
6458
0f18b2b0
KH
64592003-01-01 Kazu Hirata <kazu@cs.umass.edu>
6460
6461 * config/h8300/h8300.c: Include cpplib.h.
6462
b9593599
SB
64632003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
6464
6465 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
6466 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
6467 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
6468 "GCC" in the copyright header.
6469
c58b209a
NB
64702003-01-01 Neil Booth <neil@daikokuya.co.uk>
6471
6472 * c-pragma.c (c_register_pragma): New.
6473 (init_pragma): Use it.
6474 * c-pragma.h (cpp_register_pragma): Don't declare.
6475 (c_register_pragma): New.
6476 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
6477 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
6478 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
6479 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6480 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
6481 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
6482 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
6483 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
6484 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
6485 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
6486 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
6487 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
6488
bc455f9c
KH
64892002-12-31 Kazu Hirata <kazu@cs.umass.edu>
6490
6491 * config/h8300/h8300-protos.h: Update the prototypes.
6492 * config/h8300/h8300.c (const_le_2_operand): Change to
6493 const_int_le_2_operand.
6494 (const_int_le_6_operand): Change to const_int_le_6_operand.
6495 * config/h8300/h8300.md (two peepholes): Update the function
6496 names.
6497
3b41afd9
TT
64982002-12-31 Tom Tromey <tromey@redhat.com>
6499
6500 * doc/install.texi (Testing): Fixed typo.
6501
9e56a932
KH
65022002-12-31 Kazu Hirata <kazu@cs.umass.edu>
6503
6504 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
6505 (TRAMPOLINE_SIZE): Support the normal mode.
6506 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
6507
731e8b38
MM
65082002-12-31 Mark Mitchell <mark@codesourcery.com>
6509
6510 * c-common.h (pending_lang_change): Declare.
6511
147d1cd3
JQ
65122002-12-31 Jerry Quinn <jlquinn@optonline.net>
6513
6514 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
6515 descriptions.
6516
fad893da
JQ
65172002-12-31 Jerry Quinn <jlquinn@optonline.net>
6518
6519 * gcc/doc/invoke.texi (Optimization Options): List the options
6520 enabled by each -O flag.
6521
ec5b5ef1
GP
65222002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6523
6524 * doc/install.texi (Configuration): Explicitly refer
6525 gcc/config.gcc for a list of cpu models.
6526
59d7c857
KH
65272002-12-31 Kazu Hirata <kazu@cs.umass.edu>
6528
6529 * config/h8300/h8300.h: Fix comment typos.
6530
5b8f5865
DE
65312002-12-30 David Edelsohn <edelsohn@gnu.org>
6532
6533 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
6534
582f6e6d
TT
65352002-12-30 Tom Tromey <tromey@redhat.com>
6536
6537 * doc/install.texi (Testing): Mention Jacks.
6538
f75db6bc
JM
65392002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
6540
6541 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
6542
2d75548f
KH
65432002-12-30 Kazu Hirata <kazu@cs.umass.edu>
6544
6545 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
6546 cases.
6547 (compute_logical_op_length): Update to reflect the change in
6548 output_logical_op.
6549 (compute_logical_op_cc): Likewise.
6550
b351c1d9
JM
65512002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
6552
6553 * doc/service.texi: Uncomment and update FAQ link.
6554
47ab0cbb
AJ
65552002-12-30 Andreas Jaeger <aj@suse.de>
6556
6557 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
6558
3cc3e1cd
KH
65592002-12-30 Kazu Hirata <kazu@cs.umass.edu>
6560
6561 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
6562
a6e8d113
KH
65632002-12-30 Kazu Hirata <kazu@cs.umass.edu>
6564
6565 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
6566 are clearing the most significant byte.
6567 (compute_logical_op_length): Update to reflect the change in
6568 output_logical_op.
6569 (compute_logical_op_cc): Likewise.
6570
c85263d2
KH
65712002-12-29 Kazu Hirata <kazu@cs.umass.edu>
6572
6573 * config/h8300/h8300.md: Give internal names to anonymous
6574 insns.
6575
fbcb02cd
KH
65762002-12-29 Kazu Hirata <kazu@cs.umass.edu>
6577
6578 * config/h8300/h8300.md: Reorder some insns.
6579
2873836b
KH
65802002-12-29 Kazu Hirata <kazu@cs.umass.edu>
6581
6582 * config/h8300/h8300-protos.h: Add prototypes for
6583 const_int_qi_operand and const_int_hi_operand.
6584 * config/h8300/h8300.c (const_int_qi_operand): New.
6585 (const_int_hi_operand): Likewise.
6586 * config/h8300/h8300.md (three peepholes): New.
6587
bdefb2ab
JM
65882002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
6589
6590 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
6591 Use @copying.
6592
a38f87a9
JM
65932002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
6594
6595 * configure.in: Increase makeinfo version requirement to 4.[2-9].
6596 * configure: Regenerate.
6597 * doc/install.texi: Update Texinfo version requirement.
6598
c14bc6db
AJ
65992002-12-28 Andreas Jaeger <aj@suse.de>
6600
b9b21a05
AJ
6601 * config/i386/i386.c (x86_function_profiler): Mark labelno as
6602 possibly unused.
6603
c14bc6db
AJ
6604 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
6605 correct format.
6606
62fbd434
KH
66072002-12-27 Kazu Hirata <kazu@cs.umass.edu>
6608
6609 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
6610 *iorhi_ashift_8.
6611 (*iorhi_lshiftrt_8): New.
6612
27e3f16d
JM
66132002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
6614
6615 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
6616
b09975de
GP
66172002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6618
6619 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
6620
f411c849
KH
66212002-12-26 Kazu Hirata <kazu@cs.umass.edu>
6622
6623 * config/h8300/h8300-protos.h: Fix comment typos.
6624 Update copyright.
6625 * config/h8300/h8300.c: Fix comment typos.
6626
b976d7a0
KH
66272002-12-26 Kazu Hirata <kazu@cs.umass.edu>
6628
6629 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
6630
d1f87653
KH
66312002-12-26 Kazu Hirata <kazu@cs.umass.edu>
6632
6633 * config/i386/athlon.md: Fix comment typos.
6634 * config/i386/crtdll.h: Likewise.
6635 * config/i386/djgpp.h: Likewise.
6636 * config/i386/i386-interix.h: Likewise.
6637 * config/i386/i386.c: Likewise.
6638 * config/i386/i386.h: Likewise.
6639 * config/i386/i386.md: Likewise.
6640 * config/i386/k6.md: Likewise.
6641 * config/i386/mingw32.h: Likewise.
6642 * config/i386/pentium.md: Likewise.
6643 * config/i386/sco5.h: Likewise.
6644 * config/i386/winnt.c: Likewise.
6645 * config/i386/xmmintrin.h: Likewise.
6646
ecd4a73b
JR
66472002-12-26 Jose Renau <renau@cs.uiuc.edu>
6648
6649 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
6650 INSN_P before checking to see if it is dead.
6651 (mark_all_insn_unnecessary): Similarly.
6652 (ssa_eliminate_dead_code): Similarly.
6653 * rtl.h (struct rtx_def): Update comments for in_struct usage
6654 in dead code elimination pass.
6655 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
6656
b17bb466
AS
66572002-12-26 Andreas Schwab <schwab@suse.de>
6658
c14bc6db 6659 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
b17bb466 6660
b21fb038
DE
66612002-12-25 David Edelsohn <edelsohn@gnu.org>
6662
6663 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
6664 tartet_flags_explicit.
6665 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
6666 Compact target_flags bits.
6667 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
6668 (TARGET_SWITCHES): Delete references to *_SET flags.
6669
abd2dd6d
JH
6670Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
6671
6672 * i386.md (memory attribute): Fix setcc attribute.
6673
d55d8fc7
KH
66742002-12-25 Kazu Hirata <kazu@cs.umass.edu>
6675
6676 * output.h: Fix comment typos.
6677 * predict.c: Likewise.
6678 * print-tree.c: Likewise.
6679 * profile.c: Likewise.
6680 * ra-build.c: Likewise.
6681 * ra-colorize.c: Likewise.
6682 * ra-debug.c: Likewise.
6683 * ra-rewrite.c: Likewise.
6684 * ra.c: Likewise.
6685 * ra.h: Likewise.
6686 * real.c: Likewise.
6687 * recog.c: Likewise.
6688 * reg-stack.c: Likewise.
6689 * regclass.c: Likewise.
6690
7a770d8b
KH
66912002-12-25 Kazu Hirata <kazu@cs.umass.edu>
6692
6693 * config/h8300/h8300.c (print_operand_address): Do not negate
6694 a negative number when printing one.
6695
7d6ac401
KH
66962002-12-25 Kazu Hirata <kazu@cs.umass.edu>
6697
6698 * config/h8300/h8300-protos.h: Add prototypes for
6699 output_plussi, compute_plussi_length, and compute_plussi_cc.
6700 * config/h8300/h8300.c (output_plussi): New.
6701 (compute_plussi_length): Likewise.
6702 (compute_plussi_cc): Likewise.
6703 * config/h8300/h8300.md (addsi_h8300h): Call
6704 output_plussi, compute_plussi_length, and compute_plussi_cc.
6705
871d6a01
KH
67062002-12-24 Kazu Hirata <kazu@cs.umass.edu>
6707
6708 * config/h8300/h8300.md (two peepholes): Use match_dup instead
6709 of match_operand in the new patterns.
6710
4fbf9d4a
JM
67112002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
6712
6713 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
6714
8601608f
NS
67152002-12-24 Nathan Sidwell <nathan@codesourcery.com>
6716
6717 * configure.in (enable-coverage): Add SELF_COVERAGE.
6718 * profile.c (end_branch_prob): Use SELF_COVERAGE.
6719
c28b4e40
JW
67202002-12-24 Jim Wilson <wilson@redhat.com>
6721
6722 * alias.c (record_set): Handle multi-reg hard registers.
6723
14b493d6
KH
67242002-12-24 Kazu Hirata <kazu@cs.umass.edu>
6725
6726 * regmove.c: Fix comment typos.
6727 * reload.c: Likewise.
6728 * reload1.c: Likewise.
6729 * resource.c: Likewise.
6730 * rtl.def: Likewise.
6731 * rtl.h: Likewise.
6732 * rtlanal.c: Likewise.
6733 * sched-deps.c: Likewise.
6734 * sched-rgn.c: Likewise.
6735 * sibcall.c: Likewise.
6736 * simplify-rtx.c: Likewise.
6737 * ssa-ccp.c: Likewise.
6738 * ssa.c: Likewise.
6739 * stmt.c: Likewise.
6740 * stor-layout.c: Likewise.
6741 * system.h: Likewise.
6742 * tlink.c: Likewise.
6743 * toplev.c: Likewise.
6744 * tracer.c: Likewise.
6745 * tree-inline.c: Likewise.
6746 * tree.c: Likewise.
6747 * tree.h: Likewise.
6748 * unroll.c: Likewise.
6749 * varasm.c: Likewise.
6750
c9693e96
LH
67512002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
6752
6753 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
6754 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
6755 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
6756 DG/UX entries.
6757 * doc/md.texi: Remove AMD 29K entries.
6758 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
6759 1.38.1, NewsOS, RT PC, WE32K entries.
6760
a67ed43f
AH
67612002-12-23 Aldy Hernandez <aldyh@redhat.com>
6762
44f9a8e4
ZW
6763 PR/8763
6764 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
6765 (altivec_vspltisw_v4sf): Name pattern.
6766 (altivec_vslw_v4sf): New pattern.
a67ed43f 6767
46d40353
JM
67682002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
6769
6770 * doc/include/gcc-common.texi: Define DEVELOPMENT.
6771
8dc65b6e
MM
67722002-12-23 Mark Mitchell <mark@codesourcery.com>
6773
6774 * stor-layout.c (update_alignment_for_field): Correct handling of
6775 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
6776 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
6777 bitfield does not affect alignment.
6778
7c02ae17
DE
67792002-12-23 David Edelsohn <edelsohn@gnu.org>
6780
6781 * expr.c (expand_assignment): Apply special treatment to
6782 ARRAY_TYPE.
6783
317d21e9
KH
67842002-12-23 Kazu Hirata <kazu@cs.umass.edu>
6785
6786 * config/h8300/h8300-protos.h: Update the prototype of
6787 expand_a_shift.
6788 * config/h8300/h8300.c (expand_a_shift): Change the return
6789 type to void.
6790 * config/h8300/h8300.md: Update all the uses of
6791 expand_a_shift.
6792
0c685f12
NS
67932002-12-22 Nathan Sidwell <nathan@codesourcery.com>
6794
6795 * tree.c (save_expr): Allow either side of a dyadic operand to be
6796 constant.
6797
6798 * doc/portability.texi (portability): Update portability goals.
6799
ade53a50
KH
68002002-12-23 Kazu Hirata <kazu@cs.umass.edu>
6801
6802 * config/h8300/h8300.c (output_a_shift): Remove unused code.
6803
d0ff2db5
MM
68042002-12-22 Mark Mitchell <mark@codesourcery.com>
6805
d317855e
MM
6806 * stor-layout.c (update_alignment_for_field): Guard use of
6807 ADJUST_FIELD_ALIGN with #ifdef.
6808
d0ff2db5
MM
6809 * stor-layout.c (update_alignment_for_field): Use
6810 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
6811 bitfield when PCC_BITFIELD_TYPE_MATTERS.
6812
96e13905
KH
68132002-12-22 Kazu Hirata <kazu@cs.umass.edu>
6814
6815 * genautomata.c: Fix comment typos.
6816
66b4e478
JH
6817Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
6818
6819 * params.def (tracer-min-branch-probability-feedback): Fix default.
6820 * final.c (compute_alignments): Use profile to avoid code bloat.
6821
a7612343
KH
68222002-12-22 Kazu Hirata <kazu@cs.umass.edu>
6823
6824 * config/h8300/h8300.c (get_shift_alg): Make shift insn
6825 sequences end with a valid cc0 whenever possible.
6826
8fb52ad1
KH
68272002-12-22 Kazu Hirata <kazu@cs.umass.edu>
6828
6829 * config/h8300/h8300.md (negsf2): New.
6830 (*negsf2_h8300): Likewise.
6831 (*negsf2_h8300hs): Likewise.
6832
2a77af27
GK
68332002-12-21 Geoffrey Keating <geoffk@apple.com>
6834
6835 * integrate.c (output_inline_function): Don't hold private
6836 pointers to 'struct function' over GC calls.
6837
5040eb00
KK
68382002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
6839
6840 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
6841 NO_FPSCR_VALUES.
6842 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
6843
5d750136
KH
68442002-12-21 Kazu Hirata <kazu@cs.umass.edu>
6845
6846 * config/h8300/h8300.md (zero_extendqisi2): Correct the
6847 length.
6848
f7e42925
KH
68492002-12-21 Kazu Hirata <kazu@cs.umass.edu>
6850
6851 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
6852 second alternative "#".
6853 (*zero_extendqihi2_h8300hs): Likewise.
6854 (a define_split): New.
6855
3cee1a78
KH
68562002-12-21 Kazu Hirata <kazu@cs.umass.edu>
6857
6858 * config/h8300/h8300-protos.h: Update the prototype for
6859 split_adds_subs.
6860 Add prototypes for const_le_2_operand and const_le_6_operand.
6861 * config/h8300/h8300.c (split_adds_subs): Add an argument to
6862 specify whether inc/dec should be used when possible.
6863 (const_le_2_operand): New.
6864 (const_le_6_operand): Likewise.
6865 * config/h8300/h8300.md (two peepholes): New.
6866
40b982a9
KH
68672002-12-21 Kazu Hirata <kazu@cs.umass.edu>
6868
6869 * config/fr30/fr30.md: Fix a comment typo.
6870 * config/i386/i386.c: Likewise.
6871 * config/ip2k/ip2k.h: Likewise.
6872
60954572
JW
68732002-12-20 Jim Wilson <wilson@redhat.com>
6874
6875 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
6876 (__ev_subw, __ev_subiw): New.
6877 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
6878 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
6879
11f43127
JDA
68802002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
6881
6882 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
6883 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
6884 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
6885 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
6886
f9d2de4d
KH
68872002-12-20 Kazu Hirata <kazu@cs.umass.edu>
6888
6889 * config/h8300/h8300-protos.h: Add prototypes for
6890 incdec_operand and eqne_operator.
6891 * config/h8300/h8300.c (incdec_operand): New.
6892 (eqne_operator): Likewise.
6893 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
6894 (CONST_OK_FOR_O): Likewise.
6895 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
6896 CONST_OK_FOR_O.
6897 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
6898 (addhi3_incdec): New.
6899 (addsi3_incdec): Likewise.
6900 (two peepholes): Likewise.
6901
b47900aa
KH
69022002-12-20 Kazu Hirata <kazu@cs.umass.edu>
6903
6904 * config/h8300/h8300.c (dosize): Remove warnings.
6905 (print_operand): Likewise.
6906
3094247f
RH
69072002-12-20 Richard Henderson <rth@redhat.com>
6908
6909 * config/alpha/alpha.c (decl_has_samegp): New.
6910 (samegp_function_operand): Use it. Rename from
6911 current_file_function_operand.
6912 (direct_call_operand): Handle -msmall-text via symbol->jump.
6913 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
6914 (tls_symbolic_operand_type): Likewise.
6915 (alpha_encode_section_info): Likewise. Handle -msmall-text.
6916 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
6917 (alpha_end_function): Set symbol->jump for functions defined in
6918 the text section.
6919 * config/alpha/alpha-protos.h: Update.
6920 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
6921 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
6922 (PREDICATE_CODES): Update.
c14bc6db 6923 * config/alpha/alpha.md (call patterns): Update for
3094247f
RH
6924 samegp_function_operand rename; use !samegp reloc if
6925 TARGET_EXPLICIT_RELOCS.
6926 * doc/invoke.text: Document -msmall-text and -mlarge-text.
6927
8056c5f2
ID
69282002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6929
44f9a8e4
ZW
6930 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
6931 all registers capable of holding a double float.
6932 (*rcond): change name of "reverse branch" insns to
6933 something more meaningful.
6934 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
6935 comparisons properly.
6936 (*ffs): Change operand 0 from write to read-modify-write.
6937 (*ffsssi2): Drop constraints from define_expand.
8056c5f2 6938
44f9a8e4
ZW
6939 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
6940 MOVE_RATIO as default for store operations.
8056c5f2 6941
44f9a8e4
ZW
6942 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
6943 LONG_REGS class.
6944 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
6945 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
6946 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
8056c5f2 6947
44f9a8e4
ZW
6948 * config/ns32k/STATUS: New File
6949 * config/ns32k/NOTES: New file.
8056c5f2 6950
1fec52be 69512002-12-20 Hartmut Penner <hpenner@de.ibm.com>
c14bc6db 6952
21ff35fb 6953 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
1fec52be 6954 option for S/390 and zSeries.
44f9a8e4
ZW
6955 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
6956 s390_arch_string): New variables.
6957 (override_options): Checking for options and setting of
1fec52be 6958 appropriate target_flags, cpu and arch flags.
44f9a8e4
ZW
6959 * config/s390/s390.h: (processor_type): New enum.
6960 (TARGET_SWITCHES): New switches -mesa/zarch.
6961 * config/s390/s390.md: New attribute 'cpu'.
1fec52be 6962
5bdc5878
KH
69632002-12-19 Kazu Hirata <kazu@cs.umass.edu>
6964
6965 * c-pretty-print.h: Fix comment typos.
6966 * integrate.c: Likewise.
6967 * varasm.c: Likewise.
6968 * config/c4x/c4x.h: Likewise.
6969 * config/c4x/c4x.md: Likewise.
6970 * config/fr30/fr30.md: Likewise.
6971 * config/frv/frv.c: Likewise.
6972 * config/h8300/h8300.c: Likewise.
6973 * config/i386/i386.c: Likewise.
6974 * config/i386/i386.h: Likewise.
6975 * config/ia64/ia64.c: Likewise.
6976 * config/ia64/ia64.h: Likewise.
6977 * config/ip2k/ip2k.md: Likewise.
6978 * config/m68hc11/m68hc11-crt0.S: Likewise.
6979 * config/m68hc11/m68hc11.h: Likewise.
6980 * config/m68hc11/m68hc11.md: Likewise.
6981 * config/m68hc11/m68hc12.h: Likewise.
6982 * config/mcore/mcore.md: Likewise.
6983 * config/mips/mips.c: Likewise.
6984 * config/mips/mips.md: Likewise.
6985 * config/mmix/mmix-modes.def: Likewise.
6986 * config/pa/pa.c: Likewise.
6987 * config/rs6000/rs6000.c: Likewise.
6988 * config/rs6000/rs6000.h: Likewise.
6989 * config/rs6000/rs6000.md: Likewise.
6990
539dbd15
KH
69912002-12-19 Kazu Hirata <kazu@cs.umass.edu>
6992
6993 * config/h8300/h8300.md (output_a_shift): Clean up the code to
6994 output shifts using rotation.
6995
e505be85
ZD
69962002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6997
6998 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
6999
191ff852
KH
70002002-12-19 Kazu Hirata <kazu@cs.umass.edu>
7001
7002 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
7003 pointer.
7004 (pushqi_h8300hs): Likewise.
7005 (pushhi_h8300): Likewise.
7006 (pushhi_h8300hs): Likewise.
7007
b2dfd40f
R
7008Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
7009
7010 * sched-rgn.c (init_regions): Update comment.
7011
310b9b1d
DE
70122002-12-19 David Edelsohn <edelsohn@gnu.org>
7013
7014 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
7015 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
7016 attributes.
7017 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
7018 (get_vrsave_internal,set_vrsave_internal): Same.
7019 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
7020 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
7021 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
7022
e91f04de
CH
70232002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
7024 Danny Smith <dannysmith@users.sourceforge.net>
7025 Eric Kohl <ekohl@rz-online.de>
7026
7027 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
7028 attributes incompatible with fastcall attribute.
7029 (ix86_handle_regparm_attribute): Likewise.
7030
7031 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
7032 fastcall types.
7033
7034 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
7035 attributes.
7036 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
7037 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
7038 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
7039 i386_pe_output_labelref rather than here.
7040 (gen_fastcall_suffix): New function. Decorates a label name with the
7041 fastcall prefix (@) and the stdcall suffix.
7042 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
7043 has a fastcall attribute.
7044 (i386_pe_output_labelref): New function. Outputs a label reference.
7045 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
7046 valid attribute.
7047 (ix86_return_pops_args): Fastcall functions pop the stack.
7048 (init_cumulative_args): Reserve registers ECX and EDX if function has
7049 fastcall attribute.
7050 (function_arg): Use registers ECX and EDX if function has fastcall
7051 attribute.
7052 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
7053 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
7054 (FASTCALL_PREFIX): Define as '@'.
7055 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
7056 attributes.
7057 * doc/extend.texi: Add documentation of fastcall attribute.
7058
61138bb6
NN
70592002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
7060
c14bc6db 7061 * configure.in: FORBUILD when build!=host changed from
61138bb6
NN
7062 ../$build-alias to ../build-$build_alias to match change made
7063 in top directory.
7064 * configure: Regenerated.
7065
039baf9e
EB
70662002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
7067
7068 PR optimization/8988
7069 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
7070 the biv when eliminating.
7071
ee8acf89
DP
70722002-12-19 Devang Patel <dpatel@apple.com>
7073 * gcc.c (struct default_compiler): Recognizes input file name with
7074 .CPP extension as C++ source files
7075 * cp/lang-spec.h: Same
7076 * doc/invoke.texi: Add documentation for .CPP support.
c14bc6db 7077
598119bb
AH
70782002-12-19 Aldy Hernandez <aldyh@redhat.com>
7079
7080 PR 8553
7081 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
7082 registers.
7083 ("absv16qi2"): Same.
7084 ("absv4si2"): Same.
7085 ("absv4sf2"): Same.
7086 ("altivec_abss_v16qi"): Same.
7087 ("altivec_abss_v8hi"): Same.
7088 ("altivec_abss_v4si"): Same.
7089
3af97654
UW
70902002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
7091
7092 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
7093 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
7094
e54b4cae
EB
70952002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
7096
7097 PR target/8340
7098 * stmt.c (expand_asm_operands): Produce an error when
7099 the PIC register is clobbered.
7100
7f22efe1
DB
71012002-12-18 Daniel Berlin <dberlin@dberlin.org>
7102
7103 * Makefile.in (OBJS): Add alloc-pool.o
7104 (alloc-pool.o): New object.
7105
7106 * alloc-pool.c: New file.
7107 * alloc-pool.h: New file.
7108
f1d5271a 71092002-12-18 Loren James Rittle <ljrittle@acm.org>
5a0ba8c9
LJR
7110
7111 * gcc.c (validate_switches): Robustify against skipping past '\0'.
7112
064b6c70
GK
71132002-12-18 Geoffrey Keating <geoffk@apple.com>
7114
7115 * config.gcc: Set extra_objs in the generic Darwin rule,
7116 not in the machine-specific rules.
7117
272d0bee
KH
71182002-12-19 Kazu Hirata <kazu@cs.umass.edu>
7119
7120 * ChangeLog: Follow spelling conventions.
7121 * ChangeLog.2: Likewise.
7122 * ChangeLog.4: Likewise.
7123 * ChangeLog.5: Likewise.
7124 * cppexp.c: Likewise.
7125 * df.c: Likewise.
7126 * gcov.c: Likewise.
7127 * gengtype.c: Likewise.
7128 * reload1.c: Likewise.
7129 * sched-rgn.c: Likewise.
7130 * stmt.c: Likewise.
7131 * stor-layout.c: Likewise.
7132 * timevar.c: Likewise.
7133 * toplev.c: Likewise.
7134 * tree.h: Likewise.
7135 * varasm.c: Likewise.
7136 * config/fr30/fr30.md: Likewise.
7137 * config/i386/i386.c: Likewise.
7138 * config/ia64/ia64.c: Likewise.
7139 * config/pa/pa.c: Likewise.
7140
358ecb10
RS
71412002-12-18 Roger Sayle <roger@eyesopen.com>
7142
7143 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
7144
d486dec6
AH
71452002-12-18 Aldy Hernandez <aldyh@redhat.com>
7146
7f04df0d 7147 PR 8551
d486dec6
AH
7148 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
7149 macro.
7150 (vec_cmplt C++ functions): Reverse arguments.
7151
358ecb10 71522002-12-18 Geoffrey Keating <geoffk@apple.com>
892aebc9 7153
40b4cdbf
GK
7154 * config/rs6000/t-rs6000: Move contents to t-fprules,
7155 add rules for dependencies of rs6000.o and to build rs6000-c.o
7156 * config/rs6000/t-fprules: New file from t-rs6000.
7157 * config/rs6000/t-beos: Remove soft-fp rules.
7158 * config/rs6000/t-ppccomm: Likewise.
7159 * config/rs6000/t-newas: Likewise.
7160 * config/rs6000/t-rs6000-c-rule: Delete.
7161 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
7162 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
7163 Create generic Darwin rules.
7164
892aebc9
GK
7165 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
7166
9d303046
DE
71672002-12-18 Doug Evans <dje@sebabeach.org>
7168
7169 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
7170 and LIT_NAME_P.
7171 (move_src_operand): Remove compile-time warning.
7172 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
7173
80d83b16
JM
71742002-12-18 Jason Merrill <jason@redhat.com>
7175
7176 * unwind-dw2-fde.c (frame_downheap): Split out from...
7177 (frame_heapsort): Here.
7178
f32ac70d
JM
71792002-12-17 Jason Merrill <jason@redhat.com>
7180
9ec22713
JM
7181 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
7182 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
7183
38540594 7184 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
a3a0177e 7185
f32ac70d
JM
7186 * calls.c (expand_call): Don't try to be clever about expanding
7187 the return slot address.
7188
d5db5b97
KK
71892002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
7190
7191 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
7192 Define.
7193
e489a31f
JM
71942002-12-17 Jason Merrill <jason@redhat.com>
7195
7196 * genmultilib: Use 'cd ./foo'.
7197
5b8f02c6
KH
71982002-12-17 Kazu Hirata <kazu@cs.umass.edu>
7199
7200 * doc/c-tree.texi: Restore deliberate spelling mistakes.
7201
c0478a66
KH
72022002-12-17 Kazu Hirata <kazu@cs.umass.edu>
7203
7204 * doc/c-tree.texi: Fix typos and follow spelling conventions.
7205 * doc/cpp.texi: Likewise.
7206 * doc/extend.texi: Likewise.
7207 * doc/gty.texi: Likewise.
7208 * doc/install.texi: Likewise.
7209 * doc/invoke.texi: Likewise.
7210 * doc/md.texi: Likewise.
7211 * doc/passes.texi: Likewise.
7212 * doc/rtl.texi: Likewise.
7213 * doc/sourcebuild.texi: Likewise.
7214 * doc/tm.texi: Likewise.
7215
3364c33b
JQ
72162002-12-17 Jerry Quinn <jlquinn@optonline.net>
7217
7218 * doc/invoke.texi: Minor spelling and grammar fixes.
7219
d65f135a
UW
72202002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
7221
7222 * config/s390/s390.c (s390_output_constant_pool): Replace
7223 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
7224
4b207444
JH
7225Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
7226
7227 * convert.c (convert_to_real): Disable function transformation for
7228 now.
7229
cde26509
GK
72302002-12-16 Geoffrey Keating <geoffk@apple.com>
7231
7232 * gcc.c (handle_braces): Allow '@' as a switch name.
7233
9f175208
JM
72342002-12-16 Jason Merrill <jason@redhat.com>
7235
e489a31f
JM
7236 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
7237 with special struct-return ABIs.
7238
9f175208
JM
7239 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
7240 doesn't match the begin SCOPE_STMT in partialness.
7241
7a975113
GK
72422002-12-16 Geoffrey Keating <geoffk@apple.com>
7243
c79d892f
GK
7244 * genmultilib: Create temporary files in unique subdirectory.
7245
7a975113
GK
7246 * gcc.c (validate_switches): Allow '@' as a switch name.
7247
8483c7e0
LR
72482002-12-16 Loren J. Rittle <ljrittle@acm.org>
7249
7250 * Makefile.in (gcov-iov.h): Improve portability.
7251
9ee7999f
JH
7252Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
7253
7254 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
7255 gas
7256 * mips.md (tablejump insn): Likewise.
7257
7a04c51b
MM
72582002-12-16 Mark Mitchell <mark@codesourcery.com>
7259
7260 * doc/include/gcc-common.texi: Change version number to 3.4.
7261
27eaa708
BK
72622002-12-16 Bruce Korb <bkorb@gnu.org>
7263
7264 * fixinc/fixlib.h: add: #include <signal.h>
7265 * fixinc/fixincl.c: remove: #include <signal.h>
7266
b51dc045
R
7267Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
7268
7269 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
7270 (EXTRA_CONSTRAINT): Use it.
7271 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
7272
4977bab6
ZW
72732002-12-15 Zack Weinberg <zack@codesourcery.com>
7274
7275 * config.gcc (need_64bit_hwint): New variable.
7276 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
7277 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
7278 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
7279 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
7280 Set it.
7281 (powerpc*-*-darwin*): Unset it.
7282 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
7283 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
7284 deleted/nonexistent xm-*.h headers.
7285 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
7286 target set need_64bit_hwint in config.gcc.
7287 * configure, config.in: Regenerate.
7288
7289 * hwint.h: Overhaul. Don't bother trying int for
7290 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
7291 decision to force 64-bit HOST_WIDE_INT on
7292 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
7293 not visible at this point. Don't allow prior definition of
7294 any macro defined by this file.
7295
7296 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
7297 HOST_BITS_PER_WIDE_INT.
7298 * config/c4x/c4x.h: Adjust redefinition of
7299 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
7300 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
7301 config/i386/xm-i386-interix.h: Delete file.
7302
73032002-12-14 Rodney Brown <rbrown64@csc.com.au>
7304 John David Anglin <dave@hiauly1.hia.nrc.ca>
7305
7306 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
7307 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
7308
73092002-12-14 Zack Weinberg <zack@codesourcery.com>
7310
7311 * mkconfig.sh: Correct comment. Add copyright boilerplate.
7312
73132002-12-14 Zack Weinberg <zack@codesourcery.com>
7314
7315 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
7316 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
7317 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
7318 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
7319 config/v850/t-v850: Correct dependencies and normalize
7320 compilation commands for files that include coretypes.h and tm.h.
7321
7322 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
7323 not config.h and system.h.
7324
7325Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
7326
7327 * i386.c (flags_reg_operand): New function.
7328 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
7329 * i386.md (cmov splitter, movqicc): Use new predicate.
7330
7331Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
7332
7333 * i386.md (movqicc splitter): Fix template.
7334
73352002-12-13 Jason Merrill <jason@redhat.com>
7336
7337 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
7338 * calls.c (expand_call): Handle it.
7339 * tree-inline.c (struct inline_data): Remove target_exprs field.
7340 (optimize_inline_calls): Don't initialize it.
7341 (expand_call_inline): Don't modify it. Handle
7342 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
7343 (declare_return_variable): Take return slot addr.
7344 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
7345 to return_slot_addr.
7346 * langhooks-def.h, langhooks.c: Adjust.
7347 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
7348 a decl with no DECL_INITIAL.
7349
7350 * expr.c (expand_expr): Don't discard the target of a call which
7351 returns in memory.
7352
73532002-12-13 Neil Booth <neil@daikokuya.co.uk>
7354
7355 * cppinit.c (path_include): Take an environment variable name.
7356 Tidy up.
7357 (init_standard_includes): Simplify environment handling, and
7358 move to ...
7359 (cpp_read_main_file): ...here as -nostdinc should not affect
7360 environment variable paths.
7361
f5f9008b
JDA
73622002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
7363
7364 * pa.c (output_millicode_call): Correct typo.
7365 (output_call): Likewise.
7366
a58be199
AO
7367Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
7368
7369 * config/mn10300/mn10300.c (print_operand) <case N>: Check
7370 operand's range. Print value directly, without aid from
7371 output_address.
7372 <case U>: New.
7373 <case S>: Make sure argument to fprintf has the right type.
7374 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
7375 (EXTRA_CONSTRAINT): Adjust.
7376 * config/mn10300/mn10300.md: Add new all-QImode pattern for
7377 bclr. Use %U for immediate operands of bset and bclr.
7378 (iorqi3): New expand, with insns for AM33 and mn10300.
7379
d9da94a1
R
7380Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
7381
7382 * sh.c (sh_register_operand): New function.
7383 (prepare_move_operands): Use it.
7384 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
7385 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
7386 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
7387 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
7388 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
7389 (movv2si_i): Likewise.
7390
580fb356
JW
73912002-12-13 Jim Wilson <wilson@redhat.com>
7392
7393 * doc/extend.texi (Complex Numbers): Update info on debug info.
7394
697d8028
KH
73952002-12-13 Kazu Hirata <kazu@cs.umass.edu>
7396
7397 * config/h8300/h8300.md (addhi3_h8300): Remove the last
7398 alternative.
7399
4977bab6
ZW
74002002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7401
7402 * hooks.h (hook_tree_tree_bool_false): Declare
7403 hook_bool_tree_tree_false instead.
7404
dd05b1b4 74052002-12-12 Devang Patel <dpatel@apple.com>
697d8028 7406
dd05b1b4
DP
7407 * doc/invoke.texi: Document Darwin linker options, -bundle
7408 -bind_at_load, -all_load and -arch_errors_fatal
7409
24aacafb
JW
74102002-12-12 Jim Wilson <wilson@redhat.com>
7411
7412 * dbxout.c (dbxout_fptype_value): New.
7413 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
7414
09da1532
KH
74152002-12-12 Kazu Hirata <kazu@cs.umass.edu>
7416
7417 * c-decl.c: Fix a comment typo.
7418 * cfg.c: Likewise.
7419 * cfgcleanup.c: Likewise.
7420 * cfglayout.c: Likewise.
7421 * cfgrtl.c: Likewise.
7422 * c-typeck.c: Likewise.
7423 * dominance.c: Likewise.
7424 * dwarf2asm.c: Likewise.
7425 * dwarfout.c: Likewise.
7426 * expmed.c: Likewise.
7427 * expr.c: Likewise.
7428 * final.c: Likewise.
7429 * flow.c: Likewise.
7430 * function.c: Likewise.
7431 * gcc.c: Likewise.
7432 * genautomata.c: Likewise.
7433 * integrate.c: Likewise.
7434 * loop.c: Likewise.
7435 * loop.h: Likewise.
7436 * output.h: Likewise.
7437 * profile.c: Likewise.
7438 * ra.h: Likewise.
7439 * reload1.c: Likewise.
7440 * reload.c: Likewise.
7441 * sched-rgn.c: Likewise.
7442 * stmt.c: Likewise.
7443 * tree.h: Likewise.
7444 * vmsdbgout.c: Likewise.
7445
7930523d
KH
74462002-12-12 Kazu Hirata <kazu@cs.umass.edu>
7447
7448 * config/h8300/h8300.md: Add a new peephole2.
7449
59578c84
KH
74502002-12-12 Kazu Hirata <kazu@cs.umass.edu>
7451
7452 * config/h8300/h8300.md (a peephole2): Accept a constant
7453 that's accepted by CONST_OK_FOR_J.
7454
8cc5359b
KH
74552002-12-12 Kazu Hirata <kazu@cs.umass.edu>
7456
7457 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
7458 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
7459 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
7460 (*addhi_h8300hs): Likewise.
7461
ec555f32
R
7462Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
7463
7464 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
7465 (sh_register_move_cost): Add clause for SImode fp-fp moves.
7466 Increase cost for moves involving multiple general purpose registers.
7467 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
7468 TARGET_FMOVD.
7469 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
7470 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
7471 (enum reg_class reg_class_from_letter): No longer const.
7472 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
7473 REGCLASS_HAS_GENERAL_REG.
7474 Handle SImode moves from/to fp registers.
7475 ! TARGET_SHMEDIA && TARGET_FMOVD.
7476 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
7477 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
7478
83ebfdc0
AS
74792002-12-12 Andreas Schwab <schwab@suse.de>
7480
7481 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
7482 change and some warnings.
7483
299c5111
KH
74842002-12-12 Kazu Hirata <kazu@cs.umass.edu>
7485
7486 * doc/md.texi (pushm): Fix a typo.
7487
852dff61
AO
74882002-12-12 Alexandre Oliva <aoliva@redhat.com>
7489
7490 * config/mips/mips.c (mips_output_conditional_branch): Support
7491 PIC-safe out-of-range branch and branch-likely.
7492 * config/mips/mips.md (attr length): PIC-safe out-of-range
7493 branches are longer.
7494 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
7495 unused code to support indirect jumps.
7496
4977bab6
ZW
74972002-12-11 Zack Weinberg <zack@codesourcery.com>
7498
7499 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
7500 $(tm_file_list).
7501
75022002-12-11 David Edelsohn <edelsohn@gnu.org>
7503
7504 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
7505
7506Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
7507
7508 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
7509
d6567b3a
JDA
75102002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
7511
7512 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
7513 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
7514 BIGGEST_ALIGNMENT.
7515 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
7516 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
7517
355bd14f
KH
75182002-12-11 Kazu Hirata <kazu@cs.umass.edu>
7519
7520 * doc/invoke.texi: Correct dump file names.
7521
9a3873b4
SE
75222002-12-09 Steve Ellcey <sje@cup.hp.com>
7523
7524 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
7525 name to globalize_label or assemble_name.
7526
9a4816af
R
7527Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
7528
7529 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
7530 if not TARGET_SHMEDIA.
7531
7532Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
7533
7534 * sh.h (REG_CLASS_HAS_FP_REG): New.
7535 (REGISTER_MOVE_COST) Use it. Put body into a function and
7536 move it into:
7537 * sh.c (sh_register_move_cost).
7538 * sh-protos.h (sh_register_move_cost): Declare.
7539
7540 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
7541 (sh_adjust_cost): Always return a value.
7542
70a72ca4
R
7543Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
7544
7545 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
7546 (REGISTER_MOVE_COST): Use it.
7547
5d5cd66f
RH
75482002-12-11 Richard Henderson <rth@redhat.com>
7549
7550 * tree.h (MODULE_LOCAL_P): Kill.
7551 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
7552
68d0a3d2
KH
75532002-12-11 Kazu Hirata <kazu@cs.umass.edu>
7554
7555 * config/h8300/h8300.md (two define_peephole2): New.
7556
722d59a3
KH
75572002-12-11 Kazu Hirata <kazu@cs.umass.edu>
7558
7559 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
7560 (CONST_OK_FOR_K): Likewise.
7561 (CONST_OK_FOR_M): Likewise.
7562 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
7563
b3a5a50c
NB
75642002-12-11 Neil Booth <neil@daikokuya.co.uk>
7565
7566 * c-common.c (builtin_define_type_max): Handle unsigned
7567 types too.
7568
4977bab6
ZW
75692002-12-10 David Edelsohn <edelsohn@gnu.org>
7570
7571 * haifa-sched.c (rank_for_schedule): Correct style.
7572
75732002-12-10 Per Bothner <pbothner@apple.com>
7574
7575 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
7576 directive_index into an unsigned field and a new is_directive field.
7577 * cppinit.c (mark_named_operators): Update to set new fields.
7578 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
7579 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
7580 No longer need to subtract 1 from directive_index.
7581 (_cpp_init_directives): No longer need to add 1 to directive_index.
7582 * cpptrad.c (scan_out_logical_line): Use is_directive field.
7583
75842002-12-10 Roger Sayle <roger@eyesopen.com>
7585
7586 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
7587 check for evaluating sqrt of a constant at compile time.
7588 * simplify-rtx.c (simplify_unary_operation): Likewise.
7589
40d81ee4
JJ
75902002-12-10 Janis Johnson <janis187@us.ibm.com>
7591
7592 PR other/8882
7593 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
7594
48aec0bc 75952002-12-10 Devang Patel <dpatel@appple.com>
40d81ee4 7596
48aec0bc
DP
7597 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
7598 * doc/invoke.texi: Add new "Darwin Options" section.
4977bab6 7599
0e9f8e82
JW
76002002-12-10 Jim Wilson <wilson@redhat.com>
7601
7602 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
7603 memory.
7604
3e25353e
AH
76052002-12-10 Andrew Haley <aph@redhat.com>
7606
7607 * cse.c (cse_insn): Don't cse past a basic block boundary.
7608
17772b2a
JJ
76092002-12-10 Jakub Jelinek <jakub@redhat.com>
7610
7611 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
7612 -shared.
7613 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
7614 * config/alpha/linux.h (LIB_SPEC): Likewise.
7615 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
7616 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
7617 * config/sparc/linux.h (LIB_SPEC): Likewise.
7618 * config/sparc/linux64.h (LIB_SPEC): Likewise.
7619
63358530
LH
76202002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
7621
7622 * doc/invoke.texi: Document UltraSparc III option.
7623
2e37b0ce
RH
76242002-12-09 Richard Henderson <rth@redhat.com>
7625
7626 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
7627 __tune_pentium2__ and __tune_pentium3__ as necessary.
7628
3a04ff64
RH
76292002-12-09 Richard Henderson <rth@redhat.com>
7630
7631 * target.h (gcc_target): Add cannot_force_const_mem.
7632 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
7633 (TARGET_INITIALIZER): Add it.
7634 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
7635 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
7636 * reload1.c (reload): Likewise.
7637 * hooks.c (hook_bool_rtx_false): New.
7638 * hooks.h: Declare it.
7639
7640 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
7641 (TARGET_CANNOT_FORCE_CONST_MEM): New.
7642 (ix86_expand_move): Remove de-const-pooling hack.
7643
a9a4005f
JH
7644Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
7645
7646 * toplev.c (dump_file): Fix order to match reality.
7647
7ef788f0
GK
76482002-12-08 Geoffrey Keating <geoffk@apple.com>
7649
7650 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
7651 (store_multiple): Likewise.
7652
3f320b7e
JDA
76532002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
7654
7655 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
7656 function pointers in page 0.
7657
3870df96
SE
76582002-12-09 Steve Ellcey <sje@cup.hp.com>
7659
7660 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
7661 definition
7662 (MEMBER_TYPE_FORCES_BLK): Move.
7663 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
7664 aggregate arguments.
7665 (ia64_function_value): Use PARALLEL to return aggregate values.
7666
9ac3e73b
SE
76672002-12-09 Steve Ellcey <sje@cup.hp.com>
7668
7669 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7670 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7671 * calls.c (store_unaligned_arguments_into_pseudos) Remove
7672 FUNCTION_ARG_REG_LITTLE_ENDIAN.
7673 * stmt.c (expand_return): Ditto.
7674 * expr.c (move_block_from_reg): Ditto.
7675 (copy_blkmode_from_reg): Ditto.
4977bab6 7676 * expmed.c (store_bit_field): Ditto.
9ac3e73b 7677
7f0db92a
SS
76782002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
7679
7680 * config.gcc: Added tic4x-* target as an alias to c4x-*
7681
37c66aa6
JH
7682Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
7683
7ef788f0
GK
7684 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
7685 constructing insn directly.
37c66aa6 7686
4977bab6
ZW
76872002-12-06 Per Bothner <pbothner@apple.com>
7688
7689 * cpplib.h (struct cpp_hashnode): Change field directive_index from
7690 char to an int bit-field, for hosts where char is unsigned.
7691
76922002-12-07 Roger Sayle <roger@eyesopen.com>
7693 Richard Henderson <rth@redhat.com>
7694
7695 * real.c (ieee_extended_motorola_format,
7696 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7697 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
7698 Provide appropriate values for new signbit field.
7699
77002002-12-07 Roger Sayle <roger@eyesopen.com>
7701
7702 * real.h (real_format): Add signbit field.
7703 * real.c (ieee_single_format, ieee_double_format,
7704 ieee_extended_motorola_format, ieee_extended_intel_96_format,
7705 ieee_extended_intel_128_format, ibm_extended_format,
7706 ieee_quad_format, vax_f_format, vax_d_format,
7707 vax_g_format, i370_single_format, i370_double_format,
7708 c4x_single_format, c4x_extended_format, real_internal_format):
7709 Provide suitable signbit value, or -1 to avoid bit twiddling.
7710
7711 * optabs.c (expand_unop): Try implementing negation of
7712 floating point modes by flipping the sign bit.
7713 (expand_abs): Try implementing abs of floating point modes
7714 by clearing the sign bit.
7715
7716Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
7717
7718 * i386.c (ix86_expand_int_movcc): Use force_operand instead
7719 of constructing insn directly.
7720
2a598b3a
KH
77212002-12-07 Kazu Hirata <kazu@cs.umass.edu>
7722
7723 * config/h8300/h8300.md (*iorhi_shift_8): New.
7724
70899148
BS
77252002-12-06 Bernd Schmidt <bernds@redhat.com>
7726
7727 * doc/invoke.texi: Document FRV port options.
7728 * doc/md.texi: Document FRV register classes.
7729
377dfc82
GP
77302002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7731
7732 * doc/install.texi (Configuration): Improve description of cases
7733 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
7734
4977bab6
ZW
77352002-12-06 Per Bothner <pbothner@apple.com>
7736
7737 * cpplib.h (NODE_MACRO_ARG): New flag.
7738 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
7739 Remove value.operator field. Move arg_index field to value union.
7740 (directive_index): Make signed, since also used for C++ operators.
7741 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
7742 check for duplicate parameter. Set NODE_MACRO_ARG flag.
7743 Save node->value, and set node->value.arg_index.
7744 (_cpp_create_definition): For each paramater, restore node->value.
7745 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
7746 * cpptrad.c (scan_out_logical_line): Likewise.
7747 (scan_out_logical_line): Check for directive > 0.
7748 * cpplib.c (cpp_handle_directive): Likewise.
7749 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
7750 by negative of directive_index.
7751 * cppinit.c (mark_named_operators): Likewise.
7752
7753 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
7754
7144b2d8
DD
77552002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
7756
7757 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
7758 FPU.
7759 (push): Generate push_fpscr.
7760 (pop): Generate pop_fpscr.
7761 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
7762 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
7763
aa06e8f5
R
7764Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
7765
7766 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
7767 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
7768
0113c3c0
R
7769Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
7770
7771 * sh.md (movdi_i): Name. Remove inappropriate comment.
7772
8d6b008d
R
7773Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
7774 Merged from basic improvements branch (excerpt):
7775
7776 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
7777 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7778
61f6c84f
JJ
77792002-12-06 Jakub Jelinek <jakub@redhat.com>
7780
7781 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
7782
4977bab6
ZW
7783Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
7784
7785 * i386.md (dimode peep2s): Re-add "&& 1".
7786
7787Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
7788
7789 * i386.c (ix86_expand_prologue): Add comment, do not use
7790 fast prologues for cold and normal functions.
7791
7792Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
7793
7794 * i386.c (x86_rep_movl_optimal): New variable.
7795 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
7796 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
7797
7798 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7799 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7800 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7801 generate unnecesary subregs.
7802
bf97847b
JDA
78032002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7804
7805 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
7806 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
7807
1fcfaf37
DJ
78082002-12-05 Dale Johannesen <dalej@apple.com>
7809
7810 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
7811
1a823ac1
DS
78122002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
7813
7814 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
7815 PROFILE_HOOK.
7816 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
7817
747db477
AH
78182002-12-05 Aldy Hernandez <aldyh@redhat.com>
7819
7820 * config/rs6000/spe.h (__ev_mwlufi): Remove.
7821 (__ev_mwlufia): Remove.
7822 (__ev_mwlumfaaw): Remove.
7823 (__ev_mwlusfaaw): Remove.
7824 (__ev_mwlumfanw): Remove.
7825 (__ev_mwlusfanw): Remove.
7826
94f09825
KH
78272002-12-05 Kazu Hirata <kazu@cs.umass.edu>
7828
7829 * config/h8300/h8300.md (*andorsi3_shift_8): New.
7830
1e5bdc40
KH
78312002-12-05 Kazu Hirata <kazu@cs.umass.edu>
7832
7833 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
7834 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
7835 (get_shift_alg): Return optimal assembly instructions for the
7836 shifts mentioned above.
7837
4977bab6
ZW
7838Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
7839
7840 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
7841 condtiional moves.
7842
b6fd51f6
KH
78432002-12-04 Kazu Hirata <kazu@cs.umass.edu>
7844
7845 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
7846 implement ashiftrt:HI by 13 bits on H8S.
7847
9e1ab8c1
JDA
78482002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
7849
7850 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
7851 * pa.md (canonicalize_funcptr_for_compare): Output library call to
7852 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
7853 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
7854 CTOR_LIST_BEGIN): New defines.
7855 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
7856 (fptr.c): Add make rules.
7857
16823694
GK
78582002-12-04 Geoffrey Keating <geoffk@apple.com>
7859
7860 * combine.c (combine_simplify_rtx): Add new canonicalizations.
7861 * doc/md.texi (Insn Canonicalizations): Document new
7862 canonicalizations for multiply/add combinations.
7863 * config/rs6000/rs6000.md: Add and modify floating add/multiply
7864 patterns to ensure they're used whenever they can be.
7865
5ec0b66e
KH
78662002-12-04 Kazu Hirata <kazu@cs.umass.edu>
7867
7868 * config/h8300/h8300.c: Update the comments related to shifts.
7869
7fa9ed65
CD
78702002-12-04 Chris Demetriou <cgd@broadcom.com>
7871
7872 * config/mips/mips.md (get_fnaddr): Correct length attribute.
7873
6bd6fd35
KH
78742002-12-04 Kazu Hirata <kazu@cs.umass.edu>
7875
7876 * config/h8300/h8300.md (*extzv_8_8): New.
7877 (*extzv_8_16): Likewise.
7878
c246c65d
JM
78792002-12-04 Jason Merrill <jason@redhat.com>
7880
7881 PR c++/8461, c++/8625
7882 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
7883 references.
7884 * tree-inline.c (initialize_inlined_parameters): Likewise.
7885
7886 * tree.c (variably_modified_type_p): Just return an error_mark_node.
7887
ae598ab9
CD
78882002-12-04 Chris Demetriou <cgd@broadcom.com>
7889
7890 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
7891 macro instruction in a branch delay slot, to avoid assembler
7892 warnings.
7893
a9b6f1e7
EB
78942002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
7895
7896 PR c/7622
7897 * c-semantics (genrtl_scope_stmt): Do not output inlined
7898 nested functions that contain no code.
7899
a3716585
JH
7900Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
7901
7902 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
7903 to be forced into nonfallthru.
7904
44924a36
JT
79052002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
7906
7907 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
7908
3678a93e
AH
79092002-12-03 Aldy Hernandez <aldyh@redhat.com>
7910
4977bab6 7911 * config/rs6000/spe.md (*movv1di_const0): New pattern.
3678a93e 7912
6e1be6b1
RH
79132002-12-03 Richard Henderson <rth@redhat.com>
7914
7915 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
7916
c47eb51b
HPN
79172002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
7918
7919 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
7920 Initialize tmp.using_obstack to 0.
7921
2cff4a6e
AS
79222002-12-03 Andreas Schwab <schwab@suse.de>
7923
7924 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
7925 (EH_RETURN_STACKADJ_RTX): Define.
7926 (EH_RETURN_HANDLER_RTX): Define.
7927 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7928 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
7929 registers and don't save fixed registers.
7930 (m68k_output_function_prologue): Use it.
7931 (use_return_insn): Likewise.
7932 (m68k_output_function_epilogue): Likewise.
7933
491a9777
KH
79342002-12-03 Kazu Hirata <kazu@cs.umass.edu>
7935
7936 * config/h8300/h8300.c (single_one_operand): Fix a warning.
7937 (single_zero_operand): Likewise.
7938
4977bab6
ZW
79392002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
7940
7941 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
7942 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
7943 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
7944 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
7945 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
7946 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
7947 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
7948 doc/install-old.texi: Replace hconfig.h with bconfig.h.
7949 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
7950
79512002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
7952
7953 * config/rs6000/rs6000.md (ffssi): Convert to expander.
7954 (ffsdi): Likewise.
7955 (cntlzw2, cntlzd2): New patterns.
7956
79572002-12-02 H.J. Lu <hjl@gnu.org>
7958
7959 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
7960 (mips*-*-linux*): Remove mips/t-linux.
7961
7962Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
7963
7964 * i386.c (ix86_expand_int_movcc): Avoid overflow.
7965
e8a68017
KH
79662002-12-02 Kazu Hirata <kazu@cs.umass.edu>
7967
7968 * config/h8300/h8300.c (dosize): Replace argument op with
7969 sign.
7970 (h8300_output_function_prologue): Update the call to dosize.
7971 (h8300_output_function_epilogue): Likewise.
7972
834572b8
BW
79732002-12-02 Bob Wilson <bob.wilson@acm.org>
7974
7975 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
7976
79772002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
9118405f
CR
7978
7979 * configure.in: Use "missing" script to generate warning if
7980 flex or bison programs not found, instead of invoking "false".
7981 * configure: Rebuilt.
7982
4ff38cd5
JH
7983Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
7984
7985 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
7986
adc72fa6
JH
7987Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
7988
7989 * i386.c (ix86_expand_int_movcc): Avoid overflow.
7990
513f31eb
KH
79912002-12-02 Kazu Hirata <kazu@cs.umass.edu>
7992
7993 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
7994 (push): Likewise.
7995 (pop): Likewise.
7996 (h8300_output_function_prologue): Likewise.
7997 (h8300_output_function_epilogue): Likewise.
7998
7ffc9761
R
7999Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
8000
8001 * expmed.c (store_bit_field): Use int_mode_for_mode to find
8002 corresponding mode of non-integer mode, unless it is VOIDmode.
8003
0a2a0a58
KH
80042002-12-02 Kazu Hirata <kazu@cs.umass.edu>
8005
8006 * config/h8300/h8300.md (stm_h8300s_2): New.
8007 (stm_h8300s_3): Likewise.
8008 (stm_h8300s_4): Likewise.
8009 (five define_peephole2): Likewise.
8010
28432d9f
KH
80112002-12-02 Kazu Hirata <kazu@cs.umass.edu>
8012
8013 * ra-build.c: Fix a comment typo.
8014
4977bab6
ZW
8015Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
8016
8017 * i386.c (ix86_expand_int_movcc): fix
8018 reversed BRANCH_COST test; be curefull about infinite recursion.
8019
e651d484
KH
80202002-12-01 Kazu Hirata <kazu@cs.umass.edu>
8021
8022 * config/h8300/h8300.c (h8300_output_function_prologue):
8023 Remove variable idx.
8024 (h8300_output_function_epilogue): Likewise.
8025
558bb2c4
ZW
80262002-12-01 Zack Weinberg <zack@codesourcery.com>
8027
8028 * config/frv/xm-frv.h: Delete, unnecessary.
8029
96cc06af
KH
80302002-12-01 Kazu Hirata <kazu@cs.umass.edu>
8031
8032 * config/h8300/h8300.md: Add comments for define_peephole2.
8033
c9f8536c
MM
80342002-12-01 Mark Mitchell <mark@codesourcery.com>
8035
8036 * builtin-types.def (BT_SIZE): Use size_type_node.
8037 * builtins.c (fold_builtin): Make the builtin strlen returns a
8038 size_t, not a sizetype.
8039 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
8040 c_size_type_node.
8041 (c_alignof_expr): Likewise.
8042 (c_common_nodes_and_builtins): Likewise.
8043 * c-common.h (CTI_C_SIZE_TYPE): Remove.
8044 (c_size_type_node): Likewise.
8045 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
8046 * tree.h (TI_SIZE_TYPE): New enumeral.
8047 (size_type_node): Likewise.
4977bab6
ZW
8048
80492002-11-30 Zack Weinberg <zack@codesourcery.com>
8050
8051 * configure.in: Don't put ${tm_file} into host_xm_file,
8052 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
8053 Take location of tm-preds.h into account when calculating
8054 tm_p_file_list.
8055 * configure: Regenerate.
8056 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
8057 arguments. Do not provide rtx, rtvec, tree, or GTY here.
8058 Remove special case code for tm_p.h and *config.h; add new
8059 special case code for tm.h and tconfig.h. Clean up a bit.
8060
8061 * Makefile.in (tm_file, tm_file_list): New variables set from
8062 @-substitutions.
8063 (GCONFIG_H): Deleted.
8064 (GTM_H, TM_H): New.
8065 (CONFIG_H): Is now just config.h $(host_xm_file_list).
8066 (TM_P_H): Move up with the other mkconfig.sh-generated
8067 headers; don't mention tm-preds.h explicitly.
8068 (tm.h, cs-tm.h): New rule.
8069 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
8070 invocations of mkconfig.sh for changes to that program.
8071 (mostlyclean): Delete print-rtl1.c.
8072 (clean): Delete tm.h.
8073 Update dependencies for the files listed below.
8074
8075 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
8076
8077 * coretypes.h: New file.
8078 * system.h: #define malloc to xmalloc and realloc to xrealloc
8079 when FLEX_SCANNER or YYBISON is defined, independent of the
8080 value of GCC_VERSION.
8081 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
8082 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
8083 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
8084 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
8085 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
8086 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
8087 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
8088 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
8089 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
8090 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
8091 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
8092 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
8093 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
8094 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
8095 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
8096 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
8097 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
8098 genconstants.c, genemit.c, genextract.c, genflags.c,
8099 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
8100 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
8101 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
8102 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
8103 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
8104 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
8105 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
8106 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
8107 print-tree.c, profile.c, protoize.c, ra-build.c,
8108 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
8109 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
8110 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
8111 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
8112 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
8113 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
8114 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
8115 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
8116 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
8117 xcoffout.c, config/darwin-c.c, config/darwin.c,
8118 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
8119 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
8120 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
8121 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
8122 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
8123 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
8124 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
8125 config/i960/i960-c.c, config/i960/i960.c,
8126 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
8127 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
8128 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
8129 config/mips/irix6-libc-compat.c, config/mips/mips.c,
8130 config/mmix/mmix.c, config/mn10200/mn10200.c,
8131 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
8132 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
8133 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
8134 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
8135 config/sparc/sparc.c, config/stormy16/stormy16.c,
8136 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
8137 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
8138 Include coretypes.h and tm.h.
8139
8140 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
8141 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
8142 genrecog.c: Include coretypes.h and tm.h from the file
8143 generated by this program.
8144
8145 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
8146 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
8147 coretypes.h and tm.h, and tsystem.h when not already included.
8148 No need to include stddef.h nor stdlib.h.
8149
8150 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
8151 include auto-host.h or ansidecl.h/
8152 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
8153 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
8154 include auto-host.h, ansidecl.h, or system.h.
8155 * fixinc/server.c: Likewise. Also, do not include signal.h,
8156 and do not redefine volatile.
8157
8158Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
8159
8160 * i386.md (movdf_integer): Always enable in 64bit.
8161 (movdf_nointeger): Always disable in 64bit.
8162
f6318a2b
JDA
81632002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
8164
8165 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
8166 pseudo register number plus 1.
8167
4977bab6
ZW
8168Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
8169
8170 * expmed.c (store_bit_field): Use int_mode_for_mode to find
8171 corresponding mode of non-integer mode, unless it is VOIDmode.
8172
2402645b
HPN
81732002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
8174
8175 * cpplib.c (_cpp_test_assertion): Default *value to 0.
8176
8177 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
8178
8ef34c0d
UW
81792002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
8180
8181 * config/s390/t-crtstuff: New target makefile fragment.
8182 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
8183
b8bbda91
KH
81842002-11-29 Kazu Hirata <kazu@cs.umass.edu>
8185
8186 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
8187 alternatives to correct the length when the memory operand is
8188 either pre_dec or post_inc.
8189
d23dff51
KH
81902002-11-29 Kazu Hirata <kazu@cs.umass.edu>
8191
8192 * config/h8300/h8300.md (an anonymous pattern): Give an
8193 internal name *tst_extzv_bitqi_1_n.
8194 Accept bit_operand instead of bit_memory_operand.
8195 Do not accept bit tests with the MSB.
8196 (*tst_extzv_memqi_1_n): New.
8197
4977bab6
ZW
8198Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
8199
8200 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
8201 sharing when operand is SUBREG.
8202
8203Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
8204
8205 * athlon.md (athlon-decodev): New reservation unit.
8206 (athlon-direct0): New reservation.
8207 (athlon-vector): New use athlon-decodev.
8208 (athlon-double, athlon-direct): Better model.
8209 (athlon_imul_k8): Use athlon-direct0.
8210 (athlon_movlpd_load): New insn reservation.
8211
3f7211f1
KH
82122002-11-28 Kazu Hirata <kazu@cs.umass.edu>
8213
8214 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8215 Fix a comment typo.
8216 (h8300_tiny_constant_address_p): Likewise.
8217
fcb204ce
MM
82182002-11-28 Michael Matz <matz@suse.de>
8219
8220 * doc/passes.texi: Mention the other register allocator.
8221
7957fde4
KH
82222002-11-28 Kazu Hirata <kazu@cs.umass.edu>
8223
8224 * config/h8300/h8300.md (6 new peephole2 patterns): New.
8225
17c04c5e
JJ
82262002-11-28 Jakub Jelinek <jakub@redhat.com>
8227
8228 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
8229 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
8230 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
8231
73cc75e9
KH
82322002-11-28 Kazu Hirata <kazu@cs.umass.edu>
8233
8234 * config/h8300/h8300.c (h8300_and_costs): New.
8235 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
8236 * config/h8300/h8300-protos.h: Add a prototype for
8237 h8300_and_costs.
8238
4977bab6
ZW
8239Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
8240
8241 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
8242 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
8243 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
8244 * i386.md (truncdfsf patterns and splitters): Use
8245 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
8246
0dbc3651
ZW
82472002-11-27 Zack Weinberg <zack@codesourcery.com>
8248
8249 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
8250 pointer argument in the prototypes of the following builtins
8251 be (const TYPE *) rather than (TYPE *):
8252 + __builtin_altivec_ld_internal_4sf
8253 + __builtin_altivec_ld_internal_4si
8254 + __builtin_altivec_ld_internal_8hi
8255 + __builtin_altivec_ld_internal_16qi
8256 + __builtin_altivec_lvsl
8257 + __builtin_altivec_lvsr
8258 + __builtin_altivec_lvebx
8259 + __builtin_altivec_lvehx
8260 + __builtin_altivec_lvewx
8261 + __builtin_altivec_lvxl
8262 + __builtin_altivec_lvx
8263 + __builtin_altivec_dst
8264 + __builtin_altivec_dstt
8265 + __builtin_altivec_dstst
8266 + __builtin_altivec_dststt
8267
fe3f9515
KG
82682002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8269
8270 * except.c (default_exception_section): Move variable into the
8271 scope where it is used.
8272
4e85eada
KW
82732002-11-27 Krister Walfridsson <cato@df.lth.se>
8274
8275 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
8276 correct version.
8277
f248423a
KH
82782002-11-27 Kazu Hirata <kazu@cs.umass.edu>
8279
8280 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
8281
ae557002
KH
82822002-11-27 Kazu Hirata <kazu@cs.umass.edu>
8283
8284 * config/h8300/h8300.c (h8300_shift_costs): New.
8285 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
8286 * config/h8300/h8300-protos.h: Add a prototype for
8287 h8300_shift_costs.
8288
c9b93e1a
JW
82892002-11-27 Jim Wilson <wilson@redhat.com>
8290
0dbc3651
ZW
8291 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
8292 in output template.
c9b93e1a 8293
249e6b63
CH
82942002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
8295
8296 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
8297 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
8298 DLL_IMPORT_EXPORT_PREFIX, not '@'.
8299 (i386_pe_dllimport_name_p): Likewise.
8300 (i386_pe_mark_dllexport): Likewise.
8301 (i386_pe_mark_dllimport): Likewise.
8302 (i386_pe_encode_section_info): Likewise.
8303 (i386_pe_strip_name_encoding): Likewise.
8304
5a5c00af
RH
83052002-11-27 Richard Henderson <rth@redhat.com>
8306
8307 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
8308 (nm && NF == 3): Set sawsymbol true.
8309 (END): Exit if no symbols seen.
8310 (output): Fix map syntax error if no globals for the version.
8311
1dc46545
JH
8312Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
8313
8314 * builtins.def (DEF_C99_BUILTIN): Fix.
8315
4977bab6
ZW
83162002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
8317
8318 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
8319 (all): Add .size and .type information.
8320
8321Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
8322
8323 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
8324 partial_reg_stall target.
8325
8326Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
8327
8328 * i386.md (movhicc): Allow general operand.
8329 (movqicc): New expander.
8330 (movqicc_noc): New pattern.
8331 * i386.c (ix86_expand_carry_flag_compare): New function.
8332 (ix86_expand_int_movcc): Optimize harder using sbb; support more
8333 HImode conversion; support QImode conditional moves
8334
8335Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
8336
8337 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
8338 (ix86_expand_prologue): Multiply the count by amount of registers to be
8339 pushed.
8340
8341Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
8342
8343 * i386.c (override_options): Error about wrong -mcpu on x86-64
8344 compilation.
8345
83462002-11-26 NIIBE Yutaka <gniibe@m17n.org>
8347
8348 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
8349
8350Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
8351
8352 * i386-protos.h (x86_extended_QIreg_mentioned_p,
8353 x86_extended_reg_mentioned_p): Declare.
8354 * i386.c (extended_reg_mentioned_1): New static function.
8355 (x86_extended_QIreg_mentioned_p,
8356 x86_extended_reg_mentioned_p): New global functions.
8357 * i386.h (REX_SSE_REGNO_P): New macro.
8358 * i386.md (prefix_rex): New attribute.
8359 (length attribute): Add rex.
8360
5154b05d
AH
83612002-11-26 Andrew Haley <aph@redhat.com>
8362
8363 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
8364 from_Unwind_Find_Enclosing_Function.
8365 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
8366 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
8367 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
8368 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
8369 * unwind.h (_Unwind_FindEnclosingFunction): Add.
0dbc3651 8370
0f942cae
HP
83712002-11-26 Hartmut Penner <hpenner@de.ibm.com>
8372
0dbc3651
ZW
8373 * config/s390/s390.c (390_output_constant_pool): Set alignment
8374 before label in 64 bit mode, behind otherwise.
0f942cae 8375
25fdb4dc
RH
83762002-11-26 Richard Henderson <rth@redhat.com>
8377
8378 * c-common.c (handle_visibility_attribute): Accept "default".
8379 * tree.h (enum symbol_visibility): New.
8380 (decl_visibility): Declare.
8381 * target.h (gcc_target.visibility): Take visibility arg as integer.
8382 * varasm.c (default_assemble_visibility): Likewise.
8383 (decl_visibility): New.
8384 (maybe_assemble_visibility): Use it.
8385 * output.h (default_assemble_visibility): Update prototype.
8386 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
8387 visibility arg as integer.
d5c4db17 8388 * doc/extend.texi: Document default visibility.
25fdb4dc 8389
920e86b8
KH
83902002-11-26 Kazu Hirata <kazu@cs.umass.edu>
8391
8392 * config/h8300/h8300.c: Adjust spacing.
8393 * config/h8300/h8300.h: Likewise.
8394
7b1bd3c5
RH
83952002-11-26 Richard Henderson <rth@redhat.com>
8396
8397 * hooks.c (hook_bool_void_false, hook_void_tree_int,
8398 hook_void_FILEptr_constcharptr): Rename so that the return
8399 type is first.
8400 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
8401 hook_bool_tree_false): New.
8402 * hooks.h: Update.
8403 * langhooks-def.h: Update for renames.
8404 * target-def.h: Likewise.
8405 * tree.c (default_comp_type_attributes,
0dbc3651 8406 default_set_default_type_attributes, default_insert_attributes,
7b1bd3c5
RH
8407 default_function_attribute_inlinable_p,
8408 default_ms_bitfield_layout_p): Remove.
8409 * tree.h: Update.
8410
44571d6e
JDA
84112002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
8412
8413 * pa-protos.h (function_value): New prototype.
8414 * pa.c (function_value): Use a PARALLEL to return small aggregates on
8415 TARGET_64BIT.
8416 * pa.h (FUNCTION_VALUE): Use function_value.
8417 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
8418 call_value_internal_reg, sibcall_value_internal_symref,
8419 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
8420 value.
8421
084a1106
JDA
84222002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
8423
8424 * expr.c (gen_group_rtx, emit_group_move): New functions.
8425 * expr.h (gen_group_rtx, emit_group_move): Prototype.
8426 * function.c (expand_function_start): Use gen_group_rtx to create a
8427 PARALLEL rtx to hold the return value when the real return rtx is a
8428 PARALLEL.
8429 (expand_function_end): Use emit_group_move to move the return value
8430 from a PARALLEL to the real return registers.
8431 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
8432 in PARALLELs.
8433
5d2fe493
JT
84342002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
8435
8436 * config/t-libc-ok: Fix typo.
8437
13c22933
JJ
84382002-11-26 Jakub Jelinek <jakub@redhat.com>
8439
8440 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
8441 before AC_PROG_CC.
8442 * configure: Rebuilt.
8443
5326cd3d
NS
84442002-11-26 Nathan Sidwell <nathan@codesourcery.com>
8445
8446 * c-decl.c: (start_struct): Commonize flag setting.
8447
647d340d
JT
84482002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
8449
8450 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
8451 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
0dbc3651 8452 RS6000_CPU_CPP_ENDIAN_BUILTINS.
647d340d
JT
8453 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
8454
29742ba4
HP
84552002-11-26 Hartmut Penner <hpenner@de.ibm.com>
8456
8457 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
8458 insns.
8459 * config/s390/s390.c (struct machine_function): Introduction of
8460 struct machine_function.
0412a4d4
HP
8461 (s390_output_symbolic_const): Use of cfun.
8462 (s390_optimize_prolog): Likewise.
8463 (s390_fixup_clobbered_return_reg): Likewise.
8464 (s390_frame_info): Likewise.
8465 (s390_emit_prologue, s390_emit_epilogue): Likewise.
8466 (s390_init_machine_status): New function.
8467 (override_options): call s390_init_machine_status.
0dbc3651 8468 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
29742ba4 8469 prototype.
0dbc3651 8470
f4111593
JJ
84712002-11-26 Jakub Jelinek <jakub@redhat.com>
8472
8473 * varasm.c (output_constant_pool): For pool constants in mergeable
8474 section ensure each constant is padded to multiple of entity size.
8475
96d0f4dc
JJ
84762002-11-26 Jakub Jelinek <jakub@redhat.com>
8477
8478 * varasm.c (default_exception_section): Move to...
8479 * except.c (default_exception_section): ... here. Make
8480 .gcc_except_table read-only if it is not expected to have any
8481 dynamic relocations and linker handles it.
8482 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
8483 if it is not expected to have any dynamic relocations and linker
8484 handles it.
8485 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
8486 when linking read-only and read-write sections together.
8487 * configure, config.in: Rebuilt.
8488 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
8489 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
8490
4977bab6
ZW
8491Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
8492
8493 * i386.md (pushsf_rex64): Fix typo.
8494
020a7b12
AH
84952002-11-25 Aldy Hernandez <aldyh@redhat.com>
8496
249e6b63
CH
8497 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
8498 new function.
8499 (__ev_create_ufix32_fs): Same.
8500 (__ev_get_sfix32_fs_internal): New.
8501 (__ev_get_sfix32_fs): Define to use function.
8502 (__ev_get_ufix32_fs_internal): New.
8503 (__ev_get_ufix32_fs): Define to use function.
8504 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
8505 (__ev_get_lower_ufix32_fs): Same.
8506 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
8507 (__ev_get_lower_sfix32_fs): Same.
8508 (__ev_set_sfix32_fs_internal): New.
8509 (__ev_set_ufix32_fs_internal): New.
8510 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
8511 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
8512 (__ev_set_upper_sfix32_fs): Call function.
8513 (__ev_set_lower_sfix32_fs): Same.
8514 (__ev_set_upper_ufix32_fs): Same.
8515 (__ev_set_lower_ufix32_fs): Same.
020a7b12 8516
d2dff06b
DR
85172002-11-25 Douglas B Rupp <rupp@gnat.com>
8518
8519 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
8520
32f0ffb3
JT
85212002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
8522
8523 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
8524 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8525 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8526 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
8527 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
8528 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8529 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
8530 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
8531 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8532 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8533 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
8534 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
8535 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
8536 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8537 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
8538 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
8539 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
8540 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
8541 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
8542 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
8543 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8544 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
8545 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
8546 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
8547 defining.
8548 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
8549 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
8550
160f9a4c
DP
85512002-11-25 Dave Pitts <dpitts@cozx.com>
8552
8553 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
8554
3c0f5389
KH
85552002-11-25 Kazu Hirata <kazu@cs.umass.edu>
8556
8557 * config/h8300/h8300.md (an anonymous pattern): New.
8558
83bbd9b6
RH
85592002-11-25 Richard Henderson <rth@redhat.com>
8560
8561 * alias.c (find_base_value): Use new_reg_base_value if it's live.
8562 (copying_arguments): Make boolean.
8563
7c64a860
JT
85642002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
8565
8566 * gcc.c (static_spec_functions): Add if-exists-else spec
8567 function.
8568 (if_exists_else_spec_function): New function.
8569 * doc/invoke.texi: Document the if-exists-else spec function.
8570
8571 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
8572 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
8573
a4967b8d
JT
85742002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
8575
8576 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
8577 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
8578 "${tmake_file} rs6000/t-netbsd".
8579 * config/rs6000/netbsd.h: Rewrite.
8580 * config/rs6000/t-netbsd: New file.
8581
a91dce31
KH
85822002-11-25 Kazu Hirata <kazu@cs.umass.edu>
8583
8584 * config/h8300/h8300.md (an anonymous pattern): Relax the
8585 condition for the pattern.
8586
fe29a4ea
AH
85872002-11-25 Aldy Hernandez <aldyh@redhat.com>
8588
8589 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
8590 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
8591 evmwlssfanw, evmwlsmfanw.
8592
8593 * config/rs6000/rs6000.c (bdesc_2arg): Same.
8594
8595 * config/rs6000/spe.md: Same for patterns.
8596
b77f3744
CE
85972002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
8598
8599 PR c/8639
8600 * fold-const.c (extract_muldiv): Don't propagate division unless
8601 both arguments are multiples of C.
8602
5dafd282
AH
86032002-11-25 Andrew Haley <aph@redhat.com>
8604
249e6b63
CH
8605 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
8606 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
8607 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
8608 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5dafd282 8609
4977bab6
ZW
8610Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
8611
8612 * i386.c (x86_use_ffreep): New global variable.
8613 * i386.h (x86_use_frfeep): Declare
8614 (TARGET_USE_FFREEP): New macro
8615 * i386.md (movs?f*): Use freep when asked for.
8616 (push?f): Remove dead code.
8617
92d4b8a0
KH
86182002-11-24 Kazu Hirata <kazu@cs.umass.edu>
8619
8620 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
8621 target help message.
8622
1169f9e0
JT
86232002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
8624
8625 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
8626 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
8627 crtbeginT.o".
8628 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
8629 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
8630 to "" for a.out configurations.
8631 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
8632
adde288a
JT
86332002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
8634
8635 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
0dbc3651 8636 NETBSD_CPP_SPEC directly.
adde288a
JT
8637 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
8638 netbsd_endfile_spec.
8639 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
8640
1ebe8c03
JT
86412002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
8642
8643 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
8644 NETBSD_STARTFILE_SPEC.
8645 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
8646 (ENDFILE_SPEC): Likewise.
8647 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
8648
bdabc150
AS
86492002-11-24 Andreas Schwab <schwab@suse.de>
8650
523cb499
AS
8651 * Makefile.in (install-driver): Remove versioned link before
8652 trying to create it.
8653
bdabc150
AS
8654 * config/m68k/m68k.c: Fix typo in last change defining
8655 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
8656
4977bab6
ZW
86572002-11-23 H.J. Lu <hjl@gnu.org>
8658
8659 * aclocal.m4: Include ../config/accross.m4.
8660 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
8661 (gcc_AC_C_COMPILE_ENDIAN): Removed.
8662 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
8663 instead of $ac_cv_c_compile_endian.
8664
8665 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
8666 AC_COMPILE_CHECK_SIZEOF.
8667 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
8668 * configure: Rebuild.
8669
56b8e164
KH
86702002-11-23 Kazu Hirata <kazu@cs.umass.edu>
8671
8672 * config/h8300/h8300.c (print_operand): Update the use of
8673 h8300_tiny_constant_address_p.
8674 (h8300_adjust_insn_length): Likewise.
8675 (h8300_tiny_constant_address_p): Check if the given rtx is a
8676 variable declared with __attribute__ ((tiny_data)).
8677
2bb74773
DJ
86782002-11-22 Dale Johannesen <dalej@apple.com>
8679
249e6b63 8680 * toplev.c (rest_of_compilation): Fix comments.
2bb74773 8681
199cbacc
GK
86822002-11-22 Geoffrey Keating <geoffk@apple.com>
8683
8684 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
8685 allow mmap from /dev/zero. Don't make decisions for the host
8686 based on presence or absence of /dev/zero on the build machine.
8687 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
8688 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
8689 * configure: Regenerate.
8690
42766f8d
DJ
86912002-11-22 Daniel Jacobowitz <drow@mvista.com>
8692
8693 * gcc.c (make_relative_prefix, split_directories)
8694 (free_split_directories): Removed.
8695
80486e06
DJ
86962002-11-22 Daniel Jacobowitz <drow@mvista.com>
8697
8698 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
8699 * configure: Regenerated.
8700
41c3eb5d
KH
87012002-11-22 Kazu Hirata <kazu@cs.umass.edu>
8702
8703 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
8704 length computation when xor.l is output.
8705
4977bab6
ZW
87062002-11-21 Douglas B Rupp <rupp@gnat.com>
8707
8708 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
8709 (call_vms_1, call_value_vms_1): Cleanup syntax.
8710
8711Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
8712
8713 * athlon.md (define_atuomaton): Add athlon_load.
8714 (athlon-double): New reservation.
8715 (athlon-ieu0): New CPU unit.
8716 (athlon-load?): Use athlon_load automaton.
8717 (*_k8 reservations): New.
8718 (other insn revervations): Activate for K8.
8719
8720Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
8721
8722 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
8723
57de2c8f
JW
87242002-11-21 Jim Wilson <wilson@redhat.com>
8725
8726 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
8727 vectors to SI.
8728
58db834b
BW
87292002-11-21 Bob Wilson <bob.wilson@acm.org>
8730
8731 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
8732 * config/xtensa/xtensa.c (struct machine_function): Add
8733 incoming_a7_copied flag.
8734 (xtensa_copy_incoming_a7): Define.
8735 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
8736 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
8737
c05dbe81
JH
8738Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
8739
8740 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
8741 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
0dbc3651 8742 x86_64_nonmemory_operand, x86_64_movabs_operand,
c05dbe81
JH
8743 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8744 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
8745 (local_symbolic_operand): Do not care the 64bit limits.
8746 (x86_64_sign_extended_value): Remove allow_rip support.
8747 (legitimate_pic_address_disp_p): Handle all cases allowed
8748 with RIP addressing.
8749 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
8750 (legitimize_pic_address): Reorganize.
8751 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
8752
ff3afb56
JT
87532002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
8754
8755 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
8756 * config/arm/netbsd-elf.h: New file.
8757
57c21a42
JT
87582002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
8759
8760 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
8761 subtarget_asm_float_spec.
8762 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
8763 defaults from...
8764 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
8765
3d5ee65b
NC
87662002-11-21 Nick Clifton <nickc@redhat.com>
8767
8768 * config/fr30/fr30.md (movsf_constant_store): Move code to
8769 detect 0.0 into fr30.c.
8770 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
8771 Prototype.
8772 * config/fr30/fr30.c (fr30_const_double_is_zero): New
8773 function. Return true if the rtx is 0.0.
8774
4d938a09
JT
87752002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
8776
8777 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
8778 if -mlittle-endian is specified.
8779
1dda7ee4
RE
87802002-11-21 Richard Earnshaw <rearnsha@arm.com>
8781
8782 PR optimization/2903
8783 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
8784 (anddi_notsesidi_di): Likewise.
8785
7c143ed2
KH
87862002-11-21 Kazu Hirata <kazu@cs.umass.edu>
8787
8788 * config/h8300/h8300.c (print_operand): Use
8789 h8300_eightbit_constant_address_p and
8790 h8300_tiny_constant_address_p.
8791 (h8300_adjust_insn_length): Likewise.
8792 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
8793 (TINY_CONSTANT_ADDRESS_P): Likewise.
8794 (OK_FOR_U): Use eightbit_constant_address_p.
8795
b5798b2a
UW
87962002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
8797
8798 * config/s390/libgcc-libc.ver: Add multilib support.
8799 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
0dbc3651
ZW
8800 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
8801 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
b5798b2a
UW
8802 EXTRA_MULTILIB_PARTS): Define.
8803
c231c91e
RE
88042002-11-21 Richard Earnshaw <rearnsha@arm.com>
8805
8806 * arm.c (arm_get_frame_size): A leaf function does not need its
8807 stack padding to an aligned boundary if it has no frame.
8808 (thumb_get_frame_size): Likewise.
8809
4977bab6
ZW
8810Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
8811
8812 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
8813 (override_options): Likewise.
8814
8815Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
8816
8817 * config.gcc: Add k8 target alias support
8818 * i386.c (_cost): Declare costs for various variants of divides and
8819 multiplies.
8820 (k8_cost): New.
8821 (m_K8, m_ATHLON_K8): New macros.
8822 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
8823 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
8824 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
8825 x86_integer_DFmode_moves, x86_partial_reg_dependency,
8826 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
8827 x86_prologue_using_move, x86_epilogue_using_move,
8828 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
8829 x86_sse_typeless_stores): Set for K8
8830 (override_options): Add k8 support; fix athlon alignment;
8831 complain about non-x86-64 capable CPU being used in x86-64 compilation.
8832 (ix86_issue_rate): Set for K8.
8833 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
8834 x86_machine_dependent_reorg): Handle K8 like
8835 * i386.h
8836 (x86_costs): Change mult_init and divide into array.
8837 (TARGET_K8, TARGET_ATHLON): New macros.
8838 (MODE_INDEX): New macro.
8839 (RTX_COST): Use new costs.
8840 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
8841 (TARGET_CPU_DEFAULT_NAMES): Add k8
8842 (TARGET_CPU_DEFAULT_k8): New constant
8843 (enum processor_type): Add PROCESSOR_K8.
8844 * i386.md (cpu attribute): Add k8.
8845
8846 * invoke.texi: Document -march=k8.
8847
8848 * i386.md (type attribute): Add leave
8849 (mode attribute): Remove unknownfp.
8850 (length_immediate, modrm, memory attributes): Handle leave correctly.
8851 (fp comparison patterns): Determine FP mode.
8852 (leave, leave_rex64): Remove special cases.
8853 * ppro.md (ppro_uops, ppro_p2): Add leave
8854 * pentiun.md (pent_pop): Handle leave too.
8855 * k6.md (k6_load): Handle leave.
8856 * athlon.md (athlon_leave, athlon_pop): Fix.
8857 (athlon_decode): Handle leave.
8858
27e58a70
SE
88592002-11-20 Steve Ellcey <sje@cup.hp.com>
8860
8861 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
8862 to component type using GET_MODE_INNER.
8863 * expr.c (emit_move_insn_1): Ditto.
8864 * optabs.c (expand_binop): Ditto.
8865 (expand_unop): Ditto.
8866 (expand_complex_abs): Ditto.
8867
964b104a
DR
88682002-11-20 Douglas B Rupp <rupp@gnat.com>
8869
8870 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
8871
3d4b192a
DD
88722002-11-20 DJ Delorie <dj@redhat.com>
8873
8874 * config/stormy16/stormy16.c (s16builtins,
8875 xstormy16_init_builtins, xstormy16_expand_builtin): New.
8876 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
8877
414d23ae
HPN
88782002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
8879
8880 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
8881 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
8882 (executing gencheck, genconfigs, genconditions, genflags,
8883 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
8884 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
8885 gengtype, genprotos): Prepend $(RUN_GEN).
8886 * configure.in: Move host compiler tests before --enable-checking
8887 tests.
8888 (--enable-checking=valgrind): New.
8889 * config.in, configure: Regenerate.
8890 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8891 Define as empty.
8892 (read_include_file): When doing the mmap+1 trick,
8893 valgrind-annotate the byte after the mmap:ed area as readable.
8894 (purge_cache): Remove above annotation.
8895 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
8896 VALGRIND_PATH -q to each command.
8897
9a0a7d5d
HPN
8898 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8899 Define as empty.
8900 (ggc_realloc): Update valgrind annotations.
8901 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8902 Define as empty.
c14bc6db 8903 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
9a0a7d5d
HPN
8904 valgrind-annotate memory.
8905
3ba2436a
UW
89062002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
8907
8908 * recog.c (constrain_operands): Prefer exact match over reloadable
8909 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
8910
8911 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
8912 operands in Pmode.
8913
a9b6f1e7 89142002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
02a362d9
EB
8915
8916 PR c/8518
8917 * c-decl.c (duplicate_decls): Outline the second definition
8918 of an extern inline function in all cases.
8919
5354730b
RS
89202002-11-20 Richard Sandiford <rsandifo@redhat.com>
8921
8922 * stor-layout.c (place_field): Update rli->offset as well as
8923 rli->bitpos.
8924
5720520f
RS
89252002-11-20 Richard Sandiford <rsandifo@redhat.com>
8926
8927 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
8928
4392ebd3
RS
89292002-11-20 Richard Sandiford <rsandifo@redhat.com>
8930
8931 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
8932 into a libcall block.
8933 (divsi3): Likewise divsi3_i4_media.
8934
3748bd9e
RS
89352002-11-20 Richard Sandiford <rsandifo@redhat.com>
8936
8937 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
8938 out another register.
8939
bc02f8d3
JJ
89402002-11-20 Jakub Jelinek <jakub@redhat.com>
8941
8942 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
8943 (not just mask) are set in C.
8944
4977bab6
ZW
89452002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
8946
8947 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
8948
89492002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8950
8951 * profile.c (index_counts_file): Fix obvious mistake.
8952
89532002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8954
8955 * Makefile.in (profile.o): Add hashtab.h dependency.
8956 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
8957 * profile.c: Include hashtab.h.
8958 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
8959 cleanup_counts_index, index_counts_file, struct section_reference,
8960 struct da_index_entry, counts_file_name, counts_file_index): New.
8961 (get_exec_counts, init_branch_prob): Modified.
8962
89632002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
8964
8965 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
8966 to tmake_file. Remove setting gas and gnu_ld here.
8967 * config/sh/libgcc-glibc.ver: New file.
8968 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8969 (SHLIB_MAPFILES): New.
8970 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
8971 (MD_STARTFILE_PREFIX): Likewise.
8972 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
8973 (DWARF2_UNWIND_INFO): Redefine.
8974 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8975 (LINK_EH_SPEC): Redefine.
8976 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
8977 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
8978 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
8979 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
8980 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
8981 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
8982 SH_DWARF_FRAME_FPSCR): Likewise.
8983 * config/sh/sh-protos.h (sh_set_return_address): Declare.
8984 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
8985 registers if the current function calls EH return.
8986 (sh_expand_epilogue): Handle EH stack adjustments.
8987 (sh_set_return_address): New function.
8988 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8989 Don't abort even if the number is mapped to -1.
8990 (EH_RETURN_DATA_REGNO): Define.
8991 (EH_RETURN_STACKADJ_RTX): Define.
8992 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
8993 (eh_return): New pattern.
8994 (eh_set_ra_di, eh_set_ra_si): Likewise.
8995 Add splitter to perform EH return after reload.
8996
8997Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
8998
8999 * stor-layout.c (excess_unit_span): New function.
9000 (place_field): Use it.
9001
90022002-11-19 Andreas Schwab <schwab@suse.de>
9003
9004 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
9005 not valid in C++.
9006
90072002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
9008
9009 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
9010 * configure: Regenerate.
9011
9012Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
9013
9014 * convert.c (strip_float_extensions): New function.
9015 (convert_to_real): Optimize some cases.
9016
3bdcef4d
AJ
90172002-11-19 Andreas Jaeger <aj@suse.de>
9018
9019 * loop.c (record_giv): Initialize not_replaceable.
9020 (check_final_value): Likewise.
9021
ec5b0c68
KH
90222002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9023
9024 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
9025 MASK_H8300S.
9026
90272002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
39ba95b5
VK
9028
9029 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
9030 only if -mh or -ms present.
9031 (h8300_eightbit_constant_address_p): Support the normal mode.
9032 (h8300_tiny_constant_address_p): Likewise.
9033 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
9034 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
9035 (Pmode): Evaluate to HImode for the normal mode.
9036 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
9037 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
9038 (ASM_WORD_OP): Evaluate to word for the normal mode.
9039 * config/h8300/h8300.md (tablejump_normal_mode): New.
9040 (indirect_jump_normal_mode): New.
9041 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
9042 directory.
9043 (MULTILIB_DIRNAMES): Create target dependent directory
9044 'normal'.
249e6b63 9045 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
39ba95b5
VK
9046 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
9047
efcc7037
JH
9048Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
9049
9050 * i386.md (length_immediate): Do not refer to insn address.
9051 (jcc*, jmp patterns): Compute length explicitly.
9052
90532002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
35f1c975
EB
9054
9055 PR c/8588
9056 * optabs.c (expand_binop): Convert CONST_INTs in shift
9057 operations too.
9058
a500466b
RS
90592002-11-19 Roger Sayle <roger@eyesopen.com>
9060
9061 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
9062
3b161153
KH
90632002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9064
9065 * config/h8300/h8300.md (an anonymous pattern): Relax the
9066 condition to accept the same operands and/or subregs.
9067
85af47b9
DJ
90682002-11-19 Daniel Jacobowitz <drow@mvista.com>
9069
9070 * config/sh/sh.c (gen_shl_and): Revert previous patch.
9071 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
9072 reload_completed.
9073
9675a91e
KH
90742002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9075
9076 * config/h8300/h8300.c (print_operand): Update the use of
9077 EIGHTBIT_CONSTANT_ADDRESS_P.
9078 (h8300_adjust_insn_length): Likewise.
9079 (h8300_eightbit_constant_address_p): Check if the given rtx is
9080 a variable with __attribute__((eightbit_data)).
9081 * config/h8300/h8300.h (OK_FOR_U): Update the use of
9082 EIGHTBIT_CONSTANT_ADDRESS_P.
9083
7b61fa4d
GP
90842002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9085
9086 * doc/contrib.texi (Contributors): Add self as second contact in
9087 addition to Jeff Law.
9088
50aadcbc
AJ
90892002-11-19 Andreas Jaeger <aj@suse.de>
9090
9091 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
9092 find_alloca_call to right place.
9093
dc65cd60
KH
90942002-11-19 Kazu Hirata <kazu@cs.umass.edu>
9095
9096 * cppfiles.c: Fix formatting.
9097
f3226a90
JT
90982002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
9099
9100 * gcc.c (The Specs Language): Document spec functions.
9101 (static_spec_functions, lookup_spec_function)
9102 (eval_spec_function, handle_spec_function)
9103 (if_exists_spec_function, alloc_args): New.
9104 (execute): Abort if processing_spec_function is true.
9105 (do_spec_1): Hand off spec to handle_spec_function if %:
9106 is encountered. If processing_spec_function is true,
9107 end any pending argument when the end of the string is reached.
9108 (main): Use alloc_args to allocate the initial argument vector.
9109 * gcc.h (struct spec_function): New.
9110 (lang_specific_spec_functions): New extern.
9111
9112 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
9113 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
9114 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
3bdcef4d 9115
f3226a90
JT
9116 * doc/invoke.texi: Document spec functions.
9117
9118 * cppspec.c (lang_specific_spec_functions): New.
9119 * gccspec.c: Likewise.
9120
08c42743
SE
91212002-11-18 Steve Ellcey <sje@cup.hp.com>
9122
9123 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
9124 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
9125 (fixunstfsi_libfunc): Change.
9126 (fixunstfdi_libfunc): Change.
9127 (sdiv_optab): Don't zero out SImode handler.
9128 (udiv_optab): Don't zero out SImode handler.
9129 (smod_optab): Don't zero out SImode handler.
9130 (umod_optab): Don't zero out SImode handler.
9131
8128cccf
NB
91322002-11-18 Neil Booth <neil@daikokuya.co.uk>
9133
9134 PR preprocessor/8524
9135 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
9136 Add a new one in its place, which hopefully works.
9137 (skip_rest_of_line): Change test for bottom-of-context-stack.
9138
95199202
JH
9139Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
9140
9141 * i386.md (addqi_1_slp): Fix output template.
9142 (subqi_1_slp): Fix type.
9143
c986baf6
JH
9144Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
9145
9146 * calls.c (alloca_call_p): New global function.
9147 * tree.h (alloca_call_p): New.
9148 * tree-inline.c (inlinable_function_p): Do not inline when
9149 function calls alloca.
9150 (find_alloca_call, find_alloca_call_1): New functions.
9151
ac655495
KH
91522002-11-18 Kazu Hirata <kazu@cs.umass.edu>
9153
9154 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
9155 bst. Update the insn length.
9156 (*andorhi3): Likewise.
9157 (*andorsi3): Likewise.
9158
ea4210ef
RS
91592002-11-18 Richard Sandiford <rsandifo@redhat.com>
9160
9161 * config/sh/sh-protos.h (sh_mark_label): Declare.
9162 * config/sh/sh.c (sh_mark_label): New function, taken from
9163 movdi_const, but fixing the case when the address has an addend.
9164 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
9165
3503150c
RS
91662002-11-18 Richard Sandiford <rsandifo@redhat.com>
9167
9168 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
9169 (add_constant): Set it.
9170 (dump_table): Don't reorder a constant if part_of_sequence_p.
9171 (machine_dependent_reorg): Assume that float constants will
9172 stay in their original order if used as a sequence.
9173
180bde4f
RS
91742002-11-18 Richard Sandiford <rsandifo@redhat.com>
9175
9176 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
9177 in compact code.
9178
e300c78c
RS
91792002-11-18 Richard Sandiford <rsandifo@redhat.com>
9180
9181 * config/sh/sh.md (initialize_trampoline): Do not force the
9182 trampoline address into R0_REGS here.
9183
4977bab6
ZW
9184Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
9185
9186 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
9187 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
9188 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
9189 generate unnecesary subregs.
9190
ec748ec8
KH
91912002-11-17 Kazu Hirata <kazu@cs.umass.edu>
9192
9193 * df.c: Fix formatting.
9194
cf0cec73
KH
91952002-11-17 Kazu Hirata <kazu@cs.umass.edu>
9196
9197 * config/h8300/h8300.md (two anonymous patterns): Fix insn
9198 lengths.
9199
d2b2c7cd
DJ
92002002-11-17 Daniel Jacobowitz <drow@mvista.com>
9201
9202 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
9203 is not an arith_reg_operand.
9204
6ddb1bc1
GS
92052002-11-17 Graham Stott <graham.stott@btinternet.com>
9206
9207 * real.c (real_to_decimal): Fix buffer overrun when buffer size
9208 is smaller than representation.
9209
5ab2f7b7
KH
92102002-11-17 Kazu Hirata <kazu@cs.umass.edu>
9211
9212 * builtins.c: Fix formatting.
9213
4977bab6
ZW
9214Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
9215
9216 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
9217 floats?dff2_i387):
9218 Work around regclass stupidity.
9219 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
9220
9221Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
9222
9223 * i386.md (fop_df_6): New pattern.
9224 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
9225 (fop_xf_6): Rewrite
9226 (fop_xf_7): Delete.
9227 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
9228 (fop_tf_6): Rewrite
9229 (fop_tf_7): Delete.
9230
0d964e40
KH
92312002-11-16 Kazu Hirata <kazu@cs.umass.edu>
9232
9233 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
9234
6d55e887
KH
92352002-11-16 Kazu Hirata <kazu@cs.umass.edu>
9236
9237 * config/h8300/h8300.md: Fix formatting.
9238
4d5ad877
KH
92392002-11-16 Kazu Hirata <kazu@cs.umass.edu>
9240
9241 * config/h8300/h8300.md: Replace spaces with tabs.
9242 * config/h8300/t-h8300: Remove a trailing empty line.
9243
17fa74a2
KH
92442002-11-16 Kazu Hirata <kazu@cs.umass.edu>
9245
9246 * tlink.c: Fix formatting.
9247
9caa3eb2
DE
92482002-11-16 David Edelsohn <edelsohn@gnu.org>
9249
68a7da97 9250 PR 8362
9caa3eb2
DE
9251 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
9252 * config/rs6000/rs6000.md (movti_string): Remove output modifier
9253 when scratch register never needed.
9254 (ldmsi[3-8]): New patterns.
9255
476c5eb6
KH
92562002-11-16 Kazu Hirata <kazu@cs.umass.edu>
9257
9258 * hard-reg-set.h: Follow spelling conventions.
9259 * real.c: Likewise.
9260 * target.h: Likewise.
9261
5dab517f
JJ
92622002-11-16 Jakub Jelinek <jakub@redhat.com>
9263
9264 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
9265
7e1a450d
KH
92662002-11-16 Kazu Hirata <kazu@cs.umass.edu>
9267
9268 * optabs.c: Fix formatting.
9269
1b245ade
JH
9270Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
9271
9272 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
9273 * i386.md (attribute type): Add type shift1 and rotate1.
9274 (*_slp): Rewrite to have just two operands to avoid reload problems.
9275
6368a493
KH
92762002-11-15 Kazu Hirata <kazu@cs.umass.edu>
9277
9278 * config/h8300/h8300.md (4 anonymous patterns): New.
9279
737c38d1
GK
92802002-11-15 Geoffrey Keating <geoffk@apple.com>
9281
9282 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
9283 * doc/invoke.texi: Correct description of what needs to be done to
9284 force collection at every ggc_collect call.
9285
2120e3cd
UW
92862002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
9287
3bdcef4d 9288 * config/s390/s390.c (optimization_options): Set
2120e3cd
UW
9289 flag_asynchronous_unwind_tables to 1 by default.
9290
18789f4e
UW
92912002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
9292
9293 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9294
a5fa1ecd
JH
9295Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
9296
9297 * i386-protos.h (x86_function_profiler): New function
9298 * i386.h (MCOUNT_NAME): New.
9299 (PROFILE_COUNT_REGISTER): New.
a36fc5f8 9300 (FUNCTION_PROFILER): Move offline to ...
a5fa1ecd
JH
9301 * i386.c (x86_function_profiler) ... here; fix 64bit support
9302 * beos-elf.h (FUNCTION_PROFILER): Kill.
9303 (MCOUNT_NAME): New.
9304 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
9305 (MCOUNT_NAME): New.
9306 (PROFILE_COUNT_REGISTER): New.
9307 * linux.h (FUNCTION_PROFILER): Kill.
9308 (MCOUNT_NAME): New.
9309 * x86-64.h (FUNCTION_PROFILER): Kill.
9310 (MCOUNT_NAME): New.
9311 * freebsd.h (FUNCTION_PROFILER): Kill.
9312 (MCOUNT_NAME): New.
9313
1741620c
JD
93142002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
9315
9316 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
9317 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
9318 * config/arm/arm.c (arm_va_arg,
9319 arm_function_arg_pass_by_reference): New.
9320 * config/arm/arm-protos.h: Add prototypes.
9321
24985beb
KH
93222002-11-14 Kazu Hirata <kazu@cs.umass.edu>
9323
9324 * gthr-single.h: Fix formatting.
9325
fa7b533b
ZW
93262002-11-14 Zack Weinberg <zack@codesourcery.com>
9327
9328 * tree.c (tree_vec_elt_check_failed): New function.
9329 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
9330 (TREE_VEC_ELT): Use it.
9331
9332 * tree-inline.c (optimize_inline_calls): Don't copy a
9333 zero-length vector.
9334
9fc910d1
GDR
93352002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
9336
9337 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
9338
7eca317a
JJ
93392002-11-14 Jakub Jelinek <jakub@redhat.com>
9340
9341 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
9342 both operands contain local relocations.
9343 (categorize_decl_for_section): Don't use mergeable sections if
9344 initializer has any relocations.
9345
57751dd6
KH
93462002-11-14 Kazu Hirata <kazu@cs.umass.edu>
9347
9348 * gthr-vxworks.h: Fix formatting.
9349
f702e700
JJ
93502002-11-13 Janis Johnson <janis187@us.ibm.com>
9351
9352 * doc/install.texi (Testing): Document extra Java testing.
9353 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
9354
08ec53e7
JDA
93552002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
9356
9357 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
9358 beginning of the spec.
9359 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
9360 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
9361 regarding problems with global constructors when using GNU ld.
9362
e6179f45
KH
93632002-11-13 Kazu Hirata <kazu@cs.umass.edu>
9364
9365 * gthr-solaris.h: Fix formatting.
9366
fe83a9ce
KH
93672002-11-13 Kazu Hirata <kazu@cs.umass.edu>
9368
9369 * gthr-posix.h: Fix formatting.
9370
4977bab6 93712002-11-12 Devang Patel <dpatel@apple.com>
4977bab6
ZW
9372 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
9373 (process_command): Same.
9374 * doc/invoke.texi: Info about these two new options.
9375
eed13f9b
KH
93762002-11-12 Kazu Hirata <kazu@cs.umass.edu>
9377
9378 * config/h8300/h8300.md (*andorsi3): New.
9379
e8a7b0c2
FS
93802002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9381
9382 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
9383
94aec8dd
KH
93842002-11-12 Kazu Hirata <kazu@cs.umass.edu>
9385
9386 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
9387 expressions appropriately.
9388
fc98f5cb
KH
93892002-11-12 Kazu Hirata <kazu@cs.umass.edu>
9390
9391 * gthr-win32.h: Fix formatting.
9392
e27051f7
KH
93932002-11-12 Kazu Hirata <kazu@cs.umass.edu>
9394
9395 * config/h8300/h8300.c (single_one_operand): Correctly compute
9396 mask when mode is SImode.
9397 (single_zero_operand): Likewise.
9398 * config/h8300/h8300.md (two new anonymous insns): New.
9399
10bb8214
GP
94002002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9401
9402 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
9403 to that entire project.
9404
ffe11c6b
RO
94052002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9406
9407 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
9408 directories.
9409
3788cc17
ZW
94102002-11-11 Zack Weinberg <zack@codesourcery.com>
9411
9412 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
9413 * doc/invoke.texi: Document them.
9414
9415 * ggc-page.c: Include params.h. Remove definitions of
9416 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
9417 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
9418 (init_gcc): Don't set G.allocated_last_gc here.
9419 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
9420 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
9421 perform collection.
9422 * ggc-simple.c: Similarly.
9423 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
9424 dependencies.
9425
dd697f8c
KH
94262002-11-11 Kazu Hirata <kazu@cs.umass.edu>
9427
9428 * gthr-dce.h: Fix formatting.
9429
303b90b0
FS
94302002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9431
9432 PR c/8467
9433 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
9434 mode of DECL_RTL case.
9435
e8437165
JJ
94362002-11-11 Janis Johnson <janis187@us.ibm.com>
9437
9438 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
9439
12f5c45e
JH
9440Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
9441
9442 * i386.c (construct_container): Fix handling of SSE_CLASS.
9443
f981a754
JS
94442002-11-10 Joel Sherrill <joel@gcc.gnu.org>
9445
9446 * config/m68k/t-crtstuff (crti.o): Use this...
9447 ($(T)crti.o): ... instead.
9448 (crtn.o): Use this...
9449 ($(T)crtn.o): ... instead.
9450
a9b6f1e7 94512002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
45ed7228
EB
9452
9453 PR c/8439
9454 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
9455 if there is something new to be simplified.
9456
2da4124d
L
94572002-11-10 H.J. Lu <hjl@gnu.org>
9458
9459 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
9460 * expr.c (PUSH_ARGS_REVERSED): Likewise.
9461
9462 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
9463
7bb9f927
ZW
94642002-11-10 Zack Weinberg <zack@codesourcery.com>
9465
9466 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
9467 * config/rs6000/linux.h, config/rs6000/linux64.h,
9468 config/rs6000/windiss.h: ... not here.
9469
d8986082
JT
94702002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
9471
9472 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
9473 __ABICALLS__ if TARGET_ABICALLS.
9474
2e64c636
JH
9475Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
9476
9477 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
9478
04e6db94
JM
94792002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
9480
9481 * c-decl.c (grokdeclarator): Make error for duplicate type
9482 qualifiers into a pedwarn, disabled for C99.
9483
e9986d3a
HPN
94842002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
9485
9486 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
9487 as FUNCTION_ARG_PASS_BY_REFERENCE.
9488
4977bab6
ZW
94892002-11-09 Zack Weinberg <zack@codesourcery.com>
9490
9491 * doc/install.texi: Add *-*-vxworks* specific installation
9492 instructions.
9493
9494 * config/vxlib.c: Rewrite using generation numbers to identify
9495 valid TSD keys.
9496
9497Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
9498
9499 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
9500
581d9404
JDA
95012002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9502
9503 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
9504
9505 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
9506 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
9507 * pa.c (output_millicode_call): Use symbol difference rather than
9508 $PIC_pcrel$0 when using HP assembler.
9509 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
9510 not elfos.h (i.e., gas) is being used.
9511 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
9512 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
9513 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
9514 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
9515 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
9516 using elfos.h.
9517 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
9518 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
9519 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
9520 using elfos.h.
9521 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
9522 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
9523 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
9524 Don't define when not using elfos.h.
9525 (ASM_DECLARE_RESULT): Don't define.
9526 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
9527 doesn't work on hppa64-hp-hpux11.
9528 (hppa*-hp-hpux11): Update.
9529
9f689d92
JT
95302002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
9531
9532 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
9533 to the assembler if -mno-abicalls was specified.
9534
1c03af86
JDA
95352002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9536
9537 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
9538 ASM_OUTPUT_DEF): Delete.
9539
57800e9e
NB
95402002-11-09 Neil Booth <neil@daikokuya.co.uk>
9541
9542 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
9543
4977bab6
ZW
95442002-11-08 Roger Sayle <roger@eyesopen.com>
9545
9546 * real.c (real_sqrt): Update comment with bibliographic reference.
9547
9548Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
9549
9550 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
9551
9552Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
9553
9554 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
9555
9556Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
9557
9558 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
9559 (expand_builtin): Likewise.
9560 * builtins.def: Add
9561 __builtin_floor, __builtin_floorf, __builtin_floorl
9562 __builtin_ceil, __builtin_ceilf, __builtin_ceill
9563 __builtin_round, __builtin_roundf, __builtin_roundl
9564 __builtin_trunc, __builtin_truncf, __builtin_truncl
9565 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
9566 * genopinit.c (optabs): Initialize the new optabs.
9567 * optab.c (init_optabs): Likewise.
9568 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
9569 OTI_round, OTI_nearbyint.
9570 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
9571 * doc/md.texi: Document new named patterns.
9572 * doc/extend.texi (builtin functions) Document
9573 floor, floorf, floorl, ceil, ceilf,
9574 ceill, round, roundf, roundl, trunc,
9575 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
9576
9577Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
9578
9579 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
9580
489d6e8e
DJ
95812002-11-08 Dale Johannesen <dalej@apple.com>
9582
7bb9f927 9583 * dbxout.c (dbxout_type): Fix stabs info for vector types.
489d6e8e 9584
a4b1e653
NB
95852002-11-08 Neil Booth <neil@daikokuya.co.uk>
9586
9587 PR preprocessor/8497
9588 PR preprocessor/8501
9589 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
9590 start a directive. In assembler, #NUM is not a line directive.
9591
e6e8c772
NB
95922002-11-08 Neil Booth <neil@daikokuya.co.uk>
9593
9594 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
9595 buffers.
9596
ffdf5eae
KH
95972002-11-08 Kazu Hirata <kazu@cs.umass.edu>
9598
9599 * config/h8300/h8300.md (two anonymous test insns): New.
9600
8dd3ca88
JH
9601Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
9602
9603 * jump.c (mark_jump_label): Handle subregs of label_refs.
9604
4977bab6
ZW
9605Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
9606
9607 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
9608 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
9609
07cf4226
DM
96102002-11-07 David Mosberger <davidm@hpl.hp.com>
9611
7bb9f927
ZW
9612 * config/ia64/crtend.asm: Include "auto-host.h".
9613 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
9614 * config/ia64/crtbegin.asm: Similarly.
9615 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
9616 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
07cf4226 9617
7bb9f927
ZW
9618 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
9619 * configure.in: Use it if --enable-initfini-array not specified.
9620 * doc/install.texi (Configuration): Document --enable-initfini-array.
07cf4226
DM
9621 * configure, config.in: Rebuild.
9622
0977774b 96232002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
7bb9f927 9624
0977774b 9625 * config/arm/arm-protos.h (arm_get_frame_size)
7bb9f927 9626 (thumb_get_frame_size): New prototypes.
0977774b 9627 * config/arm/arm.c (arm_get_frame_size)
7bb9f927
ZW
9628 (thumb_get_frame_size): New functions.
9629 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
9630 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
0977774b
JT
9631 arm_get_frame_size.
9632 (thumb_expand_prologue, thumb_expand_epilogue): Use
9633 thumb_get_frame_size.
9634 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
9635 (machine_function): Add frame_size member.
9636 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
9637
96382002-11-07 Richard Earnshaw <rearnsha@arm.com>
9639
9640 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
9641 Adjust code to use portable unsigned bit manipulation.
9642 (insn_flags, tune_flags): Change type to unsigned.
9643 (struct processors): Make flags unsigned long.
9644 (arm_override_options): Change type of count and current_bit_count
9645 to unsigned.
9646
74c13308
RE
96472002-11-07 Richard Earnshaw <rearnsha@arm.com>
9648
9649 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
9650
e284643a
R
9651Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
9652
9653 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
9654
c2905f7b
JH
9655Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
9656
9657 * reg-stack.c (compensate_edge): Fix sanity check.
9658
3cfe49da
GK
96592002-11-05 Geoffrey Keating <geoffk@apple.com>
9660
9661 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
9662 crt2.o. Rearrange t-darwin makefiles.
9663 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
9664 * unwind-dw2-fde-darwin.c: New.
9665 * unwind-dw2-fde-glibc.c: Correct comment.
9666 * unwind-dw2-fde.c (__register_frame_info_bases)
9667 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
9668 (classify_object_over_fdes): Use last_fde.
9669 (add_fdes): Likewise.
9670 (linear_search_fdes): Likewise.
9671 * unwind-dw2-fde.h (struct object)
9672 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
9673 (last_fde): New.
9674 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
9675 (ENDFILE_SPEC): No crtend.o.
9676 * config/t-darwin: New.
9677 * config/i386/t-darwin: Delete.
9678 * config/darwin-crt2.c: New.
9679 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
9680 or config/t-darwin.
9681
4977bab6
ZW
96822002-11-06 Douglas B Rupp <rupp@gnat.com>
9683
9684 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
9685 MASK_MS_BITFIELD_LAYOUT
9686 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
9687 MS bitfields for Objective-C.
9688 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
9689 defines.
9690
9691 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
9692 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
9693 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
9694
9695 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
9696 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
9697 (TARGET_SWITCHES): Add above mask.
9698
9699 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
9700 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
9701 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
9702 flags for interix.
9703
9704Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
9705
9706 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
9707 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
9708 assembler.
9709 * config/mips/mips.md (tablejump_internal3): Output .cpadd
9710 before jump on ABI_N32 too.
9711 (tablejump_internal4): Ditto on ABI_64. Increase maximum
9712 length to match.
9713
9714Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
9715
9716 * i386.md (negsf splitter): Accept memory operand in second register.
9717 (abssf/absdf splitters): Simplify
9718 (sse_loadss, sse_loadsd): Turn into expander.
9719
5d7e6254
DE
97202002-11-06 David Edelsohn <edelsohn@gnu.org>
9721
9722 PR target/8480
9723 * config/rs6000/rs6000.md (movdi_internal64): Discourage
9724 FPR to FPR moves.
9725
4fc6ad08
JJ
97262002-11-06 Janis Johnson <janis187@us.ibm.com>
9727
9728 * doc/contrib.texi: Merge in the list from the Java web pages.
9729
fa123c53
DB
97302002-11-06 David O'Brien <obrien@FreeBSD.org>
9731
9732 * config/sparc/freebsd: Fix typo.
9733
81e5bc3d
JDA
97342002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
9735
9736 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
9737
021fa809
AO
97382002-11-06 Alexandre Oliva <aoliva@redhat.com>
9739
9740 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
9741 non-SImode addresses.
9742
4977bab6
ZW
9743Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
9744
9745 * i386.md (float_truncate SSE splitter): Ensure that operand is not
9746 stack register.
9747 (float SSE splitters): Reorder conditional.
9748
e9577224
BW
97492002-11-05 Bob Wilson <bob.wilson@acm.org>
9750
9751 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
9752
a9b11d44
JDA
97532002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
9754
9755 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
9756 (STARTFILE_SPEC): Remove p and pg options.
9757
5c7cd663
AH
97582002-11-05 Andrew Haley <aph@redhat.com>
9759
9760 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
9761 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
9762
97ab1175
RS
97632002-11-05 Richard Sandiford <rsandifo@redhat.com>
9764
9765 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
9766 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
9767
4977bab6
ZW
97682002-11-04 Zack Weinberg <zack@codesourcery.com>
9769
9770 * gthr-vxworks.h: Rewritten from scratch.
9771 * config/vxlib.c: New file.
9772 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
9773 * config/rs6000/t-vxworks: Add config/vxlib.c to
9774 LIB2FUNCS_EXTRA here too, because of clash with
9775 config/rs6000/t-ppccomm.
9776
2aff9508
DJ
97772002-11-04 Dale Johannesen <dalej@apple.com>
9778
7bb9f927
ZW
9779 * doloop.c (doloop_modify_runtime): Fix loop count computation
9780 for unrolled loops.
2aff9508
DJ
9781 * loop.c (loop_invariant_p): Support calling from unroller.
9782
e86e721f
UW
97832002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
9784
9785 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
9786 for comparison.
9787
cff9f8d5
AH
97882002-11-04 Aldy Hernandez <aldyh@redhat.com>
9789
9790 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
9791
9792 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
9793 (CLASS_CANNOT_CHANGE_MODE): Remove.
9794 (CANNOT_CHANGE_MODE_CLASS): New.
9795
9796 * config/alpha/alpha.h: Same.
9797
9798 * config/ia64/ia64.h: Same.
9799
9800 * config/mips/mips.h: Same.
9801
9802 * config/s390/s390.h: Same.
9803
9804 * config/sh/sh.h: Same.
9805
9806 * config/pa/pa64-regs.h: Same.
9807
9808 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7bb9f927 9809
cff9f8d5
AH
9810 * config/sh/sh.c (sh_cannot_change_mode_class): New.
9811
9812 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
9813 prototype.
9814
9815 * config/mips/mips.c (mips_cannot_change_mode_class): New.
9816
9817 * doc/tm.texi (Register Classes): Remove
9818 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
9819 Document CANNOT_CHANGE_MODE_CLASS.
9820
9821 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
9822 (push_reload): Same.
9823
9824 * simplify-rtx.c (simplify_subreg): Same.
9825
9826 * reload1.c (choose_reload_regs): Same.
9827
9828 * recog.c (register_operand): Same.
9829
9830 * regrename.c (mode_change_ok): Change to use new
9831 CANNOT_CHANGE_MODE_CLASS infrastructure.
9832
9833 * regclass.c (cannot_change_mode_set_regs): New.
9834 Declare subregs_of_mode.
9835 (regclass): Use subregs_of_mode.
9836 Remove references to reg_changes_mode.
9837 (init_reg_sets_1): Remove class_can_change_mode and
9838 reg_changes_mode code.
9839 (invalid_mode_change_p): New.
9840 (dump_regclass): Use invalid_mode_change_p instead of
9841 class_can_change_mode.
9842 (regclass): Same.
9843 (record_operand_costs): Do not set reg_changes_mode.
9844
9845 * local-alloc.c (struct qty): Remove changes_mode field.
9846 (alloc_qty): Remove changes_mode initialization.
9847 (update_qty_class): Remove set of changes_mode.
9848 (find_free_reg): Use subregs_of_mode.
9849
9850 * global.c (find_reg): Use subregs_of_mode info.
9851
9852 * rtl.h (cannot_change_mode_set_regs): New prototype.
9853 (invalid_mode_change_p): Same.
9854 (REG_CANNOT_CHANGE_MODE_P): New macro.
9855
9856 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
9857 REG_CHANGES_MODE.
9858 (life_analysis): Clear subregs_of_mode.
9859
9860 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
9861 Remove use of CLASS_CANNOT_CHANGE_MODE.
9862 (simplify_set): Same.
9863 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
9864 REG_CHANGES_MODE.
7bb9f927 9865
cff9f8d5
AH
9866 * regs.h: Add extern for subregs_of_mode;
9867 Include hard-reg-set and basic-block.
9868 (REG_CHANGES_MODE): Delete.
9869
4977bab6
ZW
98702002-11-03 Roger Sayle <roger@eyesopen.com>
9871
9872 * real.c (real_sqrt): New function to calculate square roots.
9873 * real.h (real_sqrt): Add function prototype.
9874 * builtins.c (fold_builtin): Fold sqrt of constant argument.
9875 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
9876 of constant argument.
9877
2ff363e0
JDA
98782002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
9879
9880 * jump.c (never_reached_warning): Don't set contains_insn until the
9881 first line note is seen.
9882
cd1d3445
DE
98832002-11-03 David Edelsohn <edelsohn@gnu.org>
9884
9885 * config/rs6000/rs6000.md (movti_string): Use string instructions.
9886
c9fe6f9f
RS
98872002-11-03 Roger Sayle <roger@eyesopen.com>
9888
9889 PR c/7128
9890 * c-typeck.c (c_expand_asm_operands): Defend against
9891 error_mark_nodes in the output argument to avoid ICE.
9892
0b40e88e
EB
98932002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
9894
9895 PR middle-end/8408
9896 * genrecog.c (preds): Handle ADDRESSOF.
9897 (validate_pattern): Mark it as an lvalue.
9898
dff9f1b6
DE
98992002-11-02 David Edelsohn <edelsohn@gnu.org>
9900
9901 * config/rs6000/rs6000.c (rs6000_override_options): Use string
9902 instructions when optimizing for size.
9903
46eefac4
KH
99042002-11-02 Kazu Hirata <kazu@cs.umass.edu>
9905
9906 * config/h8300/h8300.h: Fix comment typos.
9907 * config/h8300/h8300.md: Likewise.
9908 * config/h8300/lib1funcs.asm: Likewise.
9909
102b60d1
GP
99102002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9911
9912 Revert this change:
9913
9914 *doc/install.texi (Installing GCC: Configuration): Clarify
9915 the only supported ways to configure gcc.
9916
46be79e7
KH
99172002-11-01 Kazu Hirata <kazu@cs.umass.edu>
9918
9919 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
9920 instead of 'O' for the constraint for the second operand.
9921
bec80a45
MM
99222002-11-01 Mark Mitchell <mark@codesourcery.com>
9923
9924 PR c++/8391
9925 * toplev.c (rest_of_compilation): Do not refuse to output code for
9926 an inline function in a local class.
9927
8df91177
DB
99282002-11-01 David O'Brien <obrien@FreeBSD.org>
9929
9930 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
9931 (TRANSFER_FROM_TRAMPOLINE): Reformat.
9932 Add comment.
9933
616dc555
KH
99342002-11-01 Kazu Hirata <kazu@cs.umass.edu>
9935
9936 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
9937
25a533a0
TM
99382002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
9939
9940 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
9941
dcffbade
SE
99422002-11-01 Steve Ellcey <sje@cup.hp.com>
9943
9944 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
9945 (MASK_INLINE_DIV_THR): Remove.
9946 (TARGET_INLINE_DIV_LAT): Remove.
9947 (TARGET_INLINE_DIV_THR): Remove.
9948 (TARGET_INLINE_DIV): Remove.
9949 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
9950 (MASK_INLINE_FLOAT_DIV_THR): New macro.
9951 (MASK_INLINE_INT_DIV_LAT): New macro.
9952 (MASK_INLINE_INT_DIV_THR): New macro.
9953 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
9954 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
9955 (TARGET_INLINE_INT_DIV_LAT): New macro.
9956 (TARGET_INLINE_INT_DIV_THR): New macro.
9957 (TARGET_INLINE_FLOAT_DIV): New macro.
9958 (TARGET_INLINE_INT_DIV): New macro.
9959 * config/ia64/ia64.md (divsi3): Change to use new macros.
9960 (modsi3): Ditto.
9961 (udivsi3): Ditto.
9962 (umodsi3): Ditto.
9963 (divsi3_internal): Ditto.
9964 (divdi3): Ditto.
9965 (moddi3): Ditto.
9966 (udivdi3): Ditto.
9967 (umoddi3): Ditto.
9968 (divdi3_internal_lat): Ditto.
9969 (divdi3_internal_thr): Ditto.
9970 (divsf3): Ditto.
9971 (divsf3_internal_lat): Ditto.
9972 (divsf3_internal_thr): Ditto.
9973 (divdf3): Ditto.
9974 (divdf3_internal_lat): Ditto.
9975 (divdf3_internal_thr): Ditto.
9976 (divtf3): Ditto.
9977 (divtf3_internal_lat): Ditto.
9978 (divtf3_internal_thr): Ditto.
9979 * config/ia64/ia64.c (ia64_override_options): Change
9980 to check new macros for conflicts in settings.
9981 * doc/invoke.texi (-minline-divide-min-latency): Remove.
9982 (-minline-divide-max-throughput): Remove.
9983 (-minline-float-divide-min-latency): New.
9984 (-minline-float-divide-max-throughput): New.
9985 (-minline-int-divide-min-latency): New.
9986 (-minline-int-divide-max-throughput): New.
7bb9f927 9987
d5db54a1
RE
99882002-11-01 Richard Earnshaw (rearnsha@arm.com)
9989
9990 PR target/7856
9991 * arm.c (use_return_insn): Don't use a return insn if there are
9992 saved integer regs, but LR is not one of them.
9993
075fc17a
JH
9994Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
9995
9996 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
9997 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
9998
4977bab6
ZW
9999Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
10000
10001 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
10002 (movps, movpd splitters): Use canonical form.
10003 (movv2di): Fix merge problem.
10004
10005Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
10006
10007 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
10008
9efb4cb6
NN
100092002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
10010
10011 PR optimization/6162
10012 * doc/md.texi: Document restriction on commutative operand
10013 specification.
10014
ce02ba25
EC
100152002-10-31 Eric Christopher <echristo@redhat.com>
10016
7bb9f927 10017 * explow.c (convert_memory_address): Use shallow_copy_rtx.
ce02ba25 10018
8efb33ec
SE
100192002-10-31 Steve Ellcey <sje@cup.hp.com>
10020
10021 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
10022
a543c709
SE
100232002-10-31 Steve Ellcey <sje@cup.hp.com>
10024
10025 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
10026
cdc58a82
DJ
10027Thu Oct 31 Dale Johannesen <dalej@apple.com>
10028
10029 * config/rs6000/darwin.h: Correct formatting in previous.
10030
e381c27a
DJ
10031Thu Oct 31 Dale Johannesen <dalej@apple.com>
10032
10033 * config/rs6000/darwin.h: Enable -falign-xxx options.
10034
55ba61f3
JH
10035Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
10036
10037 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
10038 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
10039 * i386.c (optimization_options): Set flag_omit_frame_pointer,
10040 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
10041 Do not clear -momit-leaf-frame-pointer when profiling.
8e746279 10042 (ix86_frame_pointer_required): Frame pointer is always required when
55ba61f3
JH
10043 profiling.
10044
f7e5dfbd
JH
10045Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
10046
10047 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
10048
ff881d52
R
10049Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
10050
10051 * sh.h (binary_logical_operator): Declare.
10052 * sh.c (binary_logical_operator): New function.
10053 * sh.md (xordi3+1): New combiner splitter pattern.
10054
e8e4c876
DB
100552002-10-31 David O'Brien <obrien@FreeBSD.org>
10056
10057 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10058 __enable_execute_stack function.
10059
4977bab6
ZW
100602002-10-30 Zack Weinberg <zack@codesourcery.com>
10061
10062 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
10063 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
10064 * unwind-sjlj.c (fc_key_dtor): Delete.
10065 (fc_key_init): Adjust __gthread_key_create call to match.
10066
27bd7792
AH
100672002-10-30 Aldy Hernandez <aldyh@redhat.com>
10068
7bb9f927 10069 * c-common.c: Add GTY to vector_type_node_list.
27bd7792 10070
a02aa5b0
JDA
100712002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
10072
10073 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
10074 * pa-protos.h (attr_length_millicode_call, attr_length_call,
10075 pa_init_machine_status): Declare new global functions.
10076 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
10077 implement new functions.
10078 (attr_length_millicode_call, attr_length_call): Implement.
10079 (total_code_bytes): Change type to long.
10080 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
10081 Reset counter if flag_function_sections.
10082 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
10083 (output_cbranch): Move call to gen_label_rtx.
10084 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
10085 delay slot in all variants, shorten pc-relative calls.
10086 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
10087 slot usage and exposure, various new call variants, and shortened
10088 sequences for some variants on TARGET_PA_20.
10089 Miscellaneous format changes.
10090 * pa.h (total_code_bytes): Change type to long.
10091 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
10092 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
10093 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
10094 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
10095 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
10096 stores on TARGET_ELF32.
10097 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
10098 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
10099 canonicalize_funcptr_for_compare expanders): Calculate attribute length
10100 attr_length_millicode_call().
10101 (call_internal_symref, call_value_internal_symref): Clobber register 1.
10102 Calculate attribute length using attr_length_call().
10103 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
10104 to delay slot.
10105 (sibcall, sibcall_value): Rewrite.
10106 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
10107 register 1. Use attr_length_call().
10108 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
10109 New patterns.
10110 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
10111 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
10112 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
10113 * doc/invoke.texi (mlong-calls): Document.
10114
9402f6fb
RS
101152002-10-30 Roger Sayle <roger@eyesopen.com>
10116
10117 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
10118 handling of cases where one or both branches of the conditional
10119 have void type, i.e. throw an exception or don't return.
10120 (fold): Only apply (and undo) type conversion to the non-void
10121 branches of a COND_EXPR.
10122
9b5b7e3a
MM
101232002-10-30 Mark Mitchell <mark@codesourcery.com>
10124
10125 PR c++/8333
10126 * varasm.c (asm_output_aligned_bss): Do not call
10127 ASM_GLOBALIZE_LABEL.
10128
df7a8989
DE
101292002-10-30 David Edelsohn <edelsohn@gnu.org>
10130 Torbjorn Granlund <tege@swox.com>
10131
10132 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
10133 for addressibility.
10134 (load_toc_v4_PIC_1b): Same.
10135
d2d199a3
KH
101362002-10-30 Kazu Hirata <kazu@cs.umass.edu>
10137
10138 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
10139 Truncate the addresses for H8/300 using HImode.
10140
4977bab6
ZW
10141Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
10142
10143 * i386.md (negdf splitter): Fix construction of the constant.
10144
10145Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
10146
10147 * i386.md (negsf, negdf): Reorganize to use vector modes
10148 for SSE variants.
10149 (abssf, absdf): Use force_reg.
10150 (movv4sf, movv2df): New splitters.
10151 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
10152 * i386.c (zero_extended_scalar_load_operand
10153
10154 * i386-protos.h (ix86_expand_call): Update prototype.
10155 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
10156 (ix86_expand_call): Use r11 for indirect sibcalls.
10157 * i386.md (call, call_value, untyped_call, call_value_pop):
10158 update x86_expand_call call.
10159 (sibcall, sibcall_value): new patterns
10160 (call_rex64, call_value_rex64): Do not accept sibcalls.
10161 (sibcall_rex64, sibcall_value_rex64,
10162 sibcall_rex64_v, sibcall_value_rex64_v): New.
10163
10164Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
10165
10166 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
10167 before final pass.
10168
33c21f5c
HPN
101692002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
10170
10171 * toplev.c (rest_of_type_compilation): Return early in case of
10172 errors.
10173 (check_global_declarations): Don't call debug_hooks->global_decl
10174 in case of errors.
10175
d1445f8d
AB
101762002-10-28 Andreas Bauer <baueran@in.tum.de>
10177
10178 * doc/c-tree.texi (Tree overview): Fix typos.
10179
fc556cb9
PE
101802002-10-29 Phil Edwards <pme@gcc.gnu.org>
10181
10182 * Makefile.in (gnucompare*): Only record bad comparisons
10183 if there really was a bad comparison.
10184
f8ca7923
JH
10185Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
10186
10187 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
10188 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
10189 * md.texi (machine dependent constraints): Document 'C'
10190
10191 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
10192
10193 * i386.c (ix86_expand_vector_move): Fix.
10194
10195 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
10196 * i386.md (sse2_maskmovdqu_rex64): New pattern
10197
10198 PR target/8322
10199 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
10200 (ix86_init_mmx_sse_builtins): Fix type.
10201
c95d07f8
JT
102022002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
10203
10204 * gthr-posix.h: Include <unistd.h> for feature tests.
10205 (sched_get_priority_max, sched_get_priority_min)
10206 (pthread_getschedparam, pthread_setschedparam): Only use
10207 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
272d0bee 10208 (__gthread_objc_thread_set_priority): Don't treat all nonzero
c95d07f8
JT
10209 returns from sched_get_priority_max and sched_get_priority_min
10210 as an error.
10211
3950794d
KH
102122002-10-29 Kazu Hirata <kazu@cs.umass.edu>
10213
10214 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
10215 MASK_QUICKCALL.
10216
803d56f5
KH
102172002-10-29 Kazu Hirata <kazu@cs.umass.edu>
10218
10219 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
10220 (h8300_tiny_constant_address_p): Likewise.
10221 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
10222 h8300_eightbit_constant_address_p.
10223 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
10224 * config/h8300/h8300-protos.h: Add the prototypes for the two
10225 new functions.
10226
6bb8a3f7
KH
102272002-10-29 Kazu Hirata <kazu@cs.umass.edu>
10228
10229 * reload1.c (update_eliminables): Unconditionally check if
10230 frame_pointer_needed has changed.
10231
fc8dfa20
JH
10232Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
10233
10234 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
10235 before final pass.
10236
6e7727eb
EB
102372002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
10238
a5163dcd 10239 PR optimization/8334
7bb9f927
ZW
10240 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
10241 check for zero operands explicitly.
6e7727eb 10242
02c6a17a
RS
102432002-10-29 Richard Sandiford <rsandifo@redhat.com>
10244
10245 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
10246 memory after adjusting to BLKmode.
10247
1862869d
KH
102482002-10-29 Kazu Hirata <kazu@cs.umass.edu>
10249
10250 * config/h8300/h8300.h (MASK_*): New.
10251 (TARGET_*): Use MASK_*.
10252
4977bab6
ZW
102532002-10-28 Zack Weinberg <zack@codesourcery.com>
10254
10255 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
10256 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
10257 config/rs6000/vxworks.h: New files.
10258 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
10259
10260 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
10261 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
10262 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
10263 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
10264 sparc-*-vxsim*): Delete stanzas.
10265 * gthr-vxworks.h: Rip out all substantive code and just
10266 include gthr-single.h.
10267
10268 * config/alpha/vxworks.h, config/arm/vxarm.h,
10269 config/i386/vxi386.h, config/i960/t-vxworks960,
10270 config/i960/vx960-coff.h, config/i960/vx960.h,
10271 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
10272 config/mips/vxworks.h, config/rs6000/vxppc.h,
10273 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
10274 config/sparc/vxsim.h, config/sparc/vxsparc.h,
10275 config/sparc/vxsparc64.h: Delete files.
10276
ee3c755a
JT
102772002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
10278
10279 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
10280 tm_defines if pthreads are enabled.
10281 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
10282 if NETBSD_ENABLE_PTHREADS is defined.
10283
423adbb9
KH
102842002-10-28 Kazu Hirata <kazu@cs.umass.edu>
10285
10286 * ChangeLog.1: Fix typos.
10287 * cse.c: Fix a comment typo.
10288 * reload1.c: Likewise.
10289
d7521977
HPN
102902002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
10291
10292 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
10293 * fixinc/tests/base/_G_config.h: New file.
10294
3eae4643
KH
102952002-10-27 Kazu Hirata <kazu@cs.umass.edu>
10296
10297 * combine.c: Fix comment formatting.
10298 * loop.c: Likewise.
10299 * real.c: Likewise.
10300 * regclass.c: Likewise.
10301 * regmove.c: Likewise.
10302 * regrename.c: Likewise.
10303 * reg-stack.c: Likewise.
10304 * reload1.c: Likewise.
10305 * reload.c: Likewise.
10306 * reload.h: Likewise.
10307 * unroll.c: Likewise.
10308
e591c83d
KH
103092002-10-27 Kazu Hirata <kazu@cs.umass.edu>
10310
10311 * reload1.c (reload): Fix a comment typo.
10312
a0ba837e
JH
10313Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
10314
10315 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
10316
cc0017a9
ZD
103172002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10318
10319 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
10320 * dwarf2out.c: Include hashtab.h.
10321 (is_main_source): New static variable.
10322 (attr_checksum, die_checksum): Modified to handle die references.
10323 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
10324 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
10325 record_comdat_symbol_number): New static functions.
10326 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
10327 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
10328 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
10329 declarations added.
10330
d7af42bc
KH
103312002-10-26 Kazu Hirata <kazu@cs.umass.edu>
10332
10333 * config/h8300/h8300.c (initial_offset): Change to
10334 h8300_initial_elimination_offset.
10335 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
10336 h8300_initial_elimination_offset.
10337 * config/h8300/h8300-protos.h: Update the prototype.
10338
7e5037dc
HPN
103392002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
10340
4b32269b
HPN
10341 * config/mmix/mmix.h (LIBCALL_VALUE): Use
10342 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
10343 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
10344 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
10345 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
10346 and RTX_CODE.
10347 (mmix_function_value_regno_p): Declare.
10348
7e5037dc
HPN
10349 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
10350 invalid for floating point mode result, with fix.
10351
4977bab6
ZW
10352Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
10353
10354 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
10355 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
10356 (stage1_build): Likewise.
10357
94c1e0e8
MS
103582002-10-25 Mike Stump <mrs@apple.com>
10359
da89b956 10360 Fixes gcc.dg/warn-1.c.
4977bab6
ZW
10361 * c-typeck.c (warn_for_assignment): Don't print argument number,
10362 if zero.
94c1e0e8 10363
0fb53e68
JH
10364Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
10365
10366 * toplev.c (dump_file_index): Add DFI_ce3.
10367 (dump_file_info): Likewise.
10368 (rest_of_compilation): Run first ifcvt pass before tracer.
10369
794186ca
SE
103702002-10-25 Steve Ellcey <sje@cup.hp.com>
10371
10372 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
10373
cd60b4b8
RH
103742002-10-25 Richard Henderson <rth@redhat.com>
10375
10376 * real.c (real_to_decimal): If the >1 tens reduction loop results
10377 in a negative exponent, fall into the <1 pten computation.
10378
f3763a44
ZW
103792002-10-25 Zack Weinberg <zack@codesourcery.com>
10380
10381 PR middle-end/6994
10382 * c-objc-common.c (inline_forbidden_p): Can not inline
10383 functions containing structures or unions containing VLAs.
10384 * tree-inline.c (walk_tree): For all class 't' nodes, walk
10385 TYPE_SIZE and TYPE_SIZE_UNIT.
10386 (copy_tree_r): Copy types if they are variably modified.
10387
8c40b097
UW
103882002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
10389
10390 * config/s390/s390.md: Remove old-style peepholes.
10391
522ec94e
UW
103922002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
10393
10394 * config/s390/s390.c (s390_decompose_address): Do not range check the
10395 displacement if base or index is the argument pointer register.
10396
a7475ab1
HPN
103972002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
10398
85c87994
HPN
10399 PR other/3337
10400 PR bootstrap/6763
10401 PR bootstrap/8122
a7475ab1
HPN
10402 * fixinc/inclhack.def (libc1_G_va_list): New fix.
10403 * fixinc/fixincl.x: Regenerate.
10404 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
10405 ifndef IN_LIBGCC2. Wrap it together with signal.h and
10406 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
10407 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
10408 * config.in, configure: Regenerate.
10409
7a360cce
IS
104102002-10-24 Igor Shevlyakov <igor@microunity.com>
10411
7bb9f927 10412 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7a360cce 10413
fcbe3b89
RH
104142002-10-24 Richard Henderson <rth@redhat.com>
10415
10416 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
10417
1a86c850
KH
104182002-10-24 Kazu Hirata <kazu@cs.umass.edu>
10419
10420 * config/h8300/h8300.c (initial_offset): Simplify by using
10421 round_frame_size.
10422
de7999ba
MM
104232002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
10424
10425 * doc/install.texi (avr): Update required binutils version.
10426
104272002-10-24 Theodore A. Roth <troth@openavr.org>
10428
10429 * doc/install.texi: Point avr users at more up-to-date information.
10430
84817c5d
UW
104312002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
10432
10433 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
10434 to pull operands out of the literal pool where possible.
10435
d0749053
DC
104362002-10-24 Denis Chertykov <denisc@overta.ru>
10437
10438 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
10439
37d0b254
SE
104402002-10-24 Steve Ellcey <sje@cup.hp.com>
10441
10442 * expr.c (convert_move): If unsignedp is less then zero there
10443 is no equivalent code.
10444
7af907e9
ZW
104452002-10-24 Zack Weinberg <zack@codesourcery.com>
10446
10447 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
10448
862a2d83
UW
104492002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
10450
7af907e9 10451 * config/s390/s390.h: Rework comments; re-sort target macro definitions
862a2d83
UW
10452 according to the sequence they are defined in the manual.
10453 (POINTER_BOUNDARY): Remove.
10454
489eda65
KH
104552002-10-24 Kazu Hirata <kazu@cs.umass.edu>
10456
10457 * config/h8300/h8300.c (round_frame_size): Replace 8 with
10458 BITS_PER_UNIT.
10459
2ba08201
KH
104602002-10-24 Kazu Hirata <kazu@cs.umass.edu>
10461
10462 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
10463 64-bit safe.
10464 (TINY_CONSTANT_ADDRESS_P): Likewise.
10465
5f13cfc6
RH
104662002-10-24 Richard Henderson <rth@redhat.com>
10467
10468 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10469 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
10470 vcall offset.
10471
3bd216f2
RH
104722002-10-24 Richard Henderson <rth@redhat.com>
10473
7af907e9
ZW
10474 PR opt/7944
10475 * reload.c (find_reloads_toplev): Mode of X is not important
3bd216f2
RH
10476 when simplifying subregs of constants.
10477
60bc2b4b
RS
104782002-10-24 Richard Sandiford <rsandifo@redhat.com>
10479
10480 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
10481 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
10482 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
10483 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
10484 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
10485
5be5c8d4
RS
104862002-10-24 Richard Sandiford <rsandifo@redhat.com>
10487
10488 * optabs.c (expand_binop): Don't reuse the shift target in the
10489 middle of shift sequences.
10490
4977bab6
ZW
10491Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
10492
10493 * i386.md (abs splitters): Do not produce nested subregs.
10494
10495Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
10496
10497 * i386.md (movti_rex64): Fix constraints.
10498
10499Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
10500
10501 * i386.md (abssf,absdf): Use vector operands for SSE
10502 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
10503 vector operand.
10504
196e1ae3
ZL
105052002-10-23 Ziemowit Laski <zlaski@apple.com>
10506
10507 * objc/objc-act.c (get_static_reference): Remove unneeded
10508 TYPE_BINFO initialization.
10509 (get_object-reference): Likewise.
10510 (build_constructor): Tighten precondition check.
10511 (finish_message_expr): Likewise.
10512
8bfb45f8
JJ
105132002-10-23 Jakub Jelinek <jakub@redhat.com>
10514
10515 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
10516 after CONST test.
10517
16448fd4
SE
105182002-10-23 Steve Ellcey <sje@cup.hp.com>
10519
10520 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
10521 in HFAs.
10522
e2358068
RH
105232002-10-23 Richard Henderson <rth@redhat.com>
10524
10525 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10526 (alpha_output_mi_thunk_osf): Handle vcall_offset.
10527
8bcefb43
ZW
105282002-10-23 Zack Weinberg <zack@codesourcery.com>
10529
10530 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
10531 var_mod_type_p.
10532 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
10533 hook_tree_bool_false.
10534
10535 * tree.c (variably_modified_type_p): Moved here from
10536 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
10537 language-specific cases. Due to this, must weaken some 'if
10538 and only if' checks to merely 'if'.
10539 * tree.h: Prototype variably_modified_type_p.
10540
10541 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
10542
8e509cf9
UW
105432002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
10544
10545 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
10546 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
10547
10548 * config/s390/s390-protos.h (fp_operand): Remove.
10549 * config/s390/s390.c (fp_operand): Remove.
10550 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
10551 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
10552 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
10553 (movdi_31, movdf_31 splitters): Likewise.
8bcefb43 10554
8e509cf9
UW
10555 * config/s390/s390.h (IEEE_FLOAT): Remove.
10556 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
10557 (INT_REGNO_P): Rename to ...
10558 (GENERAL_REGNO_P): ... this.
10559 (FLOAT_REGNO_P): Rename to ...
10560 (FP_REGNO_P): ... this.
10561 (ADDR_REGNO_P): New macro.
10562 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
10563 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
10564 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
10565 (HARD_REGNO_NREGS): Adapt to macro renaming.
10566 (HARD_REGNO_MODE_OK): Likewise.
10567
34bb030a
DE
105682002-10-23 David Edelsohn <edelsohn@gnu.org>
10569 Geoff Keating <geoffk@apple.com>
10570
10571 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
10572 (rs6000_memory_move_cost): New function.
10573 * config/rs6000/rs6000-protos.h: Declare them.
10574 * config/rs6000/rs6000.h: Use them.
10575
1ab9ba62
UW
105762002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
10577
8bcefb43 10578 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1ab9ba62
UW
10579 inlining it into other libgcc2 routines.
10580 (__udivmoddi4): Likewise.
10581
4b2ece8f
NN
105822002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
10583
10584 * doc/sourcebuild.texi (Test Suites): Improve.
10585
2d173d20
SS
105862002-10-22 Stan Shebs <shebs@apple.com>
10587
10588 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
10589 case for Darwin.
10590
43146684
JW
105912002-10-22 Jim Wilson <wilson@redhat.com>
10592
10593 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
10594
a00782ed
JH
10595Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
10596
10597 PR other/8289
10598 * xmmintrin.h: Add const to the argument of loads.
10599
10600 * i386.md (pushv2di): New pattern.
10601 PR target/6890
10602 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
10603
3961e8fe
RH
106042002-10-22 Richard Henderson <rth@redhat.com>
10605
10606 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
10607 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
10608 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
10609 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10610 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10611 (TARGET_ASM_OUT): Update.
10612 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
10613 (hook_bool_tree_hwi_hwi_tree_true): New.
10614 (default_can_output_mi_thunk_no_vcall): New.
10615 * hooks.h: Declare them.
10616 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
10617
10618 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10619 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
10620 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
10621 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
10622 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
10623 config/stormy16/stormy16.c: Similarly.
10624
10625 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
10626 Handle 64-bit properly. Streamline.
10627 (x86_output_mi_vcall_thunk): Remove.
10628 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
10629 (x86_can_output_mi_thunk): New.
10630 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10631 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10632 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
10633
10634 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
10635 output_mi_thunk; make static; always use function_section.
10636 (TARGET_ASM_OUTPUT_MI_THUNK): New.
10637 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10638 (rs6000_ra_ever_killed): Test no_new_pseudos not
10639 targetm.asm_out.output_mi_thunk in conjunction with thunks.
10640 * config/rs6000/rs6000-protos.h: Update.
10641 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10642 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
10643 xcoffout_declare_function when using rs6000_output_mi_thunk.
10644
8bcefb43 10645 * config/s390/s390.c (s390_output_mi_thunk): Rename from
3961e8fe
RH
10646 s390_output_mi_vcall_thunk.
10647 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10648 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10649
10650 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
10651 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10652 * config/vax/vax-protos.h: Update.
10653 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
10654
0e67d460
JH
10655Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
10656
10657 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
10658 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
10659 * i386.md (movti_internal): Use 'C'
10660
10661 * xmmintrin.h (_mm_cmplt_epi*): New.
10662
d5869ca0
UW
106632002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
10664
10665 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
10666 ("*movdf_64"): Likewise.
10667 ("*lshrdi3_64"): Likewise.
10668 ("blockage"): Add length attribute.
10669 ("lit"): Likewise.
10670
680dd104
JH
10671Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
10672
10673 * i386.md: FIx typo.
10674 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
10675 (sse2_umulv2siv2di3): Fix predicate.
10676 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
10677 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
10678 * xmmintrin.h (_mm_mul_epu16): Rename to...
10679 (_mm_mul_epu32): This one.
10680 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
10681
10682 (contains_128bit_aligned_vector_p): Undo accidental checkin.
10683
3aabf9a5
EC
106842002-10-22 Eric Christopher <echristo@redhat.com>
10685
10686 * config/sparc/sparc.h: Add #error.
10687
42c78618
UW
106882002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
10689
10690 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
10691 [s390x-*-linux*]: Likewise.
10692 * config/s390/t-linux: Remove.
10693 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
10694
077084dd
JH
10695Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
10696
10697 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
10698 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
10699 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
10700 * i386.md (mmx_punpck?dq): Simplify.
10701 (sse2_pubpcklqdq): Fix.
10702 (sse2_pubpckhqdq): New.
10703 * xmmintrin.h (_mm_unpackhi_epi32): New.
10704
10705 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
10706 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
10707
8fe734a3
NS
107082002-10-22 Nathan Sidwell <nathan@codesourcery.com>
10709
10710 PR c++/7209
10711 * fold_const.c (fold_binary_op_with_conditional_arg): Always
10712 build compound_expr if we used save_expr.
10713
6a0a6ac4
AM
107142002-10-22 Alan Modra <amodra@bigpond.net.au>
10715
10716 * output.h (SECTION_NOTYPE): Define.
10717 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
10718 init array sections.
10719 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
10720 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
10721 merge TLS support.
10722
4977bab6
ZW
107232002-10-21 Richard Henderson <rth@redhat.com>
10724
10725 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
10726 the function type, not the return type.
10727
5e26e5a2
RH
107282002-10-21 Richard Henderson <rth@redhat.com>
10729
10730 * real.c (sticky_rshift_significand): Return inexact, don't
10731 or it in immediately.
10732 (sub_significands): Accept incomming carry.
10733 (div_significands, rtd_divmod): Update for sub_significands change.
10734 (round_for_format): Update for sticky_rshift_significand change.
10735 (do_add): Don't involve the inexact bit in addition, do give the
10736 inexact bit as the subtraction carry-in.
10737 (encode_internal, decode_internal, real_internal_format): New.
10738 * real.h (real_internal_format): Declare.
10739
f8eef883
UW
107402002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
10741
10742 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
10743 don't define sdiv_qrnnd.
10744
89e56fe5
KH
107452002-10-21 Kazu Hirata <kazu@cs.umass.edu>
10746
10747 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
10748 using IN_RANGE.
10749 (TINY_CONSTANT_ADDRESS_P): Likewise.
10750
f02e1358
JH
10751Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
10752
10753 * i386.c (builtin_description): Add punpcklqdq and movdq2q
10754 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
10755 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
10756 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
10757 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
10758 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
10759 __builtin_ia32_setzero128.
10760 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
10761 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
10762 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
10763 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
10764 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
10765 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
10766 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
10767 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
10768 sse2_movq): New patterns.
10769 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
10770 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
10771 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
10772 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
10773 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
10774 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
10775 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
10776 (_mm_insert_epi16): Fix.
10777
de40e1df
DJ
107782002-10-21 Dale Johannesen <dalej@apple.com>
10779
8bcefb43 10780 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
de40e1df
DJ
10781 unsafe math reversals correctly for RTL generation.
10782 (output_cbranch): Replace rs6000_reverse_condition call
10783 by its former definition.
10784
75d38379
JJ
107852002-10-21 Jakub Jelinek <jakub@redhat.com>
10786
10787 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
10788 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
10789 from constant pool or LABEL_REFs as sign extended if allow_rip.
10790 Change all +-1GB limits to +-16MB.
10791 (x86_64_general_operand, x86_64_szext_general_operand,
10792 x86_64_nonmemory_operand, x86_64_movabs_operand,
10793 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
10794 legitimate_address_p, ix86_expand_int_movcc): Update callers.
10795 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
10796 in CM_SMALL_PIC model.
10797 (legitimate_pic_address_disp_p): Don't check offsets before
10798 calling local_symbolic_operand.
10799 (legitimize_pic_address): Force offsets bigger than +-16MB into
10800 register.
10801 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
10802 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
10803 prototype.
10804
10805 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
10806 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
10807 * configure: Rebuilt.
10808 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
10809 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
10810 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
10811 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
10812 -fpic.
10813 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
10814 non-pic code if TARGET_64BIT.
10815 (legitimize_address): Generate 64-bit TLS sequences.
10816 (output_pic_addr_const): Support x86-64 TLS operators.
10817 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
10818 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
10819 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
10820 (output_addr_const_extra): Support x86-64 TLS operators.
10821 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
10822 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
10823 unconditionally.
10824 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
10825 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
10826 (*tls_global_dynamic_sun): Renamed to...
10827 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
10828 (tls_global_dynamic): Renamed to...
10829 (tls_global_dynamic_32): ... this.
10830 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
10831 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
10832 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
10833 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
10834 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
10835 (tls_local_dynamic_base_dynamic): Renamed to...
10836 (tls_local_dynamic_base_dynamic_32): ... this.
10837 (tls_local_dynamic_base_dynamic_64,
10838 *tls_local_dynamic_base_dynamic_64): New.
10839 (*tls_local_dynamic_once): Renamed to...
10840 (*tls_local_dynamic_32_once): ... this.
10841
59798a0c
UW
108422002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
10843
10844 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
10845 __divdi3, __umoddi3, or __moddi3.
10846
97d05bfd
UW
108472002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
10848
10849 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
10850 instead of just opt_index as switch expression.
10851
10852 * calls.c (store_one_arg): Change type of 'excess_align'
10853 to unsigned int.
10854
10855 * profile.c (output_gcov_string): Change type of 'temp'
10856 to size_t.
10857
5d4d885c
UW
108582002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
10859
10860 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
10861 (__fixunssfdi, __fixsfdi): Likewise.
10862 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
10863 (s390_single_qi): Likewise.
10864 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
10865 unsigned comparison warning.
10866 (s390_return_addr_rtx): New function.
10867 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
10868 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
10869 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
10870
3062825f
UW
108712002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
10872
10873 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
10874 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
10875 (s390_output_mi_thunk): Remove.
10876 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10877
2918c993
KH
108782002-10-21 Kazu Hirata <kazu@cs.umass.edu>
10879
10880 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
10881
4977bab6
ZW
108822002-10-20 Zack Weinberg <zack@codesourcery.com>
10883
10884 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
10885 inverted test in the conditional determining the possibility
10886 of sibcalls in PIC mode.
10887
c590b625
RH
108882002-10-20 Richard Henderson <rth@redhat.com>
10889
10890 * target.h (struct gcc_target): Line wrap.
10891
10892 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
10893 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
10894 * config/alpha/alpha.h: ... not here.
10895 * config/alpha/alpha-protos.h: Update.
10896
10897 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
10898 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10899 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
10900 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
10901 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
10902 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
10903 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
10904 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
10905 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3aabf9a5 10906 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
c590b625
RH
10907 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
10908 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
10909 config/sparc/sparc.c, config/sparc/sparc.h,
10910 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10911 config/stormy16/stormy16.h: Similarly.
10912
10913 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
10914 selection logic from call patterns.
10915
16f7d029
MM
109162002-10-20 Mark Mitchell <mark@codesourcery.com>
10917
10918 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
10919
ab3146fd
ZD
109202002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10921
10922 PR other/8202
10923 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
10924 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
10925 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
10926 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
10927
e03b7153
RS
109282002-10-20 Roger Sayle <roger@eyesopen.com>
10929
10930 PR c/761
10931 * toplev.c (flag_unsafe_profile_arcs): Remove.
10932 (flag_bounded_pointers): Remove.
10933 (flag_bounds_check): Correct comments.
10934 (lang_independent_options): Remove -funsafe-profile-arcs and
10935 -fbounded-pointers. Correct -fbounds-check comments.
10936
10937 * flags.h: Correct flag_schedule_interblock comments.
10938 (flag_bounded_pointers): Remove prototype.
10939 (flag_bounds_check): Correct comments.
10940
10941 * c-opts.c (c_common_init_options): No need to mark
10942 flag_bounds_check as unspecified.
10943 (c_common_post_options): And no need to set it from
10944 flag_bounded_pointers if its still unspecified.
10945
10946 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
10947 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
10948 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
10949 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
10950
4977bab6
ZW
10951Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
10952 Angela Marie Thomas <angela@releasedominatrix.com>
10953 Brendan Kehoe <brendan@zen.org>
10954 Nick Clifton <nickc@redhat.com>
10955 Andrew Haley <aph@redhat.com>
10956
10957 * configure.in (--with-sysroot): New. Don't inhibit libc if
10958 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
10959 and CROSS_SYSTEM_HEADER_DIR.
10960 * configure: Rebuilt.
10961 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
10962 (TARGET_SYSTEM_ROOT): New.
10963 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
10964 CROSS_SYSTEM_HEADER_DIR.
10965 (install-gcc-tooldir): New target.
10966 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
10967 if SYSTEM_HEADER_DIR does not exist and it's not the default
10968 sys-include directory.
10969 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
10970 (install-mkheaders): Likewise.
10971 * gcc.c (target_system_root): New variable.
10972 (add_sysrooted_prefix): New function.
10973 (process_command): Recompute run-time target_system_root from
10974 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
10975 does not exist.
10976 (do_spec_1): Process 'R' spec.
10977 (main): Add md_exec_prefix to exec_prefixes regardless of
10978 startfile_prefix_spec. Use add_sysrooted_prefix for
10979 startfile_prefixes, and don't skip the default ones when cross
10980 compiling with sysroot enabled. Removed unused case of
10981 non-absolute standard_startfile_prefix.
10982 * config/interix.h: Remove the only potential, yet disabled,
10983 occurrence of non-absolute (empty) standard_startfile_prefix.
10984 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
10985 linking.
10986 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
10987 * doc/install.texi (--with-sysroot): Document.
10988 (--with-headers, --with-libs): Deprecate.
10989
eb0424da 109902002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8bcefb43 10991 Mark Mitchell <mark@codesourcery.com>
eb0424da
MM
10992
10993 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
10994 match target.h.
10995 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
10996 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
10997 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
10998 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
10999 x86_output_mi_thunk): Likewise.
11000 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
11001 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
11002 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
11003 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
11004 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
11005 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
11006 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
11007 Likewise.
11008 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3aabf9a5 11009
eb0424da
MM
11010 * target.h (gcc_target): Update output_mi_thunk and
11011 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
11012 vcall_index.
11013
11014 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
11015 TARGET_ASM_OUTPUT_MI_THUNK in comments.
11016 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
11017 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
11018 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
11019 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
11020 signature.
11021 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
11022 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
11023 TARGET_ASM_OUTPUT_MI_THUNK in comments.
11024 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
11025 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
11026 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
11027 TARGET_ASM_OUTPUT_MI_THUNK in comments.
11028 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
11029 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
11030
11031 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
11032 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3aabf9a5 11033
433d5d04
BL
110342002-10-19 Brad Lucier <lucier@math.purdue.edu>
11035
11036 * real.c (do_add): Fix 0+0 sign corner case.
11037 (do_divide): Fix Inf/0 corner case.
11038
1194ca05
JH
11039Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
11040
11041 * i386.c (classify_argument): Pass MMX arguments in memory
11042 (ix86_expand_builtin): Expand proper address mode for cflush.
11043 * i386.md (movdqa): Fix typo.
11044 (sse2_cflush): Accept DImode addresses.
11045
11046 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
11047 (_mm_max_sd): Fix pasto.
11048 (_mm_storeh_pd, _mm_storel_pd): Fix.
11049
11050 * i386.c (bdesc_comi): Fix to match specification.
11051 (ix86_expand_sse_comi): Emit the comparison properly.
11052 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
11053 Do not use comparison operator.
11054 (vnmaskcmp): Fix template.
11055
11056 * xmmintrin.h (_mm_cvtps_pi16): Fix.
11057
3df5d99e
SP
110582002-10-19 Sebastian Pop <s.pop@laposte.net>
11059
11060 * dependence.c : Removed.
8bcefb43 11061 * Makefile.in : Remove dependence.o.
3df5d99e 11062
822eda12
JH
11063Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
11064
11065 * mmintrin.h (__m64): typedef it to v2si.
11066 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
11067 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
11068 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
11069 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
11070 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
11071 * xmmintrin.h (_mm_setzero_si64): Likewise.
11072
11073 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
11074 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
11075
11076 PR target/7693
11077 Patch by Shawn Wagner
11078 * mmintrin.h: Replace pi64 by si64.
11079
914a7297
DE
110802002-10-18 David Edelsohn <edelsohn@gnu.org>
11081
11082 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
11083 Use length of 4 not *.
11084 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
11085 (movdf_softfloat64): Likewise.
11086 (movdi_internal32): Use length of 4 not *.
11087 (movti_power): Same.
11088 (ctrsi, ctrdi): Same.
11089
4a7510cb
ZW
110902002-10-18 Zack Weinberg <zack@codesourcery.com>
11091
11092 * c-decl.c (start_decl): Point users of the old initialized-
11093 typedef extension at __typeof__.
11094
99c57613
RH
110952002-10-18 Richard Henderson <rth@redhat.com>
11096
11097 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
11098 (real_to_decimal): Re-implement using the logic from the
11099 gcc 3.2 etoasc. Comment heavily.
11100 (div_significands): Simplify loop startup and comparison logic.
11101
483ab821
MM
111022002-10-18 Mark Mitchell <mark@codesourcery.com>
11103
11104 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
11105 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
11106 (TARGET_ASM_OUT): Add them.
11107 * target.h (asm_out): Add output_mi_thunk and
11108 output_mi_vcall_thunk.
11109 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11110 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11111 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
11112 * config/arm/arm.c (arm_output_mi_thunk): Define.
11113 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11114 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11115 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11116 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11117 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11118 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11119 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
11120 prototype.
11121 (x86_output_mi_vcall_thunk): Declare.
11122 * config/i386/i386.c (override_options): Clear
11123 output_mi_vcall_thunk in 64-bit mode.
11124 (ix86_fntype_regparm): New function.
11125 (ix86_return_pops_args): Use it.
11126 (ia32_this_parameter): New function.
11127 (x86_output_mi_vcall_thunk): New function.
11128 (x86_output_mi_thunk): Use it
11129 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
11130 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
11131 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
11132 * config/i960/i960.c (i960_output_mi_thunk): New function.
11133 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
11134 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
11135 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
11136 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11137 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11138 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
11139 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11140 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11141 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11142 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11143 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11144 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11145 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11146 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11147 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11148 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11149 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
11150 * config/s390/s390.c (s390_output_mi_thunk): Define.
11151 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11152 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11153 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11154 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11155 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11156 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11157 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
11158 * config/vax/vax.c (vax_output_mi_thunk): Define.
11159 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11160 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11161 * doc/tm.texi: Adjust documentation.
4a7510cb 11162
90e021a0
JT
111632002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
11164
4a7510cb
ZW
11165 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
11166 __enable_execute_stack function.
90e021a0
JT
11167 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
11168 as NETBSD_ENABLE_EXECUTE_STACK.
11169 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11170 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11171 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11172 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11173 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11174
5791cc29
JT
111752002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
11176
11177 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
11178 to __enable_execute_stack with the address of the trampoline
11179 if TRANSFER_FROM_TRAMPOLINE is defined.
11180 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
11181 constant if building libgcc2.
11182
4977bab6
ZW
11183Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
11184
11185 * i386.c (pentium4_cost): Fix according to Intel recommendations.
11186 (ix86_memory_move_cost): Fix for 64bit compilation.
11187
7b35bba3
RS
111882002-10-17 Roger Sayle <roger@eyesopen.com>
11189
11190 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
11191
b991a865
GK
111922002-10-17 Geoffrey Keating <geoffk@apple.com>
11193
11194 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
11195 in CTR/LR/MQ.
11196 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
11197 to/from CTR/LR/MQ.
11198 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
11199 (movsf_softfloat): Likewise.
11200
fa870451
JJ
112012002-10-17 Janis Johnson <janis187@us.ibm.com>
11202
11203 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
11204
e31c2957
JT
112052002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
11206
11207 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
11208 tramp, not addr, to pass the trampoline address to
11209 __enable_execute_stack.
11210
48126a97
JH
11211Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
11212
11213 * mmintrin.h: Guard by __MMX__
11214 * xmmintrin.h: Guard by __SSE__
11215
11216 PR other/8062
11217 * xmmintrin.h (_MM_SHUFFLE2): New macro.
11218 (_mm_load*_?d): New functions.
11219 (_mm_set*_?d): New functions.
11220 (_mm_store*_?d): New functions.
11221
2ffa9932
JH
11222Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
11223
11224 Really commit patch announced at Oct 14
11225 PR c/7344
11226 * predict.c (can_predict_insn_p): New function.
11227 (estimate_probability): Avoid unnecesary work.
11228 (process_note_prediction): Likewise.
11229 * toplev.c (rest_of_compilation): Account early branch prediction pass
11230 as TV_BRANCH_PROB.
11231
ccc4bdea
JH
11232 PR other/8048
11233 Found by Ian Ollmann
11234 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
11235 (_mm_load?_pd): Likewise.
11236 (_mm_store?_pd): Likewise.
11237
11238 PR target/7386
11239 * i386.c (builtin_description):Drop cmpg[te]s[sd].
11240 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
11241 swapped alternative.
11242
11243 PR opt/7630
11244 * reload1.c (reload_inner_reg_of_subreg): New argument output;
11245 (push_reload): Update call.
11246
4db83639
RS
112472002-10-17 Richard Sandiford <rsandifo@redhat.com>
11248
11249 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
11250 if using mips/elf.h or mips/elf64.h.
11251 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
11252 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
11253
f9dd72da
AH
112542002-10-16 Aldy Hernandez <aldyh@redhat.com>
11255
11256 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
11257 SI.
11258
63a1ff86
UW
112592002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
11260
11261 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
11262 (LPREFIX): Likewise.
11263 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
11264 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
11265 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
11266 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
11267 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
11268
4a7510cb
ZW
11269 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
11270 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
11271 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
63a1ff86
UW
11272 BSS_SECTION_ASM_OP): Move from linux.h.
11273 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11274 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
11275
4a7510cb 11276 * config/s390/s390.c (s390_function_profiler): Use
63a1ff86
UW
11277 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
11278
4977bab6
ZW
112792002-10-15 Eric Christopher <echristo@redhat.com>
11280
11281 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
11282 * java/parse.y (obtain_incomplete_type): Make pointer
11283 ptr_mode.
11284
da6eec72
RH
112852002-10-15 Richard Henderson <rth@redhat.com>
11286
11287 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
11288 as arguments. Bound DIGITS by the available buffer size.
11289 (real_to_hexadecimal): Likewise.
11290 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
11291 (REAL_VALUE_TO_DECIMAL): Remove.
11292 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
11293 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4a7510cb 11294 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
da6eec72
RH
11295 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
11296 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4a7510cb 11297 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
da6eec72
RH
11298 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
11299 use real_to_decimal directly, and with the proper arguments.
11300 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
11301
c15c18c5
JW
113022002-10-15 Jim Wilson <wilson@redhat.com>
11303
11304 * reload1.c (merge_assigned_reloads): After converting overlapping
11305 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
11306
11307 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
11308
74f6d071
JH
11309Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
11310
11311 * expr.c (do_tablejump): Fix typo in my previous commit.
11312
a2ee89d8
RS
113132002-10-15 Richard Sandiford <rsandifo@redhat.com>
11314
11315 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
11316
aee4e0db
UW
113172002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
11318
11319 * config/s390/s390.c (s390_split_branches): Add return
11320 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
11321
11322 (find_base_register_in_addr): New function.
11323 (find_base_register_ref): New function.
11324 (replace_base_register_ref): New function.
11325
11326 (struct constant_pool): Add members pool_insn, insns, and anchor.
11327 Remove member last_insn.
11328 (s390_start_pool): Initialize them.
4a7510cb 11329 (s390_end_pool): Emit pool placeholder insn.
aee4e0db
UW
11330 (s390_add_pool_insn): New function.
11331 (s390_find_pool): Use insns bitmap instead of addresses.
11332 (s390_dump_pool): Replace placeholder insn. Emit anchor.
11333 Replace unspec 104 by local-pool-relative references.
11334 (s390_output_constant_pool): Output anchor label if required.
11335 (s390_output_symbolic_const): Handle unspec 104 and 105.
11336 (s390_add_pool): Remove, replace by ...
11337 (s390_add_constant, s390_find_constant): ... these new functions.
11338 (s390_add_anchor): New function.
11339
11340 (s390_chunkify_pool): Delete, replace by ...
4a7510cb 11341 (s390_chunkify_start, s390_chunkify_finish,
aee4e0db
UW
11342 s390_chunkify_cancel): ... these new functions.
11343 (s390_optimize_prolog): Add parameter TEMP_REGNO.
11344 Recompute register live data for special registers.
11345 (s390_fixup_clobbered_return_reg): New function.
11346 (s390_machine_dependent_reorg): Rewrite to use new
11347 s390_chunkify_... routines.
11348
11349 config/s390/s390.md ("reload_base"): Rename to ...
11350 ("reload_base_31"): ... this.
11351 ("reload_base_64"): New insn.
11352 ("reload_base2"): Remove.
11353 ("reload_anchor"): New insn.
11354 ("pool"): New insn.
11355
11356 s390.c (s390_pool_overflow): Remove.
11357 s390.h (s390_pool_overflow): Likewise.
11358 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
11359
c034672a
R
11360Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
11361
11362 * sh.md (movv8qi_i+2): Don't split if source is -1.
11363
b8db17af
JJ
113642002-10-15 Janis Johnson <janis187@us.ibm.com>
11365
11366 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
11367
2d34c587
UW
113682002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
11369
11370 PR opt/7409
11371 * loop.c (loop_regs_scan): Mark registers used for function
11372 argument passing as MAY_NOT_OPTIMIZE.
11373
4977bab6
ZW
11374Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
11375
11376 * gcov-io.h (gcov_info): Fix type.
11377 * profile.c (create_profiler): Fix type mismatch.
11378
1877be45
JH
11379Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
11380
11381 * i386.md (movv2di_internal): New pattern.
11382 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
11383 (movv2di): New expander.
11384 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
11385
11386 * i386.c (ix86_expand_timode_binop_builtin): Delete.
11387 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
11388 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
11389 (ix86_expand_builtin): Likewise.
11390 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 11391 sse_andti3,
1877be45 11392 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 11393 sse_andnti3,
1877be45 11394 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4a7510cb 11395 sse_orti3,
1877be45 11396 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4a7510cb 11397 sse_xorti3): Kill.
1877be45
JH
11398 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
11399 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
11400 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
11401 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11402 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
11403 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11404
11405 * xmmintrin.h (__m128i): Define as __v2di.
11406
1877be45
JH
11407 PR c++/6419
11408 (expand_expr): Use DECL_RTL_SET_P.
11409
dbf4f1a2
RS
114102002-10-14 Roger Sayle <roger@eyesopen.com>
11411
11412 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
11413
4f770e7b
RS
114142002-10-14 Roger Sayle <roger@eyesopen.com>
11415 Zack Weinberg <zack@codesourcery.com>
11416
11417 * config/i386/i386.c (k6_cost): Correct typo.
11418
a3b88570
MM
114192002-10-14 Mark Mitchell <mark@codesourcery.com>
11420
11421 PR optimization/6631
11422 * alias.c (objects_must_conflict_p): Check honor_readonly when
11423 examining TYPE_READONLY.
11424 * function.c (assign_stack_temp_for_type): Likewise.
11425
f5204e6c
FH
114262002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
11427
11428 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
11429 Swap zero extension arguments.
11430 (umaxhi3): Fix instruction class.
11431 PR target/7211
11432 (prefetch): Fix prefetch instructions.
11433 PR target/7238
11434 (pkwb): Fix output constraint.
11435
40e6bc7e
AO
114362002-10-14 Alexandre Oliva <aoliva@redhat.com>
11437
11438 * config/mips/mips.c (print_operand): Increase buffer size for
11439 real numbers.
11440
f4e3e618
RH
114412002-10-14 Richard Henderson <rth@redhat.com>
11442
11443 PR opt/8165
11444 * gcse.c (adjust_libcall_notes): Revert last change.
11445 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
11446
3eb429b2
AH
114472002-10-14 Andrew Haley <aph@redhat.com>
11448
11449 * tree-inline.c (remap_block): All local class initialization
11450 flags go in the outermost scope.
11451 (expand_call_inline): Call java_inlining_map_static_initializers.
11452 (expand_call_inline): Call java_inlining_merge_static_initializers.
11453 * java/lang.c (merge_init_test_initialization): New.
11454 (java_inlining_merge_static_initializers): New.
11455 (inline_init_test_initialization): New.
11456 (java_inlining_map_static_initializers): New.
11457
11458 * tree-inline.c (expand_call_inline): Convert retvar to expected
11459 type.
11460
34146b94
GS
114612002-10-14 Graham Stott <graham.stott@btinternet.com>
11462
11463 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
11464
3a840c93
AH
114652002-10-14 Aldy Hernandez <aldyh@redhat.com>
11466
11467 * stmt.c: Fix typo in comment.
11468
7457a126
R
11469Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
11470
11471 * c-common.c (c_common_type_for_mode): Add V2HImode case.
11472 * tree.c (build_common_tree_nodes_2): Initialize
11473 unsigned_V2HI_type_node and V2HI_type_node.
11474 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
11475 (unsigned_V2HI_type_node, V2HI_type_node): Define.
11476
0d1c5774
JJ
114772002-10-14 Jakub Jelinek <jakub@redhat.com>
11478
11479 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
11480 Handle TARGET_64BIT.
11481
adadd183
RS
114822002-10-14 Richard Sandiford <rsandifo@redhat.com>
11483
11484 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
11485 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
11486 (MULTILIB_DIRNAMES): Remove long32.
11487 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
11488 (MULTILIB_REDUNDANT_DIRS): Remove.
11489
db36994b
RS
114902002-10-14 Richard Sandiford <rsandifo@redhat.com>
11491
11492 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
11493 * gcc.c (driver_self_specs): New variable.
11494 (do_self_spec): New function.
11495 (main): Use it to process driver_self_specs.
11496
11e5489b
RH
114972002-10-13 Richard Henderson <rth@redhat.com>
11498
4977bab6
ZW
11499 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
11500 indirect sibcalls when regparm >= 3.
11501
11502 * config/i386/i386.c (sibcall_insn_operand): New.
11503 * config/i386/i386.h (PREDICATE_CODES): Update.
11504 * config/i386/i386-protos.h: Update.
11505 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
11506
11e5489b
RH
11507 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
11508
4977bab6
ZW
115092002-10-12 Roger Sayle <roger@eyesopen.com>
11510
11511 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
11512 arithmetic right shifts of ~0 during RTL simplifications.
11513
4ca1256f
NB
115142002-10-12 Neil Booth <neil@daikokuya.co.uk>
11515
11516 PR preprocessor/7862
11517 PR preprocessor/8190
11518 * gcc.c (cpp_unique_options): Don't delete .d files.
11519 Remove stray whitespace.
11520
cf860dc2
NS
115212002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
11522
11523 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
11524 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
11525 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
11526 (pdp11_output_function_epilogue, output_ascii): Likewise.
11527 (output_addr_const_pdp11): Likewise.
11528 * pdp11.md (movdi): Use offsetable memory for floating store.
11529 (lshrsi3, negsi2): Delete irrelevant comment.
11530
4977bab6
ZW
115312002-10-11 Andreas Bauer <baueran@in.tum.de>
11532
11533 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
11534 indirect calls to be sibcall optimized.
11535 * config/i386/i386.md (sibcall_1): New.
11536 (call_1): Add no-sibcalls condition.
11537 (sibcall_value_1): New.
11538 (call_value_1): Add no-sibcalls condition.
11539
115402002-10-11 Eric Christopher <echristo@redhat.com>
11541
11542 * output.h (default_valid_pointer_mode): Declare.
11543 * varasm.c (default_valid_pointer_mode): Define.
11544 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
11545 * target.h: Ditto.
11546 * tree.c (build_pointer_type_for_mode): New function.
11547 (build_pointer_type): Use.
11548 (build_reference_type_for_mode): New function.
11549 (build_reference_type): Use.
11550 * tree.h: Declare new functions.
11551 * c-common.c (handle_mode_attribute): Use new functions, check
11552 for type.
11553 * stor-layout.c (layout_type): Depend on machine mode for
11554 REFERENCE_TYPE and POINTER_TYPE.
11555 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
11556 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
11557 and REFERENCE_TYPE.
11558 * config/mips/mips.c (mips_valid_pointer_mode): New function.
11559 (TARGET_VALID_POINTER_MODE): Use and define.
11560 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
11561
5dd78e9a
GK
115622002-10-11 Geoffrey Keating <geoffk@apple.com>
11563
11564 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
11565 not the address of the REG.
11566 (struct cse_reg_info): Make subreg_ticked unsigned.
11567
8eb32f94
JJ
115682002-10-11 Janis Johnson <janis187@us.ibm.com>
11569
11570 * doc/compat.texi: Add info about C++ libraries.
11571
e197b6fc
RH
115722002-10-11 Richard Henderson <rth@redhat.com>
11573
11574 PR opt/8165
11575 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
11576
a0bed689
JDA
115772002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
11578
11579 * cfganal.c (dfs_enumerate_from): Use PARAMS.
11580 * genautomata.c (output_insn_code_cases): Likewise.
11581 * real.c (real_format): Likewise.
11582 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
11583 ensure value is promoted before doing subtraction.
11584
db655634
JH
11585Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
11586
11587 * calls.c (expand_call): Simplify noreturn call.
11588
11589 PR c/7344
11590 * cfgbuild.c (make_edges): Create edge cache when we do have
11591 large jumptable.
1877be45 11592 * expr.c (do_tablejump): Note size of maximal jumptable.
db655634
JH
11593 * function.c (prepare_function_start): Zero out size.
11594 * function.h (function): Add max_jumptable_ents.
11595
11596 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11597
750afc12
R
11598Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
11599
11600 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
11601 register for mperm_w operation.
11602
0488fa7c
JR
11603Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
11604
11605 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
11606 an integer, use simplify_gen_subreg.
11607
4977bab6
ZW
116082002-10-10 Diego Novillo <dnovillo@redhat.com>
11609
11610 * calls.c (flags_from_decl_or_type): Make extern.
11611 (ECF_*): Move ...
11612 * rtl.h (ECF_*): ... here.
11613 (flags_from_decl_or_type): Declare.
11614
116152002-10-10 Roger Sayle <roger@eyesopen.com>
11616 Nathan Sidwell <nathan@codesourcery.com>
11617
11618 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
11619 shifts of the form -1 >> x.
11620
11621Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
11622
11623 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11624
349e9f4b
AH
116252002-10-10 Aldy Hernandez <aldyh@redhat.com>
11626
11627 * extend.texi (Vector Extensions): Remove comment about single
11628 element vectors.
11629
7bdfd72e
KG
116302002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11631
11632 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
11633 * function.c (insns_for_mem_hash): Likewise.
11634 * varasm.c (STRHASH): Likewise.
11635
46081bb3
SH
116362002-10-10 Stuart Hastings <stuart@apple.com>
11637
11638 * cse.c (struct cse_reg_info): Add subreg_ticked.
11639 (SUBREG_TICKED): New.
11640 (get_cse_reg_info): Initialize SUBREG_TICKED.
11641 (mention_regs): Use it.
11642 (invalidate): Set SUBREG_TICKED.
11643 (invalidate_for_call): Likewise.
11644 (addr_affects_sp_p): Likewise.
11645
9785f1d9
JJ
116462002-10-10 Jakub Jelinek <jakub@redhat.com>
11647
11648 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
11649 into proper operand.
11650
b6878188
DC
116512002-10-10 Denis Chertykov <denisc@overta.ru>
11652
11653 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
11654 deallocation.
11655 * config/ip2k/libgcc.S: Combine routines used by function
11656 epilogue.
11657
f930bfd0
JW
116582002-10-10 Jim Wilson <wilson@redhat.com>
11659
11660 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
11661 UDIV.
11662
5f5d5417
DE
116632002-10-10 David Edelsohn <edelsohn@gnu.org>
11664
11665 * config/rs6000/aix52.h: New file.
11666 * config/rs6000/t-aix52: New File.
11667 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
11668 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
11669
7eafc329
JH
11670Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
11671
11672 PR target/5610
11673 * invoke.texi (-msse-math): Kill
11674 (-msse): Add note to mfpmath=sse.
11675
b105d6da
JH
11676Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
11677
11678 PR target/7723
11679 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
11680
5febdf0d
NB
116812002-10-10 Neil Booth <neil@daikokuya.co.uk>
11682
11683 PR preprocessor/8179
11684 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
11685 as cc1_options.
11686 (default_compilers): Pass debug options when preprocessing
11687 stdin.
11688
7db40b5f
RH
116892002-10-06 Richard Henderson <rth@redhat.com>
11690
11691 * toplev.c (rest_of_compilation): Revert opt/2960 change.
11692
4977bab6
ZW
11693Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
11694
11695 * i386.c (*_cost): Add branch costs.
11696 (override_options): set ix86_branch_cost.
11697 (ix86_expand_int_movcc): Use BRANCH_COST.
11698 * i386.h (costs): Add branch_cost.
11699
95f79357
ZW
117002002-10-09 Zack Weinberg <zack@codesourcery.com>
11701
11702 PR c/7353
11703 * c-decl.c (start_decl): Unconditionally issue error for
11704 'typedef foo = bar'.
11705 (finish_decl): Remove special case for TYPE_DECL with initializer.
11706
11707 * doc/extend.texi: Delete "Naming Types" section. Change all
11708 cross-references to that section to refer to "Typeof" instead.
11709 Add the useful safe-max()-macro example from "Naming Types" to
11710 "Typeof", rewritten using that extension. Add some compatibility
11711 notes to "Typeof."
11712
44a5565d
KG
117132002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11714
11715 * loop.c: Revert 2002-08-15 change.
11716 (LOOP_REGNO_NREGS): Ensure type is int.
11717
a2419b96
DE
117182002-10-09 David Edelsohn <edelsohn@gnu.org>
11719
11720 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
11721 which copies first FPR and clears second.
11722 (extendsftf2): Same.
11723 (floatditf2): Fix typo.
11724 (floatsitf2): Same.
11725 (fix_trunctfdi2): Same.
11726 (fix_trunctfsi2): Same.
11727
fb7e6024
KG
117282002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11729
11730 * conflict.c (arc_hash): Change return type to hashval_t.
11731 * cselib.c (get_value_hash): Likewise.
11732 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
11733 state_hash, automata_list_hash): Likewise.
11734 * read-rtl.c (def_hash): Likewise.
11735 * tree.c (type_hash_hash): Likewise.
11736
36f7e964
AH
117372002-10-08 Aldy Hernandez <aldyh@redhat.com>
11738
11739 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
11740 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
11741
e3c62520
R
11742Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
11743
11744 * sh.md (ffssi2): Fix emitted code.
11745
a3745024
UW
117462002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
11747
11748 * cse.c (insn_live_p): Pass insn pattern, not full insn
11749 to may_trap_p.
11750
5cc67323
NB
117512002-10-09 Neil Booth <neil@daikokuya.co.uk>
11752
11753 * cppmacro.c (paste_tokens): Only allow / to paste with =.
11754
f5264b52
DE
117552002-10-09 David Edelsohn <edelsohn@gnu.org>
11756
11757 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
11758 64-bit hosts.
11759 (movtf_internal): Reference correct displacement for second value
11760 in memory.
11761 (movtf splitter): Correct generation of constants in 64-bit mode.
11762
cef1c1ba
AM
117632002-10-09 Alan Modra <amodra@bigpond.net.au>
11764
11765 * libgcc2.c (__floatdisf): Properly cure double rounding.
11766
8d15eebc
GDR
117672002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
11768
11769 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
11770 * doc/cpp.texi (Common Predefined Macros): Document.
11771
87ec8de9
GDR
117722002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
11773
11774 PR doc/7484
11775 * doc/invoke.texi (Option Summary): List
11776 -Wmissing-declarations as a C only option.
11777
4977bab6
ZW
117782002-10-08 Roger Sayle <roger@eyesopen.com>
11779
11780 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
11781 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
11782 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
11783
11784Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
11785
11786 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11787 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
11788 variables.
11789 (safe_vector_operand): Update sse_clrv4sf call.
11790 (ix86_expand_buildin): Likewise
11791 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11792 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
11793 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
11794 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
11795 macros.
11796 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
11797 movv4si): Obey the new flags.
11798 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
11799 reformating penalty.
11800 (anddf, cmov patterns): Avoid reformating by first converting.
11801 (sse_cvtsd2ss): Fix predicate.
11802 (sse2_clrti): Fix mode,
11803 (sse_clrv4sf): Avoid unspec.
11804
fb7d9c35
JJ
118052002-10-08 Jakub Jelinek <jakub@redhat.com>
11806
11807 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
11808 mno-app-regs|mcmodel=medany.
11809 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
11810 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
11811 (CRTSTUFF_T_CFLAGS): Define.
11812
11f3e4c7
RS
118132002-10-08 Roger Sayle <roger@eyesopen.com>
11814
11815 PR target/8087
11816 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
11817 pool references that are constructed using LO_SUM.
11818
bf52f899
NS
118192002-10-08 Nathan Sidwell <nathan@codesourcery.com>
11820
11821 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
11822 -Wall.
11823 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
11824 message.
11825 * flags.h (warn_strict_aliasing): Declare.
11826 * toplev.c (warn_strict_aliasing): Define.
11827 (lang_independent_options): Add it.
11828 * doc/invoke.texi (-Wstrict-aliasing): Document it.
11829
36624850
ZW
118302002-10-08 Zack Weinberg <zack@codesourcery.com>
11831
11832 * system.h (GCCBUGURL): Delete.
11833 * version.c (bug_report_url): New. Add commentary about
11834 modifying both these strings in modified distributions.
11835 * version.h: Declare bug_report_url.
11836
11837 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
11838 bug_report_url.
11839
218145d6
NC
118402002-10-08 Nick Clifton <nickc@redhat.com>
11841
11842 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
11843 convert uint64_t into __ev64_opaque__.
11844 (__ev_set_acc_s64): Likewise, but using signed types.
11845
bb02f6ed
UW
118462002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
11847
11848 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
11849 ("*doloop_di_long"): Likewise.
11850
4fdbcfb2
JH
11851Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
11852
11853 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
11854
e80f2609
RS
118552002-10-08 Richard Sandiford <rsandifo@redhat.com>
11856
11857 * config/mips/mips.md (define_attr cpu): Add r4111.
11858
36624850 118592002-10-08 Anthony Green <green@redhat.com>
4213a3b6 11860
36624850 11861 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4213a3b6 11862
25009e02
MH
118632002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11864
11865 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
11866 for REAL_VALUE_TO_DECIMAL output.
11867
4977bab6
ZW
118682002-10-07 Richard Henderson <rth@redhat.com>
11869
11870 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
11871 function; cleanup PLUS case by using recursion. Update all users.
11872 (NONZERO_BASE_PLUS_P): Remove.
11873 (find_comparison_args): Use rtx_addr_can_trap_p instead.
11874 (fold_rtx): Use nonzero_address_p.
11875 * rtl.h (nonzero_address_p): Declare.
11876 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
11877 (rtx_addr_can_trap_p): Likewise.
11878 (nonzero_address_p): New.
11879 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
11880 (simplify_relational_operation): Use nonzero_address_p.
11881
fcce224d
DE
118822002-10-07 David Edelsohn <edelsohn@gnu.org>
11883
11884 * config/rs6000/rs6000.c (rs6000_override_options): Set
11885 real_format_for_mode for IBM extended format, if enabled.
11886 (easy_fp_constant): Add TFmode.
11887 (rs6000_legitimize_address): Add TFmode.
11888 (rs6000_legitimate_address): Same.
11889 (function_arg_advance): TFmode uses two FPRs.
11890 (rs6000_emit_prologue): Fix warning.
11891 (rs6000_output_function_epilogue): Add TFmode.
11892 (output_toc): Add TFmode.
11893 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
11894 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
11895 * rs6000.md (movtf splitter): Load TFmode constant.
11896
dad482e6 118972002-10-07 Dale Johannesen <dalej@apple.com>
fcce224d 11898
dad482e6
DJ
11899 * rtl.h: Add NOTE_PRECONDITIONED.
11900 * unroll.c: Set it.
11901 * loop.c: Set loop_info->preconditioned from it.
11902 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
11903
de3beb7c
RH
119042002-10-07 Richard Henderson <rth@redhat.com>
11905
11906 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
11907 new rtx for comparing the argument pointer against zero.
11908 (i960_va_start): Similarly.
11909
87cb2a87
RH
119102002-10-07 Richard Henderson <rth@redhat.com>
11911
11912 * config/i960/i960.md (*): Use TFmode, not XFmode.
11913 * config/i960/i960.c (*): Likewise.
11914 (i960_arg_size_and_align): Remove XFmode alignment hack.
11915 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
11916 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
11917 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
11918 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
11919
5ef38d2a
RH
119202002-10-07 Richard Henderson <rth@redhat.com>
11921
11922 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
11923 entry points; use void return value and argument list.
11924
4977bab6
ZW
119252002-10-06 Andreas Bauer <baueran@in.tum.de>
11926
11927 * calls.c (expand_call): Fix function-is-volatile check.
11928
e7f9979a
NS
119292002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
11930
11931 * t-pdp11: Add MULTILIB support for msoft-float.
11932 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
11933
11934 * t-pdp11: Add LIB2FUNCS_EXTRA.
36624850 11935 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
e7f9979a
NS
11936 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
11937 'fldd' to 'ldd', rename 'fstd' to 'std'.
11938 (pdp11_output_function_epilogue): Likewise.
11939 (output_move_quad): Make the comment gas compatible.
11940 (output_ascii): Add preceding 0 to the octal constant.
11941 (print_operand_address): Add pre_modify, post_modify.
11942 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
11943 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
36624850 11944 with the indication of Paul Koning.
e7f9979a
NS
11945 (PRINT_OPERAND): Fix floating constant.
11946 * pdp11.md (movdi): Restrict matching pattern.
11947 (movqi): Generalize the matching pattern.
11948 (movdf): Restrict matching pattern.
11949 (zero_extendqihi2): Change constant representation.
11950 (floatsidf2): Fix wrong operands.
11951 (addqi3): Fix wrong instruction name.
11952 (subqi3): Fix wrong instruction name.
11953 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
11954 (xorsi3): Fix wrong insn.
11955 (one_cmplqi2): Add two operand pattern.
11956 (lsrsi3): New.
11957 (negsi2): New.
11958 (call): Add register indirect case.
11959 (mod): Fix wrong subreg.
11960
a9b6f1e7 119612002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
36624850 11962 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4ef7870a
EB
11963
11964 PR c/7411
11965 * expr.c (expand_expr) [PLUS]: Simplify after the operands
11966 have been expanded in EXPAND_NORMAL mode.
11967
a2900460
RH
119682002-10-06 Richard Henderson <rth@redhat.com>
11969
11970 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
11971
ff025ab9
RH
119722002-10-06 Richard Henderson <rth@redhat.com>
11973
11974 PR optimization/2960
11975 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
11976 optimize_size.
11977
48b80d93
AO
119782002-10-06 Alexandre Oliva <aoliva@redhat.com>
11979
11980 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
11981 previously definitions.
11982
7c7c549e
FCE
119832002-10-06 Frank Ch. Eigler <fche@redhat.com>
11984
11985 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
11986 * c-opts.c (find_opt): Similarly.
11987
4977bab6
ZW
11988Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
11989
11990 * athlon.md: rewrite to DFA.
11991 * i386 (ix86_adjust_cost): Drop memory latency code.
11992 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
11993
c49d2df6
JJ
119942002-10-05 Jakub Jelinek <jakub@redhat.com>
11995
11996 * gcc.c (set_multilib_dir): Don't access *end.
11997 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
11998 (print_multilib_info): Don't show paths starting with ".:".
11999 * genmultilib: Add new option, "yes" if multilibs are enabled.
12000 Update comments. If multilibs not enabled, print .:${osdirout}
12001 for each directory. If multilibs are enabled, always print
12002 ${dirout}:${osdirout}, even if the two are the same.
12003 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
12004 Pass all MULTILIB_* variables to genmultilib even if
12005 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
12006
4977bab6
ZW
120072002-10-04 Zack Weinberg <zack@codesourcery.com>
12008
12009 * gcc.c (process_command): Set .validated for -pipe. Correct
12010 grammar in comment.
12011
d758c1db
BK
120122002-10-04 Bruce Korb <bkorb@gnu.org>
12013
12014 * fixinc/inclhack.def(hpux11_abs): use format fix
12015 * fixinc/fixincl.x: regenerate
12016 * fixinc/tests/base/stdlib.h: accommodate new fix test
12017
b3dc87c5
JH
12018Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
12019
12020 * c-common.c (cb_register_builtins): Use really_no_inline.
12021
f7a21c70
DE
120222002-10-04 David Edelsohn <edelsohn@gnu.org>
12023
12024 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
12025 copied instruction if the note is not loop invariant.
12026
081d6fb9
LR
120272002-10-04 Loren J. Rittle <ljrittle@acm.org>
12028
12029 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
12030
c5d3d49b
SE
120312002-10-04 Steve Ellcey <sje@cup.hp.com>
12032
12033 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
12034 and -mhp-ld options to list of options. Add -mgnu-ld
12035 and -mhp-ld option descriptions.
12036
0fca111b
SE
120372002-10-04 Steve Ellcey <sje@cup.hp.com>
12038
12039 * fixinc/inclhack.def (hpux11_abs): New.
12040 (stdio_va_list): change __va_list__ to __gnuc_va_list.
12041 * fixinc/fixincl.x: Rebuild.
12042
229b303a
RS
120432002-10-04 Roger Sayle <roger@eyesopen.com>
12044
12045 * config/i386/i386.h (processor_costs): Add new fields fadd,
12046 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
12047 (RTX_COSTS): Use these fields to determine the RTX costs
12048 of floating point addition/subtraction, multiplication,
12049 division, fabs, negation and square root respectively.
12050 * config/i386/i386.c (size_cost): Provide instruction sizes
12051 for these new fields.
12052 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
12053 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
12054 counts for these new fields for all x86 processor variants.
12055
481ed21a
KG
120562002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12057
6017ba03
KG
12058 * mips.c (mips_const_double_ok): Delete unused variable.
12059
481ed21a
KG
12060 * gengtype.c (rtx_next): Change type to int.
12061
635f4680
AJ
120622002-10-04 Andreas Jaeger <aj@suse.de>
12063
12064 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
12065
ee6ff319
RH
120662002-10-04 Richard Henderson <rth@redhat.com>
12067
12068 * real.h (SIGNIFICAND_BITS): Add one more word.
12069 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
12070 * real.c (times_pten): New.
12071 (real_to_decimal, real_from_string): Use it.
12072 (sticky_rshift_significand): Use & to find modulus.
12073 (rshift_significand, lshift_significand): Likewise.
12074 (do_divide): Apply sticky bit after normalization.
12075 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
12076
4977bab6
ZW
120772002-10-03 Andreas Bauer <baueran@in.tum.de>
12078
12079 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
12080 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
12081
6d8dd940
AJ
120822002-10-03 Andreas Jaeger <aj@suse.de>
12083
12084 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
12085 to unsigned long, adjust printf format string.
12086 (output_mangled_typename): Likewise.
12087
191fe2bb
JT
120882002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
12089
12090 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
12091 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
12092 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
12093 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
12094 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
12095 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
12096 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
12097 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
12098
6397d80b
MM
120992002-10-03 Mark Mitchell <mark@codesourcery.com>
12100
12101 * doc/invoke.texi (-Wabi): Document mangling bug.
12102
69c75916
AM
121032002-10-04 Alan Modra <amodra@bigpond.net.au>
12104
12105 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
12106 name for the tbtab label that depends on the function asm name.
12107 Don't output tbtab label unless optional_tbtab.
12108 (output_mi_thunk): Formatting.
12109
adf2ac37
RH
121102002-10-03 Richard Henderson <rth@redhat.com>
12111
12112 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
12113 * config/m68k/m68k.c (override_options): ... here.
12114 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
12115 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
12116 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
12117 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
12118
a7519393
RH
121192002-10-03 Richard Henderson <rth@redhat.com>
12120
12121 * real.h (struct real_value): Use ENUM_BITFIELD.
12122
41552736
RH
121232002-10-03 Richard Henderson <rth@redhat.com>
12124
12125 * config/i960/i960.md (call, call_value): Use emit_call_insn.
12126
882affa8
SE
121272002-10-03 Steve Ellcey <sje@cup.hp.com>
12128
12129 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
12130
83eb95f9
SE
121312002-10-03 Steve Ellcey <sje@cup.hp.com>
12132
12133 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
12134 * config/pa/pa.h (MASK_GNU_LD): New.
12135 (TARGET_GNU_LD): New.
6d8dd940 12136 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
83eb95f9
SE
12137 on gnu-ld and MASK_GNU_LD.
12138 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
12139
b72b1c29
JH
12140Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
12141
12142 * i386.c (athlon_cost): Fix the move costs.
12143
92b7a2a5
JH
12144Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
12145
12146 * final.c (final): Use symbol name as function name for profiling.
12147 * profile.c (get_exec_counts): Likewise.
12148 (branch_prob): Likewise.
12149
429489e5
JJ
121502002-10-03 Jakub Jelinek <jakub@redhat.com>
12151
12152 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
12153
5bbcd587
JJ
121542002-10-03 Jakub Jelinek <jakub@redhat.com>
12155
12156 * gcc.c (print_multi_os_directory): New variable.
12157 (option_map): Support --print-multi-os-directory.
12158 (struct prefix_list): Add os_multilib field.
12159 (multilib_os_dir): New variable.
12160 (static_specs): Add multilib_options.
12161 (find_a_file): Add multilib argument. Search in GCC or OS multilib
272d0bee 12162 subdirs if nonzero.
5bbcd587
JJ
12163 (read_specs, execute): Update callers.
12164 (find_file): Likewise. Don't prefix name with multilib_dir, instead
12165 pass 1 as multilib option.
12166 (display_help): Include --print-multi-os-directory.
12167 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
12168 (process_command): Update callers. Handle --print-multi-os-directory.
12169 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
12170 set.
12171 (main): Update find_a_file and add_prefix callers.
12172 Handle print_multi_os_directory.
12173 (struct mdswitchstr): New.
12174 (mdswitches, n_mdswitches): New variables.
12175 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
12176 present on the command line nor their mutually incompatible
12177 switches.
12178 (default_arg): Optimize.
12179 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
12180 array.
12181 (print_multilib_info): Only print GCC multilib dir name, not OS
12182 multilib dirname.
12183 * genmultilib: Add osdirnames parameter. Output multilib_options
12184 variable. If osdirnames is specified, output dirnames as
12185 dirname:osdirname.
12186 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
12187 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
12188 to compute libgcc_s soname and install path.
12189 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
12190 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
12191 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
12192 argument.
12193
12194 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
12195 (SHLIB_SLIBDIR_SUFFIXES): Remove.
12196 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
12197 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
12198 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
12199 and -m64.
12200 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
12201 (SHLIB_SLIBDIR_SUFFIXES): Remove.
12202 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
12203 (STARTFILE_ARCH_SPEC): Remove.
12204 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
12205 (SHLIB_SLIBDIR_SUFFIXES): Remove.
12206 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
12207 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
12208 (SHLIB_SLIBDIR_SUFFIXES): Remove.
12209
c07f146f
JH
12210Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
12211
12212 * predict.c (choose_function_section): Avoid choice for linkonce functions.
12213
4c9c9a3d
JH
12214Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
12215
12216 * i386.md (lea to mul peep2): Fix condition.
6d8dd940 12217
f50df1d5
JDA
122182002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
12219
12220 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
12221 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
12222
4977bab6
ZW
122232002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
12224
12225 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
12226 attribute "unused".
12227
12228 * config/t-libunwind: Mention unwind-sjlj.c.
12229 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
12230 to #ifndef __USING_SJLJ_EXCEPTIONS__.
12231
12232 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
12233 before inclusion of config.gcc, but after configuring the compiler etc.
12234 Determine default value for --enable-libunwind-exceptions based on
12235 whether the host has a libunwind library (not guaranteed to be correct,
12236 but it's a reasonable first guess and can always be overridden with an
12237 explicit --enable/disable-libunwind-exceptions.
12238 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
12239 tmake_file when $use_libunwind_exceptions is enabled.
12240 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
12241 ia64 (e.g., config/t-linux also updates it).
12242 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
12243 along with the shared version of libgcc since the latter requires
12244 the former.
12245 * unwind-libunwind.c: New file.
12246 * config/t-libunwind: Ditto.
12247
122482002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
12249
12250 * config.gcc: Remove support for vax-*-vms*.
12251 * config/vax/vms.h: Remove.
12252 * config/vax/xm-vms.h: Remove.
12253 * config/vax/vax-protos.h: Remove VMS-specific code.
12254 * config/vax/vax.c: Remove VMS-specific code.
12255
d631b80a
RH
122562002-10-02 Richard Henderson <rth@redhat.com>
12257
12258 PR opt/7124
12259 * config/i386/i386.c (ix86_register_move_cost): Increase cost
12260 for secondary_memory_needed pairs.
12261
854ef390
NN
122622002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
12263
12264 * doc/vms.texi: Blow away false include file section.
12265
f963b5d9
RS
122662002-10-02 Roger Sayle <roger@eyesopen.com>
12267
12268 PR optimization/6627
12269 * toplev.c (force_align_functions_log): New global variable.
12270 * flags.h (force_align_functions_log): Add extern prototype.
12271 * varasm.c (assemble_start_function): Use it to force minimum
12272 function alignment.
12273 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
12274 minimum function alignment to one byte.
12275 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
12276 the least significant bit of vtable member function pointers.
12277 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
12278 here from cp/cp-tree.h.
12279
200bcf7e
JH
12280Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
12281
12282 * i386.c (print_operand_address): Use RIP addressing for offsetted
12283 label refs too.
12284
88d0be17
DM
122852002-09-30 David S. Miller <davem@redhat.com>
12286
12287 PR middle-end/7151
12288 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
12289 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
12290
4977bab6
ZW
122912002-10-01 Andreas Bauer <baueran@in.tum.de>
12292
12293 * calls.c (expand_call): Remove the `no indirect check'
12294 for sibcall optimization; use function_ok_for_sibcall
12295 target hook; refine check for `function is volatile'.
12296 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
12297 * hooks.c (hook_tree_tree_bool_false): New.
12298 * hooks.h (hook_tree_tree_bool_false): Declare.
12299 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
12300 (TARGET_INITIALIZER): Add it.
12301 * target.h (struct gcc_target): Add function_ok_for_sibcall.
12302 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
12303 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12304 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12305 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
12306 Remove function declaration.
12307 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
12308 function static and accept another argument of type `tree'.
12309 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12310 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12311 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12312 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
12313 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12314 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12315 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12316 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
12317 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
12318 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12319 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12320 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
12321 Remove function declaration.
12322 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
12323 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
12324 rename first argument to `decl'; accept another argument
12325 of type `tree'; make static.
12326 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12327 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12328 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
12329 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12330 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12331 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
12332 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12333 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12334 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12335
f10aac29
RS
123362002-10-01 Roger Sayle <roger@eyesopen.com>
12337
12338 * unroll.c (loop_iterations): Revert 2002-09-08 change.
12339
69bd00e6
RH
123402002-10-01 Richard Henderson <rth@redhat.com>
12341
12342 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
12343 (real_to_hexadecimal): Likewise.
12344 * print-rtl.c (print_rtx): If we are linked with real.c, don't
12345 dump the XWINT fields of a floating point CONST_DOUBLE.
12346
3b5742ab
JT
123472002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
12348
12349 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
12350
fd1e5d25
RH
123512002-10-01 Richard Henderson <rth@redhat.com>
12352
12353 * calls.c (precompute_register_parameters): Force non-legitimate
12354 constants into pseudos.
12355
78872ad9
NC
123562002-10-01 Nick Clifton <nickc@redhat.com>
12357
12358 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
12359 to assembler template.
12360
3c655f42
RH
123612002-10-01 Richard Henderson <rth@redhat.com>
12362
12363 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
12364 for TLS debug info to !DECL_EXTERNAL.
12365
ec20cffb 123662002-10-01 Matt Thomas <matt@3am-software.com>
ee6ff319 12367 Jason Thorpe <thorpej@wasabisystems.com>
ec20cffb
JT
12368
12369 * config.gcc (vax-*-netbsdelf*): Enable configuration.
6d8dd940 12370 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
ec20cffb
JT
12371 if not already defined.
12372 * config/vax/elf.h: New file.
12373 * config/vax/netbsd-elf.h: New file.
12374 * config/vax/vax.c: Include "debug.h".
12375 (vax_output_function_prologue): Add dwarf2 support. Use
12376 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
12377 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
12378 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
12379 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
12380 (VAX_ISTREAM_SYNC): Remove.
12381 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
12382 (JUMP_TABLES_IN_TEXT_SECTION): Define.
12383 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
12384 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
12385 and assemble_name.
12386 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
12387 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
12388 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
12389 (INCOMING_RETURN_ADDR_RTX): Define.
12390 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
12391 (VUNSPEC_SYNC_ISTREAM): Define.
12392 (blockage): Use VUNSPEC_BLOCKAGE.
12393 (sync_istream): New insn.
12394
123952002-10-01 Richard Henderson <rth@redhat.com>
12396
12397 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
12398 (*call_value_pop, call, call_value): Add dwarf2 EH support.
12399 (*call): New insn.
12400
73a73768
NS
124012002-10-01 Nathan Sidwell <nathan@codesourcery.com>
12402
12403 PR c/8083
12404 * c-typeck.c (build_c_cast): Warn about type punning which breaks
12405 type based aliasing.
12406
0645ba8f
MM
124072002-10-01 Mark Mitchell <mark@codesourcery.com>
12408
12409 * stor-layout.c (update_alignment_for_field): New function.
12410 (place_union_field): Use it.
12411 (place_field): Likewise.
6d8dd940 12412
f7e466a3
NS
124132002-10-01 Nathan Sidwell <nathan@codesourcery.com>
12414
73a73768 12415 PR other/8077
f7e466a3
NS
12416 * gcc.c (cc1_options): Add space on -auxbase-strip.
12417
bc9ec51b
JW
124182002-10-01 Jim Wilson <wilson@redhat.com>
12419
12420 * config/v850/v850.h (EPILOGUE_USES): Define.
12421
a646f6cc
AH
124222002-09-30 Andrew Haley <aph@redhat.com>
12423
6d8dd940 12424 * flow.c (insn_dead_p): When using non-call-exceptions, don't
a646f6cc
AH
12425 eliminate insns that may trap.
12426 * cse.c (insn_live_p): Likewise.
12427
3f7967e3
RS
124282002-10-01 Richard Sandiford <rsandifo@redhat.com>
12429
12430 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
12431 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
12432 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
12433 * config/mips/mips.md: Apply same renaming here.
12434
41f9efba
RS
124352002-10-01 Richard Sandiford <rsandifo@redhat.com>
12436
12437 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
12438 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
12439 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
12440 * config/mips/mips.md (define_attr cpu): Remove r4320.
12441 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
12442
366356d3
RS
124432002-10-01 Richard Sandiford <rsandifo@redhat.com>
12444
12445 * config/mips/mips.c (mips16_strings): New variable.
12446 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
12447 symbol in mips16_strings. Free the list.
12448 (mips_encode_section_info): Keep track of local strings.
12449
8ab907e8
RS
124502002-10-01 Richard Sandiford <rsandifo@redhat.com>
12451
12452 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
12453 (sordered_df, sordered_sf): Remove.
12454 * config/mips/mips.c (get_float_compare_codes): New fn.
12455 (gen_int_relational, gen_conditional_move): Use it.
12456
d12b8c85
RS
124572002-10-01 Richard Sandiford <rsandifo@redhat.com>
12458
12459 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
12460 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
12461 * config/mips/mips.c (fcc_register_operand): New function.
12462 (mips_emit_fcc_reload): New function, extracted from reload_incc.
12463 (override_options): Allow TFmode values in float registers
12464 if ISA_HAS_8CC.
12465 * cnfig/mips/mips.md (reload_incc): Change destination prediate
12466 to fcc_register_operand. Remove misleading source constraint.
12467 Use mips_emit_fcc_reload.
12468 (reload_outcc): Duplicate reload_incc.
12469
4977bab6
ZW
124702002-09-30 Zack Weinberg <zack@codesourcery.com>
12471
12472 * gcc.c (validate_switches): Handle all new forms of spec
12473 syntax introduced recently. Now returns a char *.
12474 (validate_all_switches): Repetitive logic broken out to...
12475 (validate_switches_from_spec): ...here.
12476 * mklibgcc.in: Don't @-flag commands to generate .oS files.
12477
7e765675
UW
124782002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
12479
12480 * longlong.h: Partially synchronize with GMP-4.1 version:
12481 Use i370 definitions also for s390.
12482 Add generic definition of umul_ppmm in terms of smul_ppmm.
12483 [s390] (umul_ppmm): Remove.
12484 [s390] (smul_ppmm): Fix incorrect assembler constraints.
12485 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
12486
89f6025d
BW
124872002-09-30 Bob Wilson <bob.wilson@acm.org>
12488
12489 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
12490 Add new RL_REGS register class.
12491 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
ee6ff319 12492 Call xtensa_preferred_reload_class for both input and output reloads.
89f6025d
BW
12493 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
12494 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
12495 instead of either AR_REGS or GR_REGS classes.
12496 (xtensa_secondary_reload_class): Use new RL_REGS class.
12497 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
12498
7830ba7b
JDA
124992002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
12500
12501 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
12502 (pa_strip_name_encoding): Strip '@' and '*', in that order.
12503 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
12504 there is a '*' prefix in NAME.
12505
344b78b8
JH
12506Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
12507
12508 * reload.c (push_reload): Handle subregs and secondary memory.
12509 * reload1.c (gen_reload): Likewise.
12510
12511 * jump.c (reg_or_subregno): New function.
12512 * rtl.h (reg_or_subregno): Declare
12513 * unroll.c (find_splittable_givs): Handle subregs.
12514
17bbb839
MM
125152002-09-30 Mark Mitchell <mark@codesourcery.com>
12516
12517 * store-layout.c (finish_record_layout): Add free_p parameter.
12518 (layout_type): Pass it.
12519 * tree.h (finish_record_layout): Update prototype.
92e89ef0 12520
48ddd46c
JH
12521Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
12522
12523 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
12524
12525 * gcse.c (cprop_jump): Check that the register has not
12526 been modified
12527 (cprop_jump): Likewise.
12528
b93a0fe6
RE
125292002-09-30 Richard Earnshaw <rearnsha@arm.com>
12530
12531 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
12532 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
12533 that we have a SImode access, and only then if reload hasn't completed;
12534 for all other cases, use LO_REGS.
12535
4977bab6
ZW
125362002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12537
12538 * openbsd.h: Fix typo in last change.
12539
98ee7e6c
RH
125402002-09-29 Richard Henderson <rth@redhat.com>
12541
12542 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
12543
ccf7aef4
RH
125442002-09-29 Richard Henderson <rth@redhat.com>
12545
b5371c18 12546 PR c/8002
ccf7aef4
RH
12547 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
12548 for CONST_INT.
12549
d454e75a
DE
125502002-09-29 David Edelsohn <edelsohn@gnu.org>
12551
12552 * real.h (ibm_extended_format): Declare.
12553 * real.c (encode_ibm_extended, decode_ibm_extended): New
12554 functions.
12555
89b06540
KG
125562002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12557
12558 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
12559
12560 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
12561
6ca6193b
JDA
125622002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
12563
12564 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
12565
991b6592
KH
125662002-09-29 Kazu Hirata <kazu@cs.umass.edu>
12567
12568 * builtins.def: Fix comment formatting.
12569 * c-common.def: Likewise.
12570 * cfgcleanup.c: Likewise.
12571 * combine.c: Likewise.
12572 * gengtype.c: Likewise.
12573 * params.def: Likewise.
12574 * predict.def: Likewise.
12575 * rtl.def: Likewise.
12576 * stab.def: Likewise.
12577 * stor-layout.c: Likewise.
12578 * tree.def: Likewise.
12579 * config/darwin.c: Likewise.
12580 * config/darwin.h: Likewise.
12581 * config/dbxcoff.h: Likewise.
12582 * config/elfos.h: Likewise.
12583 * config/fp-bit.c: Likewise.
12584 * config/freebsd-spec.h: Likewise.
12585 * config/interix.h: Likewise.
12586 * config/libgloss.h: Likewise.
12587 * config/linux-aout.h: Likewise.
12588 * config/linux.h: Likewise.
12589 * config/lynx-ng.h: Likewise.
12590 * config/lynx.h: Likewise.
12591 * config/netbsd-aout.h: Likewise.
12592 * config/netbsd.h: Likewise.
12593 * config/netware.h: Likewise.
12594 * config/psos.h: Likewise.
12595 * config/ptx4.h: Likewise.
12596
43aa4e05
KH
125972002-09-28 Kazu Hirata <kazu@cs.umass.edu>
12598
12599 * ChangeLog.4: Fix typos.
12600 * ChangeLog.6: Likewise.
12601 * FSFChangeLog.10: Likewise.
12602 * genattrtab.c: Fix comment typos.
12603 * haifa-sched.c: Likewise.
12604 * real.c: Likewise.
12605 * tree.h: Likewise.
12606 * config/arm/arm.c: Likewise.
12607 * config/arm/crti.asm: Likewise.
12608 * config/arm/crtn.asm: Likewise.
12609 * config/frv/frv.c: Likewise.
12610 * config/frv/frv.md: Likewise.
12611 * config/h8300/h8300.md: Likewise.
12612 * config/i386/rtemself.h: Likewise.
12613 * config/ia64/unwind-ia64.c: Likewise.
12614 * config/ip2k/ip2k.h: Likewise.
12615 * config/m88k/m88k.c: Likewise.
12616 * config/m88k/m88k.md: Likewise.
12617 * config/mips/sr71k.md: Likewise.
12618 * config/mmix/mmix.c: Likewise.
12619 * config/rs6000/rs6000.c: Likewise.
12620 * config/sh/sh.md: Likewise.
12621
13e8651c
TR
126222002-09-26 Theodore A. Roth <troth@verinet.com>
12623
92e89ef0
ZW
12624 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
12625 * config/avr/avr.md: Ditto.
13e8651c 12626
57147be1
ZW
126272002-09-27 Alexander N. Kabaev <ak03@gte.com>
12628
12629 PR preprocessor/8055
12630 * cppmacro.c (stringify_arg): Do not overflow the buffer
12631 with the terminating NUL when the argument to be stringified
12632 has no tokens.
12633
5d0f3df7
RH
126342002-09-27 Richard Henderson <rth@redhat.com>
12635
12636 * unroll.c (simplify_cmp_and_jump_insns): New.
12637 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
12638 instead of expand_simple_foo.
12639
3dfda826
RH
126402002-09-27 Richard Henderson <rth@redhat.com>
12641
12642 PR optimization/7520
12643 * cfganal.c (flow_active_insn_p): New.
12644 (forwarder_block_p): Use it.
12645
23b8ba81
RH
126462002-09-27 Richard Henderson <rth@redhat.com>
12647
12648 * emit-rtl.c (active_insn_p): Revert last change.
12649
dce81a1a
JJ
126502002-09-27 Jakub Jelinek <jakub@redhat.com>
12651
12652 * doc/extend.texi (tls_model): Document.
12653 * varasm.c (decl_tls_model): New.
12654 * c-common.c (handle_tls_model_attribute): New.
12655 (c_common_attribute_table): Add tls_model.
12656 * config/alpha/alpha.c (alpha_encode_section_info): Use
12657 decl_tls_model.
12658 * flags.h (enum tls_model, flag_tls_default): Move...
12659 * tree.h (enum tls_model, flag_tls_default): ...here.
12660 (decl_tls_model): New prototype.
12661 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12662 * config/i386/i386.c (ix86_encode_section_info): Likewise.
12663 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
12664 Allow !flag_pic.
12665
0e9e1e0a
KH
126662002-09-27 Kazu Hirata <kazu@cs.umass.edu>
12667
12668 * LANGUAGES: Follow spelling conventions.
12669 * rtl.def: Likewise.
12670 * sbitmap.c: Likewise.
12671 * sched-int.h: Likewise.
12672 * sched-rgn.c: Likewise.
12673 * sibcall.c: Likewise.
12674 * simplify-rtx.c: Likewise.
12675 * ssa.c: Likewise.
12676 * stab.def: Likewise.
12677 * stmt.c: Likewise.
12678 * stor-layout.c: Likewise.
12679 * target.h: Likewise.
12680 * timevar.c: Likewise.
12681 * toplev.c: Likewise.
12682 * tree-dump.c: Likewise.
12683 * tree-inline.c: Likewise.
12684 * tree.c: Likewise.
12685 * tree.def: Likewise.
12686 * tree.h: Likewise.
12687 * unroll.c: Likewise.
12688 * varasm.c: Likewise.
12689 * vmsdbgout.c: Likewise.
12690 * treelang/treelang.texi: Likewise.
12691 * treelang/treetree.c: Likewise.
12692
b9b575e6
KH
126932002-09-27 Kazu Hirata <kazu@cs.umass.edu>
12694
12695 * config/h8300/h8300.c (compute_saved_regs): Use a macro
12696 instead of a hard register number.
12697 (get_shift_alg): Use an enumerated type instead of numbers.
12698 (h8300_shift_needs_scratch_p): Likewise.
12699
4977bab6
ZW
127002002-09-26 Kazu Hirata <kazu@cs.umass.edu>
12701
12702 * varasm.c (force_data_section): Remove.
12703 (assemble_constant_align): Likewise.
12704 * output.h: Remove corresponding prototypes.
12705
127062002-09-26 Roger Sayle <roger@eyesopen.com>
12707
12708 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
12709 jump, if the loop to exit is the top of the current nesting stack.
12710
127112002-09-26 Torbjorn Granlund <tege@swox.com>
12712
12713 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
12714 arithmetic.
12715
99a32567
DM
127162002-09-26 David S. Miller <davem@redhat.com>
12717
12718 PR optimization/7335
12719 * calls.c (emit_library_call_value_1): Passing args by reference
12720 converts a CONST function into a PURE one.
12721
67cef334
DE
127222002-09-26 David Edelsohn <edelsohn@gnu.org>
12723
12724 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
12725 text_section.
57147be1 12726 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
67cef334
DE
12727 text section.
12728 * config/rs6000/rs6000.c (rs6000_override_options): Allow
12729 function-sections and data-sections functionality on AIX.
12730
127312002-09-26 David Edelsohn <edelsohn@gnu.org>
12732 Dale Johannesen <dalej@apple.com>
12733
12734 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
12735 in RTL for sub-word loads from memory.
12736
c2310f51
RH
127372002-09-26 Richard Henderson <rth@redhat.com>
12738
12739 PR c/7160
12740 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
12741 on call insns.
12742
7847d627
RH
127432002-09-26 Richard Henderson <rth@redhat.com>
12744
12745 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
12746
cde0ce6e
CL
127472002-09-26 Chris Lattner <sabre@nondot.org>
12748
12749 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
12750 handling undefined values.
12751
03a62672
RH
127522002-09-26 Richard Henderson <rth@redhat.com>
12753
5fd452e8 12754 PR opt/7520
03a62672
RH
12755 * emit-rtl.c (active_insn_p): Consider a clobber of the
12756 function return value to be active even after reload.
12757
b5a77fef
AM
127582002-09-27 Alan Modra <amodra@bigpond.net.au>
12759
12760 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
12761 by absolute loop increment, not loop increment.
12762
40f03658
KH
127632002-09-26 Kazu Hirata <kazu@cs.umass.edu>
12764
12765 * c-common.h: Follow spelling conventions.
12766 * cpplex.c: Likewise.
12767 * cpplib.h: Likewise.
12768 * gthr-dce.h: Likewise.
12769 * gthr-posix.h: Likewise.
12770 * optabs.c: Likewise.
12771 * output.h: Likewise.
12772 * profile.c: Likewise.
12773 * protoize.c: Likewise.
12774 * ra-rewrite.c: Likewise.
12775 * real.c: Likewise.
12776 * recog.c: Likewise.
12777 * reg-stack.c: Likewise.
12778 * regclass.c: Likewise.
12779 * regmove.c: Likewise.
12780 * reload.c: Likewise.
12781 * reload.h: Likewise.
12782 * reload1.c: Likewise.
12783 * reorg.c: Likewise.
12784 * resource.c: Likewise.
12785 * rtl.h: Likewise.
12786 * rtlanal.c: Likewise.
12787
ee8a73d6
SE
127882002-09-26 Steve Ellcey <sje@cup.hp.com>
12789
12790 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
12791 for symbol address.
12792
2eb2bbdc
EC
127932002-09-24 Eric Christopher <echristo@redhat.com>
12794
57147be1
ZW
12795 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
12796 * config/mips/elf64.h: Ditto.
2eb2bbdc 12797
0ab38418
EC
127982002-09-24 Eric Christopher <echristo@redhat.com>
12799
57147be1 12800 * except.c (expand_builtin_extract_return_address): Handle case
0ab38418
EC
12801 where Pmode != ptr_mode.
12802
68bb91b1
SE
128032002-09-26 Steve Ellcey <sje@cup.hp.com>
12804
12805 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
12806
5429802d
SE
128072002-09-26 Steve Ellcey <sje@cup.hp.com>
12808
12809 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
12810
855c3a2e
IS
128112002-09-26 Igor Shevlyakov <igor@microunity.com>
12812
12813 * combine.c (simplify_set): Don't call to force_to_mode if size
12814 of integer type is larger than HOST_BITS_PER_WIDE_INT.
12815
2d556baf
JJ
128162002-09-26 Janis Johnson <janis187@us.ibm.com>
12817
12818 * Makefile.in (qmtest-g++): Fix file path.
12819
1717e19e
UW
128202002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
12821
0ab38418 12822 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
1717e19e
UW
12823 A + (-const) on RTX level, even for unsigned types.
12824
6cabe79e
UW
128252002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
12826
12827 * reload.c (dup_replacements): New function.
12828 (find_reloads): Use it to duplicate replacements at the top level
12829 of match_dup operands.
12830
0855247a
MB
128312002-09-26 Miles Bader <miles@gnu.org>
12832
12833 * v850.md ("length"): Change default value to 4.
12834
6335b0aa
KH
128352002-09-26 Kazu Hirata <kazu@cs.umass.edu>
12836
12837 * ChangeLog.1: Follow spelling conventions.
12838 * ChangeLog.4: Likewise.
12839 * ChangeLog.6: Likewise.
12840 * FSFChangeLog.11: Likewise.
12841 * doc/cpp.texi: Likewise.
12842 * doc/invoke.texi: Likewise.
12843 * doc/tm.texi: Likewise.
12844
09818236
NC
128452002-09-26 Nick Clifton <nickc@redhat.com>
12846
12847 * config.gcc: Add x prefix to v850e case for handling
12848 --with-cpu=v850e.
12849
4977bab6
ZW
128502002-09-25 Zack Weinberg <zack@codesourcery.com>
12851
12852 * gcc.c (input_suffix_matches, switch_matches,
12853 mark_matching_switches, process_marked_switches,
12854 process_brace_body): New functions - split from handle_braces.
12855 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
12856 and ignore whitespace in more places.
12857 (specs documentation comment): Document %{S:X;T:Y;:D}.
12858 Clarify other %{...} docs.
12859 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
12860 %{...} docs.
12861
12862 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
12863 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
12864
8a3996fd
DM
128652002-09-25 David S. Miller <davem@redhat.com>
12866
12867 PR target/7842
12868 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
12869 extend.
12870
8580f7a0
RH
128712002-09-25 Richard Henderson <rth@redhat.com>
12872
12873 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
12874 fp CONST_DOUBLE; use real_identical.
12875
956d9305
MM
128762002-09-25 Mark Mitchell <mark@codesourcery.com>
12877
12878 * doc/invoke.texi: Add more -Wabi examples.
12879
3ccbe819
RS
128802002-09-25 Richard Sandiford <rsandifo@redhat.com>
12881
12882 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
12883
4977bab6
ZW
128842002-09-24 Nathan Sidwell <nathan@codesourcery.com>
12885
12886 * profile.c (end_branch_prob): Only look for __gcov_init on
12887 weak-enabled native compilers.
12888
2106e42a
DC
128892002-09-24 Denis Chertykov <denisc@overta.ru>
12890
12891 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
12892 cases of optimizing "add sp,w" to "inc sp".
12893
58e60158
AN
128942002-09-24 Adam Nemet <anemet@lnxw.com>
12895
57147be1
ZW
12896 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
12897 epilogue for naked functions.
58e60158 12898
59be6073 128992002-09-24 Adam Nemet <anemet@lnxw.com>
57147be1 12900 Nick Clifton <nickc@redhat.com>
59be6073
AN
12901
12902 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
12903 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
12904 is defined.
12905
100c7420
UW
129062002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
12907
12908 * config/s390/s390.c (preferred_la_operand_p): New function.
12909 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
12910 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
12911 ("*la_64_cc", "*la_31_cc", splitters): ... these.
12912 ("*la_31"): Deactivate for TARGET_64BIT.
12913 ("*la_31_and", "*la_31_and_cc"): New.
12914
9fc63af5
KG
129152002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12916
12917 * real.h (real_value): Make `exp' explicitly signed.
12918
43a88a8c
KH
129192002-09-24 Kazu Hirata <kazu@cs.umass.edu>
12920
12921 * config/elfos.h: Follow spelling conventions.
12922 * config/alpha/alpha.h: Likewise.
12923 * config/arc/arc.h: Likewise.
12924 * config/arm/arm.md: Likewise.
12925 * config/avr/avr.h: Likewise.
12926 * config/cris/cris.md: Likewise.
12927 * config/d30v/d30v.h: Likewise.
12928 * config/frv/frv.c: Likewise.
12929 * config/frv/frv.h: Likewise.
12930 * config/h8300/h8300.c: Likewise.
12931 * config/h8300/h8300.h: Likewise.
12932 * config/h8300/h8300.md: Likewise.
12933 * config/i386/cygwin.h: Likewise.
12934 * config/i386/i386.h: Likewise.
12935 * config/i386/sysv3.h: Likewise.
12936 * config/i960/i960.h: Likewise.
12937 * config/ia64/ia64.h: Likewise.
12938 * config/ia64/ia64.md: Likewise.
12939 * config/ip2k/ip2k.h: Likewise.
12940 * config/m32r/m32r.h: Likewise.
12941 * config/m68k/m68k.h: Likewise.
12942 * config/m88k/m88k.h: Likewise.
12943 * config/mcore/mcore.c: Likewise.
12944 * config/mcore/mcore.h: Likewise.
12945 * config/mcore/mcore.md: Likewise.
12946 * config/mips/mips.h: Likewise.
12947 * config/mmix/mmix.h: Likewise.
12948 * config/mmix/mmix.md: Likewise.
12949 * config/ns32k/netbsd.h: Likewise.
12950 * config/ns32k/ns32k.h: Likewise.
12951 * config/ns32k/ns32k.md: Likewise.
12952 * config/pa/pa.h: Likewise.
12953 * config/romp/romp.h: Likewise.
12954 * config/rs6000/rs6000.h: Likewise.
12955 * config/rs6000/rs6000.md: Likewise.
12956 * config/sparc/sparc.h: Likewise.
12957 * config/stormy16/stormy-abi: Likewise.
12958 * config/stormy16/stormy16.h: Likewise.
12959 * config/vax/vax.h: Likewise.
12960
4977bab6
ZW
129612002-09-23 Kazu Hirata <kazu@cs.umass.edu>
12962
12963 * config/alpha/alpha.h: Remove commented-out macro
12964 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
12965 * config/avr/avr.h: Likewise.
12966 * config/d30v/d30v.h: Likewise.
12967 * config/dsp16xx/dsp16xx.h: Likewise.
12968 * config/i370/i370.h: Likewise.
12969 * config/i386/i386.h: Likewise.
12970 * config/i960/i960.h: Likewise.
12971 * config/m68k/m68k.h: Likewise.
12972 * config/m88k/m88k.h: Likewise.
12973 * config/mips/mips.h: Likewise.
12974 * config/ns32k/ns32k.h: Likewise.
12975 * config/pdp11/pdp11.h: Likewise.
12976 * config/romp/romp.h: Likewise.
12977 * config/rs6000/rs6000.h: Likewise.
12978 * config/s390/s390.h: Likewise.
12979 * config/sh/sh.h: Likewise.
12980 * config/sparc/sparc.h: Likewise.
12981 * config/stormy16/stormy16.h: Likewise.
12982 * config/vax/vax.h: Likewise.
12983
129842002-09-23 Kazu Hirata <kazu@cs.umass.edu>
12985
12986 * function.c (push_temp_slots_for_block): Remove.
12987 (push_temp_slots_for_target): Likewise.
12988 (get_target_temp_slot_level): Likewise.
12989 (set_target_temp_slot_level): Likewise.
12990 (get_first_block_beg): Likewise.
12991 * function.h: Remove corresponding prototypes.
12992
b4f94ac1
ZW
129932002-09-23 Zack Weinberg <zack@codesourcery.com>
12994
12995 * version.c (version_string): Now const char[].
12996 * version.h: Update to match.
12997
9ef1b13a
RH
129982002-09-23 Richard Henderson <rth@redhat.com>
12999
13000 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
13001 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
13002 (TARGET_SWITCHES): Don't reference them.
13003 * config/i386/i386.c (override_options): Use target_flags_explicit
13004 to examine bits set by the user.
13005
ca9d6748 130062002-09-23 Dale Johannesen <dalej@apple.com>
9ef1b13a 13007
ca9d6748
DJ
13008 * dbxout.c (dbxout_parms): Set current_sym_code for params
13009 passed on stack by invisible reference.
13010
97d48e5a
RE
130112002-09-23 Richard Earnshaw <rearnsha@arm.com>
13012
13013 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
13014 at least one byte of space.
13015
46c83bce
MM
130162002-09-23 Mark Mitchell <mark@codesourcery.com>
13017
13018 * c-common.h (flag_abi_version): Fix typo in comment.
13019 * doc/invoke.texi (flag_abi_version): Document default value.
13020
acb5d088
HPN
130212002-09-23 Hans-Peter Nilsson <hp@axis.com>
13022
13023 * doc/extend.texi (Extended Asm): Clarify that overlap between
13024 asm-declared register variables used in an asm and the asm clobber
13025 list is not allowed.
13026 * stmt.c (decl_conflicts_with_clobbers_p): New function.
13027 (expand_asm_operands): Keep track of clobbered registers. Call
13028 decl_conflicts_with_clobbers_p for each input and output operand.
13029 If no conflicts found before, also do conflict sanity check when
13030 emitting clobbers.
13031
ddf0fc72
RH
130322002-09-23 Richard Henderson <rth@redhat.com>
13033
13034 * c-common.c (cpp_define_data_format): Remove.
13035 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
13036 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
13037 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
13038 * doc/cpp.texi: Don't document them either.
13039 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
13040 __LONG_LONG_MAX__): Document.
13041 (__TARGET_FLOAT_FORMAT__): Remove.
13042
a520ff95
RH
130432002-09-23 Richard Henderson <rth@redhat.com>
13044
13045 * real.c (do_multiply): Normalize U before addition.
13046
2d3e278d
MM
130472002-09-23 Mark Mitchell <mark@codesourcery.com>
13048
13049 * c-common.c (flag_abi_version): New variable.
13050 * c-common.h (flag_abi_version): Declare it.
13051 * c-opts.c (missing_arg): Add -fabi-version.
13052 (c_common_decode_option): Process -fabi-version.
13053 * doc/invoke.texi (-fabi-version): Document it.
13054 (-Wabi): Add information about bit-fields in unions.
b4f94ac1 13055
4977bab6
ZW
130562002-09-22 Roger Sayle <roger@eyesopen.com>
13057
13058 * expr.c (STORE_BY_PIECES_P): New target macro.
13059 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
13060 instead of MOVE_BY_PIECES_P.
13061 * doc/tm.texi: Document this new macro.
13062
173b51b5
JT
130632002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
13064
13065 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
13066 unless -fno-pic or -fno-PIC is specified.
13067
c219e1da
JDA
130682002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
13069
13070 * c-common.c (preprocessing_trad_p): Define.
13071 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
13072 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
13073 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
13074 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
13075 * pa-linux.h (CPP_PREDEFINES): Delete.
13076 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
13077 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
13078 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
13079 (TARGET_OS_CPP_BUILTINS): Define.
13080 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
13081 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
13082 (SUBTARGET_SWITCHES): Provide default definition.
13083 (TARGET_OPTIONS): Reformat. Use N_() macro.
13084 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
13085 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
13086 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
13087 (TARGET_CPU_CPP_BUILTINS): Define.
13088 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
13089 * doc/invoke.texi (msio, mwsio): Document new hppa options.
13090 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
13091 preprocessing_trad_p().
13092
65a824f6
JT
130932002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
13094
13095 * doc/install.texi: Document behavior of --with-headers and
13096 --with-libs when arguments are omitted.
13097
cc2902df
KH
130982002-09-22 Kazu Hirata <kazu@cs.umass.edu>
13099
13100 * dbxout.c: Follow spelling conventions.
13101 * defaults.h: Likewise.
13102 * df.c: Likewise.
13103 * diagnostic.h: Likewise.
13104 * doloop.c: Likewise.
13105 * dwarf2out.c: Likewise.
13106 * dwarfout.c: Likewise.
13107 * emit-rtl.c: Likewise.
13108 * except.c: Likewise.
13109 * explow.c: Likewise.
13110 * expmed.c: Likewise.
13111 * expr.c: Likewise.
13112 * expr.h: Likewise.
13113 * flags.h: Likewise.
13114 * flow.c: Likewise.
13115 * fold-const.c: Likewise.
13116 * function.c: Likewise.
13117 * function.h: Likewise.
13118 * gcc.c: Likewise.
13119 * gcov-io.h: Likewise.
13120 * gcov.c: Likewise.
13121 * gcse.c: Likewise.
13122 * genattrtab.c: Likewise.
13123 * genconfig.c: Likewise.
13124 * genrecog.c: Likewise.
13125 * ggc-page.c: Likewise.
13126 * ggc.h: Likewise.
13127 * global.c: Likewise.
13128 * gthr-win32.h: Likewise.
13129 * integrate.c: Likewise.
13130 * jump.c: Likewise.
13131 * langhooks.c: Likewise.
13132 * langhooks.h: Likewise.
13133 * line-map.h: Likewise.
13134 * local-alloc.c: Likewise.
13135 * longlong.h: Likewise.
13136 * loop.c: Likewise.
13137 * loop.h: Likewise.
13138
ef49d42e
JH
13139Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
13140
13141 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
13142
13143Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
13144
13145 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
13146 for -Os/TARGET_64BIT too.
13147
da7d8304
KH
131482002-09-21 Kazu Hirata <kazu@cs.umass.edu>
13149
13150 * ChangeLog: Follow spelling conventions.
13151 * ChangeLog.0: Likewise.
13152 * ChangeLog.1: Likewise.
13153 * ChangeLog.2: Likewise.
13154 * ChangeLog.3: Likewise.
13155 * ChangeLog.4: Likewise.
13156 * ChangeLog.5: Likewise.
13157 * ChangeLog.6: Likewise.
13158 * FSFChangeLog.10: Likewise.
13159 * FSFChangeLog.11: Likewise.
13160 * alias.c: Likewise.
13161 * basic-block.h: Likewise.
13162 * c-aux-info.c: Likewise.
13163 * c-common.c: Likewise.
13164 * c-common.h: Likewise.
13165 * c-decl.c: Likewise.
13166 * c-format.c: Likewise.
13167 * c-semantics.c: Likewise.
13168 * c-typeck.c: Likewise.
13169 * calls.c: Likewise.
13170 * cfganal.c: Likewise.
13171 * cfgloop.c: Likewise.
13172 * collect2.c: Likewise.
13173 * combine.c: Likewise.
13174 * conflict.c: Likewise.
13175 * cppexp.c: Likewise.
13176 * cppfiles.c: Likewise.
13177 * cpphash.h: Likewise.
13178 * cppinit.c: Likewise.
13179 * cpplex.c: Likewise.
13180 * cpplib.c: Likewise.
13181 * cpplib.h: Likewise.
13182 * cppmacro.c: Likewise.
13183 * cse.c: Likewise.
13184
330cc6c7
RE
131852002-09-21 Richard Earnshaw <rearnsha@arm.com>
13186
13187 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
13188 LINK_SPEC.
13189 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
13190 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
13191 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
13192
5b437e0f
RE
131932002-09-21 Richard Earnshaw <rearnsha@arm.com>
13194
9ee4fa29
RE
13195 PR opt/7930
13196 * cse.c (fold_rtx): Calculate old_cost before we fold each
5b437e0f
RE
13197 operand.
13198
2a15d344
RH
131992002-09-21 Richard Henderson <rth@redhat.com>
13200
13201 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
13202 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
13203 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
13204 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
13205 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
13206 * doc/cpp.texi: Don't document them.
13207
3fdacdf9
RH
132082002-09-21 Richard Henderson <rth@redhat.com>
13209
13210 * c-common.c (builtin_define_float_constants): Use real_format
13211 to get the floating-point parameters.
13212
3dc85dfb
RH
132132002-09-21 Richard Henderson <rth@redhat.com>
13214
13215 * real.c (struct real_format): Move to real.h.
13216 (real_format_for_mode): Rename from fmt_for_mode; update all users;
13217 initialize with ieee defaults.
13218 (real_to_target_fmt, real_from_target_fmt): New.
13219 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
13220 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
b4f94ac1 13221 ieee_quad_format, i370_single_format, i370_double_format,
3dc85dfb
RH
13222 c4x_single_format, c4x_extended_format): Rename from s/_format//.
13223 (ieee_quad_format): Fix emin.
13224 (format_for_size, init_real_once): Remove.
13225 * real.h (struct real_format): Move from real.c.
13226 (real_format_for_mode): Declare.
13227 (real_to_target_fmt, real_from_target_fmt): Declare.
13228 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
13229 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
13230 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
13231 i370_single_format, i370_double_format, c4x_single_format,
13232 c4x_extended_format): Declare.
13233 * toplev.c (do_compile): Don't call init_real_once.
13234
13235 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13236 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13237
13238 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
13239 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
13240 * config/alpha/alpha.c (override_options): Set real_format_for_mode
13241 for VAX, if enabled.
13242
13243 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
13244 for C4X.
13245
13246 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
13247 * config/i370/i370.c (override_options): New.
13248 * config/i370/i370-protos.h: Update.
13249
13250 * config/i386/i386.c (override_options): Set real_format_for_mode
13251 for Intel 80-bit extended.
13252 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13253
13254 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
13255 (OVERRIDE_OPTIONS): Move code...
13256 * config/i960/i960.c (i960_initialize): ... here. Set
13257 real_format_for_mode for Intel 80-bit extended.
13258
13259 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
13260 for Intel 80-bit extended, if enabled.
13261
13262 * config/m68k/m68k.c (override_options): Set real_format_for_mode
b4f94ac1 13263 for Motorola 96-bit extended.
3dc85dfb
RH
13264
13265 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
13266 * config/vax/vax.c (override_options): New.
13267 * config/vax/vax-protos.h: Update.
13268
42a6388c
AM
132692002-09-21 Alan Modra <amodra@bigpond.net.au>
13270
84d7dd4a
AM
13271 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
13272 #if TARGET_MACHO.
13273
42a6388c
AM
13274 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
13275 insns. Supply missing clobber of scratch reg.
13276
a0ab749a
KH
132772002-09-20 Kazu Hirata <kazu@cs.umass.edu>
13278
13279 * config/m32r/m32r.c: Follow spelling conventions.
13280 * config/m32r/m32r.h: Likewise.
13281 * config/m32r/m32r.md: Likewise.
13282 * config/m68k/m68k.c: Likewise.
13283 * config/m88k/m88k.c: Likewise.
13284 * config/mcore/mcore.c: Likewise.
13285 * config/mips/mips.c: Likewise.
13286 * config/mips/mips.h: Likewise.
13287 * config/mmix/mmix.c: Likewise.
13288 * config/mn10200/mn10200.c: Likewise.
13289 * config/ns32k/ns32k.h: Likewise.
13290 * config/pa/pa.c: Likewise.
13291 * config/pa/pa64-linux.h: Likewise.
13292 * config/pdp11/pdp11.h: Likewise.
13293 * config/romp/romp.c: Likewise.
13294 * config/romp/romp.h: Likewise.
13295 * config/rs6000/eabi.asm: Likewise.
13296 * config/rs6000/linux64.h: Likewise.
13297 * config/rs6000/rs6000.c: Likewise.
13298 * config/rs6000/rs6000.h: Likewise.
13299 * config/rs6000/rs6000.md: Likewise.
13300 * config/rs6000/sysv4.h: Likewise.
13301 * config/rs6000/xcoff.h: Likewise.
13302
2f0da74c
JW
133032002-09-20 Jim Wilson <wilson@redhat.com>
13304
13305 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
13306
dea73790
JJ
133072002-09-20 Jakub Jelinek <jakub@redhat.com>
13308
13309 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
13310 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
13311 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
13312 (legitimate_address_p): Likewise.
13313 (legitimize_address): Use @gotntpoff and @indntpoff.
13314 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
13315 (output_addr_const_extra): Likewise.
13316
a9b2f059
JW
133172002-09-20 Jim Wilson <wilson@redhat.com>
13318
13319 * combine.c (try_combine): When split an instruction pair, where the
13320 first has a sign_extend src, verify that the src and dest modes match.
13321
1f7422bd
RH
133222002-09-20 Richard Henderson <rth@redhat.com>
13323
13324 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
13325 (override_options): Do not initialize them.
13326 (mips_const_double_ok): Allow no fp constants except zero,
13327 and not even that for mips16.
13328 (const_float_1_operand): Use dconst1.
13329 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
13330 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6d8dd940 13331 Don't allow arbitrary constants; fix predicates and C constraint.
1f7422bd 13332
56941bf2
NB
133332002-09-20 Neil Booth <neil@daikokuya.co.uk>
13334
13335 * cppmacro.c: Don't warn about function-like macros without
27eba309 13336 '(' during pre-expansion.
56941bf2 13337
66a0dfeb
JW
133382002-09-20 Jim Wilson <wilson@redhat.com>
13339
13340 * config/v850/v850.c (current_function_anonymous_args): Delete.
13341 (expand_prologue): Use current_function_args_info.anonymous_args.
13342 (expand_epilogue): Delete use of current_function_anonymous_args.
13343 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
13344 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
13345 (current_function_anonymous_args): Delete extern declaration.
13346 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
13347
97b23853
GK
133482002-09-20 Geoffrey Keating <geoffk@apple.com>
13349
f51eee6a
GK
13350 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
13351 to load_macho_picbase.
13352 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
13353 (load_macho_picbase): Take the symbol to use as a parameter.
13354 (macho_correct_pic): New insn.
13355 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
13356
97b23853
GK
13357 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
13358 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
13359 (CAN_ELIMINATE): Likewise.
13360 (INITIAL_ELIMINATION_OFFSET): Likewise.
13361 (TOC_REGISTER): Likewise.
13362
46b33600
RH
133632002-09-20 Richard Henderson <rth@redhat.com>
13364
13365 * real.c (real_hash): New.
13366 * real.h: Declare it.
13367 * cse.c (canon_hash): Use it.
13368 * cselib.c (hash_rtx): Likewise.
13369 * emit-rtl.c (const_double_htab_hash): Likewise.
13370 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
13371 * varasm.c (struct rtx_const): Reduce vector size; separate
13372 integer and fp vectors.
13373 (HASHBITS): Remove.
13374 (const_hash_1): Rename from const_hash. Use real_hash. Do not
13375 take modulus MAX_HASH_TABLE.
13376 (const_hash): New. Do take modulus MAX_HASH_TABLE.
13377 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
13378 (SYMHASH): Don't use HASHBITS.
13379 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
13380 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
13381 (simplify_subtraction): Fix kind comparison.
13382 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
13383 Use a union to pun integer array.
13384 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
13385 only hash two words of integral CONST_DOUBLE.
13386
40ad65d0
SE
133872002-09-20 Steve Ellcey <sje@cup.hp.com>
13388
13389 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
13390 (STARTFILE_PREFIX_SPEC): New.
13391 (LINK_SPEC): Modify.
13392 (LIB_SPEC): Modify.
13393 (LIBGCC_SPEC): New.
13394
600f3392
JJ
133952002-09-20 Jakub Jelinek <jakub@redhat.com>
13396
13397 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
13398 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
13399
c1ff6200
JD
134002002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13401
13402 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
13403 Add clobber of the condition code register.
13404
60b78700
RH
134052002-09-20 Richard Henderson <rth@redhat.com>
13406
13407 * real.c (do_fix_trunc): Static.
13408 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
13409 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
13410 encode_i370_single, encode_i370_double, encode_c4x_single,
13411 encode_c4x_extended): Add default abort case.
13412
0ee6fdb5
RH
134132002-09-20 Richard Henderson <rth@redhat.com>
13414
13415 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
13416 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
13417 (struct realvaluetype): Remove.
13418 (REAL_VALUE_TYPE): Use struct real_value.
13419 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
13420 (test_real_width): New.
13421 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
13422 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
13423 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
13424 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
13425 real_to_integer, real_to_integer2, real_to_decimal,
13426 real_to_hexadecimal, real_from_string, real_from_integer,
13427 real_inf, real_nan, real_2expN, real_convert, real_to_target,
13428 real_from_target): Likewise.
13429 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
13430 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
13431
66d93b5a
RH
134322002-09-20 Richard Henderson <rth@redhat.com>
13433
13434 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
13435 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
13436 * defaults.h: ... here.
13437 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
13438 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
13439 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
13440 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
13441
6ee3db61
HPN
134422002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
13443
13444 * config/mmix/mmix.md ("negdf2"): Rewrite.
13445 ("*expanded_negdf2"): New.
13446
ff076520
JW
134472002-09-19 Jim Wilson <wilson@redhat.com>
13448
13449 * combine.c (simplify_set): When optimizing a subreg src with a
13450 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
13451
307f767b
DJ
134522002-09-19 Dale Johannesen <dalej@apple.com>
13453 * combine.c (make_extraction): Don't create
13454 invalid subreg.
13455
4977bab6
ZW
134562002-09-19 Roger Sayle <roger@eyesopen.com>
13457
13458 * tree.c (integer_nonzerop): New predicate for nonzero integers.
13459 * tree.h (integer_nonzerop): Add function prototype.
13460 * stmt.c (expand_end_loop): Don't rotate the loop when there
13461 are no instructions in the test, i.e. the loop is unconditional.
13462 (expand_exit_loop_if_false): Optimize RTL generation of loop
13463 tests when the condition is always true or always false.
13464 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
13465 do-loops when the condition is always true.
13466 (genrtl_for_stmt): Optimize RTL generation of for-loops when
13467 the for-expression is empty.
13468
134692002-09-19 Zack Weinberg <zack@codesourcery.com>
13470
13471 * gcc.c (use_pipes): New flag.
13472 (process_command): Set it. Adjust check for -pipe conflicting
13473 with -time or -save-temps.
13474 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
13475 %<SWITCH. Drop %| (without a SUFFIX).
13476 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
13477 (give_switch): Third argument eliminated.
13478 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
13479 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
13480 (specs documentation comment): Update.
13481
13482 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
13483 config/svr4.h, config/i386/freebsd-aout.h,
13484 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
13485 config/m68k/openbsd.h, config/mips/openbsd.h,
13486 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
13487 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
13488 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
13489 * config/cris/cris.h: Update comment.
13490
13491 * ada/lang-specs.h: Use %(invoke_as). Straighten out
13492 error messages. Don't use %{^SWITCH}.
13493 * ada/misc.c (gnat_decode_option): Handle -I with a
13494 separate argument.
13495
13496 * f/lang-specs.h: Use %| and %m.
13497 * java/jvspec.c: Use %m and %(invoke_as). Change all
13498 uses of %{<SWITCH} to %<SWITCH.
13499
13500 * doc/invoke.texi: Update documentation of specs.
13501 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
13502
cc7ab9b7
UW
135032002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
13504
b4f94ac1 13505 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
cc7ab9b7
UW
13506 and STRICT_LOW_PART within SET_DEST.
13507 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
13508 splitters, replacing pre-reload splitters.
b4f94ac1 13509 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
cc7ab9b7
UW
13510 "*zero_extendqihi2_31"): New insns.
13511 ("*zero_extendqihi2_64"): Do not clobber CC.
13512
4977bab6
ZW
135132002-09-18 Devang Patel <dpatel@apple.com>
13514
13515 * cp/cp-tree.h: New prototype for walk_vtables().
13516 * cp/decl.c (walk_vtables_r): New function.
13517 (struct cp_binding_level): Add new members, namespaces,
13518 names_size and vtables.
13519 (add_decl_to_level): Add decl in namespaces or vtables
13520 chain, if conditions match.
13521 (walk_vtables): New function.
13522 (walk_namespaces_r): Travers separate namespace chain
13523 for namespace decls.
13524 (wrapup_globals_for_namespace): Use names_size instead
13525 of list_length().
13526 * cp/decl2.c (finish_file): Use walk_vtables() instead of
13527 walk_globals() to walk vtable decls.
13528
b64ddb88
SE
135292002-09-19 Steve Ellcey <sje@cup.hp.com>
13530
13531 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
13532 (DTORS_SECTION_ASM_OP): Ditto.
13533 (READONLY_DATA_SECTION_ASM_OP): Moved.
13534 (DATA_SECTION_ASM_OP): New.
13535 (SDATA_SECTION_ASM_OP): New.
13536 (BSS_SECTION_ASM_OP): New.
13537 (SBSS_SECTION_ASM_OP): New.
13538 (TEXT_SECTION_ASM_OP): New.
13539
9cd10576
KH
135402002-09-19 Kazu Hirata <kazu@cs.umass.edu>
13541
13542 * config/fp-bit.c: Follow spelling conventions.
13543 * config/d30v/d30v.c: Likewise.
13544 * config/d30v/d30v.h: Likewise.
13545 * config/fr30/fr30.c: Likewise.
13546 * config/fr30/fr30.h: Likewise.
13547 * config/fr30/fr30.md: Likewise.
13548 * config/frv/frv.c: Likewise.
13549 * config/frv/frv.h: Likewise.
13550 * config/h8300/h8300.c: Likewise.
13551 * config/h8300/lib1funcs.asm: Likewise.
13552 * config/i370/i370.c: Likewise.
13553 * config/i386/i386.h: Likewise.
13554 * config/i386/i386.md: Likewise.
13555 * config/i386/pentium.md: Likewise.
13556 * config/i386/winnt.c: Likewise.
13557 * config/i960/i960.c: Likewise.
13558 * config/ia64/ia64.h: Likewise.
13559 * config/ip2k/ip2k.c: Likewise.
13560 * config/ip2k/ip2k.h: Likewise.
13561 * config/ip2k/ip2k.md: Likewise.
13562 * config/ip2k/libgcc.S: Likewise.
13563
fff08fd8
SC
135642002-09-19 Stephen Clarke <stephen.clarke@superh.com>
13565
13566 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
13567 (GOTOFF_P): Extend to allow gotoff plus constant.
13568
bf3d27e6
RH
135692002-09-18 Richard Henderson <rth@redhat.com>
13570
13571 * ifcvt.c (noce_process_if_block): Correctly detect X modified
b4f94ac1 13572 with INSN_B before COND_EARLIEST. Don't check A and B for
bf3d27e6
RH
13573 modification in condition range. Reorder INSN_B for A==B properly.
13574 (if_convert): Iterate until no matches for a block.
13575
1b1f20ca
RH
135762002-09-18 Richard Henderson <rth@redhat.com>
13577
13578 * calls.c (store_one_arg): Rename default_align to parm_align;
13579 always adjust parm_align for downward padding.
13580
724838b9
RH
135812002-09-18 Richard Henderson <rth@redhat.com>
13582
13583 * toplev.c (backend_init): Move init_real_once invocation ...
13584 (do_compile): ... here.
13585
2c67b7c6
RH
135862002-09-18 Richard Henderson <rth@redhat.com>
13587
13588 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
13589 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
13590
15769ca3
RH
135912002-09-18 Richard Henderson <rth@redhat.com>
13592
13593 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
13594
678b7733
AM
135952002-09-19 Alan Modra <amodra@bigpond.net.au>
13596
13597 * config/rs6000/rs6000.md: (floatdisf2): Rename to
13598 floatdisf2_internal1.
13599 (floatdisf2): New define_expand.
13600 (floatdisf2_internal2): Likewise.
13601
c402b6bf
RH
136022002-09-18 Richard Henderson <rth@redhat.com>
13603
b4f94ac1 13604 * real.c (sticky_rshift_significand): Collect sticky as
c402b6bf
RH
13605 unsigned long, not bool.
13606
dea09b1b
UW
136072002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
13608
13609 * config/s390/s390.c (s390_address_cost): New function.
13610 config/s390/s390-protos.h (s390_address_cost): Add prototype.
13611 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
13612 (RTX_COST): Use COSTS_N_INSNS.
13613
e4850f36
DR
136142002-09-18 Douglas Rupp <rupp@gnat.com>
13615 Donn Terry <donnte@microsoft.com>
13616
13617 * stor-layout.c (place_field): Handle alignment of whole
13618 structures when MSVC compatible bitfields are involved.
13619 Change method of computing location of MS bitfields to
13620 be compatible with #pragma pack(n).
13621
13622 * tree.h (record_layout_info): Add new field
13623 remaining_in_alignment.
13624
13625 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
4977bab6 13626 (pragma pack): Add paragraph on MSVC bitfield packing.
e4850f36 13627
872e50d3
RE
136282002-09-18 Richard Earnshaw (reanrsha@arm.com)
13629
13630 PR optimization/7967
13631 * arm.md (ne_zeroextractsi): Add clobber of the condition code
13632 register.
13633
5e7a8ee0
KH
136342002-09-18 Kazu Hirata <kazu@cs.umass.edu>
13635
9cd10576 13636 * config/s390/s390.c: Follow spelling conventions.
5e7a8ee0
KH
13637 * config/sh/lib1funcs.asm: Likewise.
13638 * config/sh/sh.c: Likewise.
13639 * config/sh/sh.h: Likewise.
13640 * config/sparc/sparc.c: Likewise.
13641 * config/sparc/sparc.h: Likewise.
13642 * config/sparc/sparc.md: Likewise.
13643 * config/stormy16/stormy16.c: Likewise.
13644 * config/stormy16/stormy16.h: Likewise.
13645 * config/v850/v850.c: Likewise.
13646 * config/v850/v850.h: Likewise.
13647 * config/vax/vax.c: Likewise.
13648 * config/vax/vax.h: Likewise.
13649
00a892b8
NC
136502002-09-18 Nick Clifton <nickc@redhat.com>
13651
13652 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
13653 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
13654 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
13655
4977bab6
ZW
136562002-09-17 Kazu Hirata <kazu@cs.umass.edu>
13657
13658 * function.c (max_parm_reg_num): Remove.
13659 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
13660 drop_through_at_end_p, move_cleanups_up,
13661 expand_end_case_dummy, case_index_expr_type): Likewise.
13662 * stor-layout.c (pos_from_byte): Likewise.
13663 * tree.c (chain_member_value, chain_member_purpose, listify,
13664 tree_int_cst_msb, index_type_equal): Likewise.
13665 * tree.h: Remove prototypes for unused functions.
13666
bfb53001
ZW
136672002-09-17 Zack Weinberg <zack@codesourcery.com>
13668
13669 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
13670 statement that the only translation is to en_UK.
13671
825dda42
KH
136722002-09-17 Kazu Hirata <kazu@cs.umass.edu>
13673
13674 * config/alpha/alpha.c: Follow spelling conventions.
13675 * config/alpha/alpha.h: Likewise.
13676 * config/alpha/alpha.md: Likewise.
13677 * config/arc/arc.h: Likewise.
13678 * config/arm/arm.c: Likewise.
13679 * config/arm/arm.h: Likewise.
13680 * config/arm/arm.md: Likewise.
13681 * config/arm/pe.c: Likewise.
13682 * config/arm/unknown-elf.h: Likewise.
13683 * config/avr/avr.c: Likewise.
13684 * config/avr/avr.h: Likewise.
13685 * config/c4x/c4x.c: Likewise.
13686 * config/cris/cris.c: Likewise.
13687 * config/cris/cris.h: Likewise.
13688
8e16ab99 136892002-09-17 Samuel Figueroa <figueroa@apple.com>
825dda42 13690
8e16ab99
SF
13691 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
13692 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
13693 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
13694
ac19be7e 136952002-09-17 Dale Johannesen <dalej@apple.com>
825dda42 13696
ac19be7e
DJ
13697 * cfgcleanup.c (try_forward_edges): Do not forward a
13698 branch to just after a loop exit before loop optimization;
13699 this interfered with doloop detection.
13700
f1acdf8b
NC
137012002-09-17 Nick Clifton <nickc@redhat.com>
13702
13703 * config/arm/arm.c (output_return_instruction): Do not
13704 writeback the stack pointer when it is being loaded.
13705 (arm_output_epilogue): Likewise.
13706
24491a09
KH
137072002-09-17 Kazu Hirata <kazu@cs.umass.edu>
13708
13709 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
13710 generate a pseudo reg that receives the result of a libcall.
13711 (prepare_float_lib_cmp): Likewise.
13712
e6c247e0
SE
137132002-09-17 Steve Ellcey <sje@cup.hp.com>
13714
b4f94ac1 13715 * config/ia64/elf.h: Remove CPP_PREDEFINES.
e6c247e0 13716
1074d9d4
NP
13717Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
13718
13719 Fix PR/7014 and related objc bugs:
13720 * c-typeck.c (comp_target_types): Added a reflexive argument.
13721 Pass it to ObjC when/if calling objc_comptypes(). Updated all
13722 callers to provide the appropriate reflexive argument.
13723 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
13724 typechecking for all cases of comparisons and assignments,
13725 particularly the obscure and less common ones involving protocols.
13726
256e9fd2
NC
137272002-09-17 Nick Clifton <nickc@redhat.com>
13728
13729 * machmode.def (V1DImode): New mode. A single element vector.
13730 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
13731 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
13732 * tree.c (build_common_tree_nodes_2): Build
13733 unsigned_V1DI_type_node and V1D1_type_node.
13734 * c-common.c (c_common_type_for_mode): Return
13735 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
13736 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
13737
838c4534
NP
13738Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
13739
13740 * doc/objc.texi (Constant string objects): Extended documentation
13741 to make clear that the constant string class ivar layout is
13742 completely fixed.
b4f94ac1 13743
07532fad
RS
137442002-09-17 Roger Sayle <roger@eyesopen.com>
13745
13746 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
13747 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
13748
4977bab6
ZW
137492002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13750
13751 * config/mips/mips.c (save_restore_insns): Remove unused variable.
13752 * gcc.c (make_relative_prefix): Likewise.
13753 * loop.c (check_final_value): Likewise.
13754 * jump.c (init_label_info): Remove return value.
13755 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
13756
137572002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13758
13759 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
13760 (ASM_PN_FORMAT): Define.
13761
137622002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13763
13764 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
13765 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
13766 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
13767 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
13768 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13769 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
13770 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
13771 Delete.
13772 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
13773 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
13774 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
13775
13776 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
13777 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
13778
cb38fd88
RH
137792002-09-16 Richard Henderson <rth@redhat.com>
13780
13781 * expr.c (emit_block_move): Set memory block size as appropriate
13782 for the copy.
13783
bd055118
RH
137842002-09-16 Richard Henderson <rth@redhat.com>
13785
13786 PR fortran/3924
b4f94ac1 13787 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
bd055118 13788
8c317c5f
RH
137892002-09-16 Richard Henderson <rth@redhat.com>
13790
13791 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
13792 as well as OFFSET for BITPOS.
13793
3780101d
JG
137942002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
13795
b4f94ac1
ZW
13796 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
13797 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
3780101d 13798 winchip2 and c3.
b4f94ac1 13799 * doc/invoke.texi: Mention new aliases.
3780101d 13800
9dff28ab
JDA
138012002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
13802
13803 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
13804 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
13805 downward.
13806 * function.c (pad_below): Always compile.
13807 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
13808 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
13809 Pad below when the argument is not in a register and the padding
13810 direction is downward.
13811
13812 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
13813 (PAD_VARARGS_DOWN): Define.
13814 * pa.c (function_arg_padding): Revise padding directions to make them
13815 compatible with the 32 and 64-bit runtime architecture documentation.
13816 (hppa_va_arg): Add code to handle variable and size zero arguments
13817 passed by reference on TARGET_64BIT. Reformat.
13818 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
13819 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
13820 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
13821 Add comments.
13822 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
13823 (RETURN_IN_MEMORY): Return size zero types in memory.
13824 (FUNCTION_VALUE): Return TFmode in general registers.
13825 (MUST_PASS_IN_STACK): Define.
13826 (FUNCTION_ARG_BOUNDARY): Simplify.
13827 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
13828 by reference.
13829 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
13830
94313f35
RH
138312002-09-16 Richard Henderson <rth@redhat.com>
13832
13833 * real.c (do_fix_trunc): New.
13834 (real_arithmetic): Call it.
13835 * simplify-rtx.c (simplify_unary_operation): Handle FIX
13836 with a floating-point result mode.
13837
1472e41c
RH
138382002-09-16 Richard Henderson <rth@redhat.com>
13839
13840 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
13841 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
13842 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
13843 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
13844 * builtins.c (fold_builtin_nan): New.
13845 (fold_builtin): Call it.
13846 * real.c (real_nan): Parse a non-empty string.
13847 (round_for_format): Fix NaN significand truncation.
13848 * real.h (real_nan): Return bool.
13849 * doc/extend.texi: Document new builtins.
13850
f354b828
JM
138512002-09-16 Jason Merrill <jason@redhat.com>
13852 Danny Smith <dannysmith@users.sourceforge.net>
13853
13854 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
13855 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
13856 (i386_pe_mark_dllimport): Not here.
13857
85341ddd
NS
138582002-09-16 Nathan Sidwell <nathan@codesourcery.com>
13859
13860 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
13861
045572c7
GK
138622002-09-16 Geoffrey Keating <geoffk@redhat.com>
13863
13864 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
13865 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
13866 < 64.
13867 (rs6000_emit_cmove): Use real_isinf not target_isinf.
13868
d57551c7
KH
138692002-09-16 Kazu Hirata <kazu@cs.umass.edu>
13870
13871 * calls.c (emit_library_call_value_1): Don't refer to
13872 hard_libcall_value.
13873 * optabs.c (prepare_float_lib_cmp): Likewise.
13874
36a5eadd
GK
138752002-09-16 Geoffrey Keating <geoffk@apple.com>
13876
13877 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
13878 mangling.
13879
13880 The following changes are merged from pch-branch:
13881
13882 * doc/gty.texi (GTY Options): Document %a.
13883 * gengtype.c (do_scalar_typedef): New function.
13884 (process_gc_options): Handle `length' option.
13885 (set_gc_used_type): A pointer to an array of structures doesn't
13886 qualify as a pointer to a structure.
13887 (output_escaped_param): Add `%a' escape.
13888 (write_gc_structure_fields): Allow 'desc' on array of unions.
13889 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
13890 do_scalar_typedef.
13891
13892 * gengtype.c (enum rtx_code): Make global.
13893 (rtx_format): Make global.
13894 (rtx_next): New.
13895 (gen_rtx_next): New.
13896 (write_rtx_next): New.
13897 (adjust_field_rtx_def): Skip fields marked by chain_next.
13898 (open_base_files): Delete redundant prototype.
13899 (write_enum_defn): New.
13900 (output_mangled_typename): Correct abort call.
13901 (write_gc_marker_routine_for_structure): Handle chain_next and
13902 chain_prev options.
13903 (finish_root_table): Don't output redundant \n.
13904 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
13905 * c-tree.h (union lang_tree_node): Add chain_next option.
13906
13907 * gengtype.h (NUM_PARAM): New definition.
13908 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
13909 * gengtype.c (find_param_structure): New.
13910 (adjust_field_type): Handle param<n>_is option.
13911 (process_gc_options): Detect use_params option. Update callers.
13912 (set_gc_used_type): Add 'param' parameter, update callers. Handle
13913 'use_params' option.
13914 (open_base_files): Add splay-tree.h to list of files included.
13915 (output_mangled_typename): New.
13916 (write_gc_structure_fields): Update 'param' parameter to support
13917 multiple parameters. Change name mangling. Allow parameterized
13918 fields to have an apparent scalar type. Handle param<n>_is options,
13919 use_param option.
13920 (write_gc_marker_routine_for_structure): Update for change to name
13921 mangling. Better guess the output file for parameterized types.
13922 (write_gc_types): Update for change to name mangling.
13923 (write_gc_root): Update for change to name mangling. Handle (ignore)
13924 param<n>_is options.
13925 * doc/gty.texi (GTY Options): Add description of param<n>_is
13926 options, use_params option.
13927 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13928 * gengtype-lex.l: Produce token for param<n>_is.
13929 * gengtype-yacc.y: Parse param<n>_is.
13930
13931 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
13932
13933 * rtl.c: Update comment describing rtx_format.
13934 * rtl.h (union rtunion): Separate definition and typedef.
13935 (struct rtx_def): Use gengtype to mark.
13936 * Makefile.in (gengtype.o): Also depend on rtl.def.
13937 * ggc.h (ggc_mark_rtx_children): Delete prototype.
13938 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
13939 * ggc-common.c (ggc_mark_rtx_children): Delete.
13940 (ggc_mark_rtx_children_1): Delete.
13941 (gt_ggc_m_rtx_def): Delete.
13942 * gengtype.c (adjust_field_rtx_def): New.
13943 (adjust_field_type): Call adjust_field_rtx_def.
13944 (write_gc_structure_fields): Add 'default' case to switch if none
13945 is specified; remove unused code.
13946
13947 * tree.h (struct tree_exp): Update for change to meaning
13948 of special.
13949 * gengtype.c (adjust_field_tree_exp): New function.
13950 (adjust_field_type): Handle `tree_exp' special here.
13951 (write_gc_structure_fields): Don't handle `tree_exp' special here.
13952 Handle new `dot' option.
13953
13954 * gengtype.h: Make `info' a pointer-to-const.
13955 * gengtype-yacc.y (yacc_ids): Use xasprintf.
13956
13957 * gengtype.c (write_gc_structure_fields): Remove implementation
13958 of `always' option, add `default' option.
13959 * doc/gty.texi (GTY Options): Remove documentation of `always',
13960 add `default'.
13961
a7f6d760
HPN
139622002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
13963
13964 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
13965
245ff137
KG
139662002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13967
7c3414b6
KG
13968 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
13969
245ff137
KG
13970 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
13971 instead of the *-protos.h file directly.
13972 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
13973 * darwin.c (machopic_output_stub): Move prototype ...
13974 * darwin-protos.h (machopic_output_stub): ... here.
13975 * rs6000-protos.h (machopic_output_stub): Don't declare.
13976
ac520ec9
RH
139772002-09-16 Richard Henderson <rth@redhat.com>
13978
13979 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
13980
efdc7e19
RH
139812002-09-16 Richard Henderson <rth@redhat.com>
13982
13983 * real.c, real.h: Rewrite from scratch.
13984
13985 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
13986 (paranoia): New target.
13987 * builtins.c (fold_builtin_inf): Use new real.h interface.
13988 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
13989 * c-lex.c (interpret_float): Likewise.
13990 * emit-rtl.c (gen_lowpart_common): Likewise.
13991 * optabs.c (expand_float): Use real_2expN.
13992 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
13993 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
13994 (FLOAT_WORDS_BIG_ENDIAN): New.
13995 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
13996 directly to REAL_VALUE_NEGATIVE.
13997 * loop.c (canonicalize_condition): Likewise.
13998 * simplify-rtx.c: Include tree.h.
13999 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
14000 with floating-point result modes.
14001 * toplev.c (backend_init): Call init_real_once.
14002
14003 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
14004 * tree.c (build_real): Likewise.
14005 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
14006 float_values, inited_float_values, check_float_value): Remove.
14007 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
14008 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
14009 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
14010 (VAX_HALFWORD_ORDER): Remove.
14011
a41c6c53
UW
140122002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
14013
14014 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
14015 (s390_load_address): ... this new function.
14016 (s390_decompose_address): Allow the argument pointer and all
14017 virtual registers as 'pointer' registers.
14018 (s390_expand_plus_operand): Use s390_load_address.
14019 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
14020 ("force_la_31"): New insn pattern.
14021 config/s390/s390-protos.h (legitimize_la_operand): Remove.
14022 (s390_load_address): Add prototype.
14023
14024 * config/s390/s390.c: Include "optabs.h".
14025 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
b4f94ac1 14026 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
a41c6c53
UW
14027 s390_expand_cmpstr): Add prototypes.
14028 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
14029 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
14030 for operands 0 and 1 to "memory_operand". Add type attribute.
14031 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
14032 for operands 0 and 1 to "memory_operand". Add type attribute.
14033 ("movstrdi_long", "movstrsi_long"): Remove.
14034 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
14035 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
14036 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
14037 ("clrstrsico"): Remove, replace by ...
14038 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
14039 ("clrstrsi_64"): Rename to "clrstr_long_64".
14040 ("clrstrsi_31"): Rename to "clrstr_long_31".
14041 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
14042 ("cmpstr_const"): Remove, replace by ...
14043 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
14044 ("cmpstr_64"): Rename to "cmpstr_long_64".
14045 ("cmpstr_31"): Rename to "cmpstr_long_31".
14046
8d9afc4e
KH
140472002-09-16 Kazu Hirata <kazu@cs.umass.edu>
14048
14049 * ABOUT-NLS: Follow spelling conventions.
14050 * ChangeLog: Likewise.
14051 * ChangeLog.1: Likewise.
14052 * ChangeLog.2: Likewise.
14053 * ChangeLog.3: Likewise.
14054 * ChangeLog.4: Likewise.
14055 * ChangeLog.5: Likewise.
14056 * ChangeLog.6: Likewise.
14057 * FSFChangeLog.10: Likewise.
14058 * FSFChangeLog.11: Likewise.
14059 * c-common.c: Likewise.
14060 * c-lex.c: Likewise.
14061 * c-objc-common.c: Likewise.
14062 * cppexp.c: Likewise.
14063 * cppinit.c: Likewise.
14064 * cpplex.c: Likewise.
14065 * doloop.c: Likewise.
14066 * flow.c: Likewise.
14067 * function.c: Likewise.
14068 * integrate.c: Likewise.
14069 * loop.c: Likewise.
14070 * reg-stack.c: Likewise.
14071 * reload.h: Likewise.
14072 * ssa.c: Likewise.
14073
4977bab6
ZW
140742002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14075
14076 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
14077 * vmsdbgout.c: Include "target.h".
14078
981f6289
KH
140792002-09-15 Kazu Hirata <kazu@cs.umass.edu>
14080
14081 * ChangeLog: Follow spelling conventions.
14082 * ChangeLog.0: Likewise.
14083 * ChangeLog.1: Likewise.
14084 * ChangeLog.2: Likewise.
14085 * ChangeLog.4: Likewise.
14086 * ChangeLog.6: Likewise.
14087 * config.gcc: Likewise.
14088 * dwarfout.c: Likewise.
14089 * reload1.c: Likewise.
14090 * simplify-rtx.c: Likewise.
14091 * unwind-sjlj.c: Likewise.
14092 * config/avr/avr.h: Likewise.
14093 * config/d30v/d30v.h: Likewise.
14094 * config/frv/frv.c: Likewise.
14095 * config/frv/frv.h: Likewise.
14096 * config/ip2k/ip2k.h: Likewise.
14097 * config/m88k/m88k-move.sh: Likewise.
14098 * config/stormy16/stormy16.c: Likewise.
14099 * config/stormy16/stormy16.h: Likewise.
14100 * doc/extend.texi: Likewise.
14101 * doc/interface.texi: Likewise.
14102 * doc/invoke.texi: Likewise.
14103 * doc/md.texi: Likewise.
14104 * doc/rtl.texi: Likewise.
14105 * doc/tm.texi: Likewise.
14106 * doc/trouble.texi: Likewise.
14107 * ginclude/float.h: Likewise.
14108 * treelang/treelang.texi: Likewise.
14109
8764eef7
KG
141102002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14111
bb6155b5
KG
14112 * i386-protos.h (i386_pe_dllexport_name_p,
14113 i386_pe_dllimport_name_p, i386_pe_unique_section,
14114 i386_pe_declare_function_type, i386_pe_record_external_function,
14115 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
14116 prototype.
14117 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
14118 * i386/t-interix (winnt.o): Likewise.
14119
8764eef7
KG
14120 * v850-protos.h (v850_output_addr_const_extra): Prototype.
14121
a24f7c1a
JT
141222002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
14123
14124 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
14125 MIPS ABI CPP macros.
14126 (TARGET_CPU_CPP_BUILTINS): Redefine.
14127 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
14128 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
14129
bd25febf
KG
141302002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14131
14132 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
14133
05713b80
KH
141342002-09-15 Kazu Hirata <kazu@cs.umass.edu>
14135
14136 * ChangeLog: Follow spelling conventions.
14137 * ChangeLog.0: Likewise.
14138 * ChangeLog.1: Likewise.
14139 * ChangeLog.2: Likewise.
14140 * ChangeLog.3: Likewise.
14141 * ChangeLog.4: Likewise.
14142 * ChangeLog.5: Likewise.
14143 * ChangeLog.6: Likewise.
14144 * FSFChangeLog.10: Likewise.
14145 * FSFChangeLog.11: Likewise.
14146 * c-common.c: Likewise.
14147 * c-common.h: Likewise.
14148 * c-format.c: Likewise.
14149 * c-opts.c: Likewise.
14150 * cpplib.c: Likewise.
14151 * langhooks.h: Likewise.
14152 * real.c: Likewise.
14153 * reg-stack.c: Likewise.
14154 * toplev.c: Likewise.
14155 * config/arm/arm.c: Likewise.
14156 * config/arm/arm.md: Likewise.
14157 * config/arm/linux-gas.h: Likewise.
14158 * config/arm/netbsd.h: Likewise.
14159 * config/c4x/c4x.c: Likewise.
14160 * config/c4x/c4x.h: Likewise.
14161 * config/c4x/c4x.md: Likewise.
14162 * config/c4x/libgcc.S: Likewise.
14163 * config/fr30/fr30.md: Likewise.
14164 * config/frv/frv.md: Likewise.
14165 * config/ia64/ia64.md: Likewise.
14166 * config/mips/mips.h: Likewise.
14167 * config/mn10300/mn10300.c: Likewise.
14168 * config/stormy16/stormy16.c: Likewise.
14169 * config/v850/v850.md: Likewise.
14170 * doc/extend.texi: Likewise.
14171 * doc/invoke.texi: Likewise.
14172 * doc/md.texi: Likewise.
14173
b0c2b2f9
JT
141742002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
14175
14176 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
14177 library if -pthread is specified.
14178
a0494c05
JT
141792002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
14180
14181 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
14182 for --enable-threads=yes and --enable-threads=posix.
14183
56149abc
KH
141842002-09-15 Kazu Hirata <kazu@cs.umass.edu>
14185
14186 * config/sparc/cypress.md: Replace Sparc with SPARC.
14187 * config/sparc/freebsd.h: Likewise.
14188 * config/sparc/gmon-sol2.c: Likewise.
14189 * config/sparc/hypersparc.md: Likewise.
14190 * config/sparc/lb1spc.asm: Likewise.
14191 * config/sparc/lb1spl.asm: Likewise.
14192 * config/sparc/linux.h: Likewise.
14193 * config/sparc/linux64.h: Likewise.
14194 * config/sparc/lynx.h: Likewise.
14195 * config/sparc/sol2.h: Likewise.
14196 * config/sparc/sparc-modes.def: Likewise.
14197 * config/sparc/sparc.c: Likewise.
14198 * config/sparc/sparc.h: Likewise.
14199 * config/sparc/sparc.md: Likewise.
14200 * config/sparc/sparclet.md: Likewise.
14201 * config/sparc/supersparc.md: Likewise.
14202 * config/sparc/sysv4.h: Likewise.
14203 * config/sparc/vxsim.h: Likewise.
14204 * config/sparc/vxsparc64.h: Likewise.
14205
4977bab6
ZW
142062002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14207
14208 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
14209 * collect2.c (ignore_library, aix_std_libs): Move into the context
14210 where it is used.
14211 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
14212 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
14213 * m88k.c (output_call): Wrap variables with macro controlling use.
14214 * rs6000.md: Likewise. Const-ify variable.
14215 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
14216 * final.c (only_leaf_regs_used): Likewise.
14217 * regrename.c (maybe_mode_change): Mark parameter with
14218 ATTRIBUTE_UNUSED.
14219 * reload.c (find_valid_class): Likewise. Likewise for variable.
14220 (find_reloads_address_1): Likewise.
14221 * varasm.c (weak_finish): Wrap variable with macro controlling use.
14222
3eaf7a3c
MM
142232002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
14224
14225 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
14226
4912a07c
KH
142272002-09-14 Kazu Hirata <kazu@cs.umass.edu>
14228
14229 * ChangeLog: Follow spelling conventions.
14230 * ChangeLog.0: Likewise.
14231 * ChangeLog.2: Likewise.
14232 * ChangeLog.3: Likewise.
14233 * ChangeLog.4: Likewise.
14234 * ChangeLog.5: Likewise.
14235 * ChangeLog.6: Likewise.
14236 * cppfiles.c: Likewise.
14237 * cppinit.c: Likewise.
14238 * cpplib.h: Likewise.
14239 * cse.c: Likewise.
14240 * debug.h: Likewise.
14241 * df.c: Likewise.
14242 * dominance.c: Likewise.
14243 * hashtable.c: Likewise.
14244 * hashtable.h: Likewise.
14245 * loop.c: Likewise.
14246 * config/arm/README-interworking: Likewise.
14247 * config/arm/arm.c: Likewise.
14248 * config/arm/arm.h: Likewise.
14249 * config/arm/arm.md: Likewise.
14250 * config/dsp16xx/dsp16xx.h: Likewise.
14251 * config/frv/frv.c: Likewise.
14252 * config/frv/frv.h: Likewise.
14253 * config/ip2k/ip2k.h: Likewise.
14254 * config/rs6000/rs6000.c: Likewise.
14255 * config/stormy16/stormy-abi: Likewise.
14256 * config/stormy16/stormy16.h: Likewise.
14257 * config/v850/v850.c: Likewise.
14258
3dc60fc7
KH
142592002-09-14 Kazu Hirata <kazu@cs.umass.edu>
14260
14261 * loop.c: Fix a comment typo.
14262
a920aefe
KH
142632002-09-14 Kazu Hirata <kazu@cs.umass.edu>
14264
14265 * config/fr30/fr30.h: Fix comment typos.
14266 * config/frv/frv.c: Likewise.
14267 * config/i386/xmmintrin.h: Likewise.
14268 * config/mips/mips.c: Likewise.
14269 * config/sh/sh.c: Likewise.
14270
88cad84b
KH
142712002-09-14 Kazu Hirata <kazu@cs.umass.edu>
14272
14273 * haifa-sched.c: Follow spelling conventions.
14274 * regclass.c: Likewise.
14275 * regrename.c: Likewise.
14276 * config/fp-bit.c: Likewise.
14277 * config/frv/frv.h: Likewise.
14278 * config/m88k/m88k.c: Likewise.
14279 * config/mcore/mcore.c: Likewise.
14280 * config/rs6000/darwin.h: Likewise.
14281 * config/rs6000/gnu.h: Likewise.
14282 * config/rs6000/linux.h: Likewise.
14283 * config/rs6000/linux64.h: Likewise.
14284 * config/rs6000/rs6000.c: Likewise.
14285 * config/rs6000/rs6000.h: Likewise.
14286 * config/sh/sh.c: Likewise.
14287 * config/sparc/sparc.c: Likewise.
14288 * config/sparc/ultra1_2.md: Likewise.
14289
f197f1cf
SC
142902002-09-14 Stephane Carrez <stcarrez@nerim.fr>
14291
14292 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
14293 memory operand when source is 0 (K constraint).
14294 ("movsi_internal"): Likewise.
14295 ("movdf_internal"): Likewise.
14296 ("movsf_internal"): Likewise.
14297
b629ba0c
AM
142982002-09-14 Alan Modra <amodra@bigpond.net.au>
14299
14300 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
14301 targetm.binds_local_p to set SYMBOL_REF_FLAG.
14302 (rs6000_xcoff_encode_section_info): Likewise.
14303 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
14304
2e485129
TR
143052002-09-10 Theodore A. Roth <troth@verinet.com>
14306
14307 * gcc/config/avr/avr.h: Set default options for C++ for avr.
14308
4977bab6
ZW
143092002-09-13 Roger Sayle <roger@eyesopen.com>
14310
14311 * stmt.c (struct nexting): Remove unused alt_end_label field.
14312 (expand_start_loop): Delete initialization of alt_end_label.
14313 (expand_start_null_loop): Likewise.
14314 (expand_exit_loop_if_false): Delete updating of alt_end_label.
14315
907aee69
RH
143162002-09-13 Richard Henderson <rth@redhat.com>
14317
14318 * Makefile.in (toplev.o): Depend on real.h.
14319 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
14320
374b0b7d
AM
143212002-09-14 Alan Modra <amodra@bigpond.net.au>
14322
14323 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
14324 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
14325 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
14326
690eed2c
NS
143272002-09-13 Nathan Sidwell <nathan@codesourcery.com>
14328
14329 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
14330
32b4f6f4
SE
143312002-09-13 Steve Ellcey <sje@cup.hp.com>
14332
14333 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
14334 ia64*-*-linux*): Set extra_parts.
14335 * config/ia64/t-aix (EXTRA_PARTS): Remove.
14336 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
14337
3db11b5c
KH
143382002-09-13 Kazu Hirata <kazu@cs.umass.edu>
14339
14340 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
14341 * config/h8300/h8300.c: Likewise.
14342 * config/h8300/h8300.h: Likewise.
14343 * config/h8300/h8300.md: Likewise.
14344 * doc/invoke.texi: Likewise.
14345
b6894857
KH
143462002-09-13 Kazu Hirata <kazu@cs.umass.edu>
14347
14348 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
14349
d5909a79
RH
143502002-09-13 Richard Henderson <rth@redhat.com>
14351
14352 * config/alpha/alpha.md (attr type): Add callpal.
14353 (imb, trap, load_tp, set_tp): Use it.
14354 * config/alpha/ev4.md (ev4_callpal): New.
14355 * config/alpha/ev5.md (ev5_callpal): New.
14356 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
14357 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
14358 (alphaev5_insn_pipe): Likewise.
14359
e0073fa8
AJ
143602002-09-13 Andreas Jaeger <aj@suse.de>
14361
14362 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
14363
1f298625
SE
143642002-09-13 Steve Ellcey <sje@cup.hp.com>
14365
14366 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
14367 LIB2ADDEH): New, set to NULL.
14368 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
14369
1a7e1470
SE
143702002-09-13 Steve Ellcey <sje@cup.hp.com>
14371
14372 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
14373 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
14374 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
14375 Add declarations.
14376 (_U_Qfneg): Remove.
14377
d56c04ce
DD
143782002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
14379
14380 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
8d9afc4e
KH
14381 for H8/300, H8S aa:8 mode.
14382 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
d56c04ce
DD
14383 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
14384 for H8/300 aa:8 mode.
14385
4456530d
HP
143862002-09-13 Hartmut Penner <hpenner@de.ibm.com>
14387
14388 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
14389 insns.
14390
4d2d910c
RH
143912002-09-12 Richard Henderson <rth@redhat.com>
14392
14393 * Makefile.in (HOST_PRINT): Use print-rtl1.o
14394 (print-rtl.o): Don't define GENERATOR_FILE.
14395 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
14396 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
14397 unless GENERATOR_FILE.
14398
7606e68f
SS
143992002-09-12 Stan Shebs <shebs@apple.com>
14400
6ab9a3f4
SS
14401 * config/darwin.h (USER_LABEL_PREFIX): Define here...
14402 * config/i386/darwin.h: ... instead of here.
14403
7606e68f
SS
14404 * target.h (struct gcc_target): New field
14405 terminate_dw2_eh_frame_info.
14406 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14407 (TARGET_INITIALIZER): Add it.
14408 * dwarf2out.c (output_call_frame_info): Use target hook.
14409 * dwarf2asm.c (dw2_asm_output_delta): Use macro
14410 ASM_OUTPUT_DWARF_DELTA if defined.
14411 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
14412 (ASM_OUTPUT_DWARF_DELTA): Ditto.
14413 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
14414 (ASM_OUTPUT_DWARF_PCREL): Ditto.
14415 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
14416 (powerpc-*-darwin*): Ditto.
14417 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
14418 to work correctly for Darwin.
14419 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
14420 (STARTFILE_SPEC): Add crtbegin.o.
14421 (ENDFILE_SPEC): Define.
14422 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
14423 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
14424 (ASM_OUTPUT_DWARF_DELTA): Define.
14425 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14426 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
14427
20b71b17
AM
144282002-09-13 Alan Modra <amodra@bigpond.net.au>
14429
14430 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
14431 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
14432 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
14433
d48fd218
ZW
144342002-09-12 Zack Weinberg <zack@codesourcery.com>
14435
14436 * toplev.c: Move default definition of USER_LABEL_PREFIX...
14437 * defaults.h: ... here.
14438
92bc3c1a
RH
144392002-09-12 Richard Henderson <rth@redhat.com>
14440
14441 * vax.c: Include tree.h earlier.
14442
3f64e543
SS
144432002-09-12 Stan Shebs <shebs@apple.com>
14444
14445 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
14446 (machopic_operand_p): Ditto.
14447
52bd31bb
KH
144482002-09-12 Kazu Hirata <kazu@cs.umass.edu>
14449
14450 * config/arm/arm.c (arm_compute_initial_elimination_offset):
14451 Fix a comment typo.
14452
387c9294
KH
144532002-09-12 Kazu Hirata <kazu@cs.umass.edu>
14454
14455 * toplev.c (do_abort): Fix a comment typo.
14456
e34bb004
KH
144572002-09-12 Kazu Hirata <kazu@cs.umass.edu>
14458
14459 * cselib.c: Fix comment formatting.
14460 * gengtype.c: Likewise.
14461
d0029ebd
KH
144622002-09-12 Kazu Hirata <kazu@cs.umass.edu>
14463
14464 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
14465 (udivmodhi4): Likewise.
14466
c3c637e3 144672002-09-12 Graham Stott <graham.stott@btinternet.com>
d48fd218 14468 Roger Sayle <roger@eyesopen.com>
c3c637e3
GS
14469
14470 * i386.c (any_fp_register_operand, fp_register_operand,
14471 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
14472 New predicate functions.
14473 * i386-protos.h: Add their prototypes.
14474 * i386.h: Add them to PREDICATE_CODES.
14475 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
14476 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
14477 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
14478 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
14479 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
14480 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
14481 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
14482 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
14483 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
14484 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
14485 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
14486 Use these new predicates to simplify and correct the use of
14487 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
14488
db4c55f6
JM
144892002-09-12 Jason Merrill <jason@redhat.com>
14490
236a2ac8
JM
14491 * diagnostic.c (output_add_identifier): New fn.
14492 * diagnostic.h: Declare it.
14493
db4c55f6
JM
14494 * calls.c (store_one_arg): Use size_in_bytes to determine the
14495 amount of space to push.
14496
13c0bc20
JJ
144972002-09-12 Jakub Jelinek <jakub@redhat.com>
14498
14499 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
14500
0a3bdf9d
UW
145012002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
14502
14503 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
14504 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
14505 (s390_select_ccmode): Likewise.
14506 (s390_branch_condition_mask): Likewise.
14507 (optimization_options): Do not set flag_branch_on_count.
14508 (s390_split_branches): Handle doloop branches.
14509 (s390_chunkify_pool): Likewise.
14510 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
14511 ("doloop_end"): New expander.
14512 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
14513 associated splitters): New.
14514
4977bab6
ZW
145152002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14516
14517 * genattrtab.c (simplify_cond): Remove unused variable(s).
14518 * global.c (record_conflicts): Likewise.
14519 * jump.c (rebuild_jump_labels): Likewise.
14520 * loop.c (scan_loop, check_final_value): Likewise.
14521 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
14522 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
14523 * rtlanal.c (reg_set_p): Likewise.
14524 * stmt.c (expand_asm_operands, expand_decl): Likewise.
14525 * genautomata.c (empty_reserv): Remove.
14526 * loop.c (max_luid): Likewise.
14527 * sched-rgn.c (bitlst_table_size): Likewise.
14528
145292002-09-11 Nathan Sidwell <nathan@codesourcery.com>
14530
14531 Reimplement gcov format.
14532 * gcov-io.h: Replace.
14533 * gcov.c: Reimplement.
14534 * gcov-iov.c: New file.
14535 * gcov-dump.c: New file.
14536 * libgcc2.c (L_bb): Replace with ...
14537 (L_gcov): ... this.
14538 (struct bb_function_info, struct bb): Remove.
14539 (inhibit_libc): Never inhibit.
14540 (gcov_list, gcov_crc): New static variables.
14541 (gcov_version_mismatch): New static function.
14542 (__bb_exit_func): Renamed to ...
14543 (__gcov_exit): ... here. Made static. Reimplement.
14544 (__gcov_init_func): Rename to ...
14545 (__gcov_init): ... here. Check version, update crc.
14546 (__bb_fork_func): Rename to ...
14547 (__gcov_flush): ... here.
14548 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
14549 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
14550 * calls.c (expand_call): Call __gcov_flush.
14551 * profile.c (bb_file, last_bb_file_name): Remove.
14552 (bbg_file_name): New global variable.
14553 (output_gcov_string): Remove.
14554 (get_exec_counts): Reimplement.
14555 (branch_prob): Reimplement gcov file writing.
14556 (init_branch_prob): Create bbg_file_name, don't create
14557 bb_file_name.
14558 (end_branch_prob): Adjust. Don't remove counter file when
14559 instrumenting ourselves.
14560 (create_profiler): Adjust.
14561 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
14562 point to gcov-io.h.
14563 * Makefile.in (LANGUAGES): Add gcov-dump.
14564 (coverageexts): Remove .bb.
14565 (STAGESTUFF): Add gcov-dump.
14566 (LIB2FUNCS_ST): Replace _bb with _gcov.
14567 (profile.o): Depend on gcov-iov.h.
14568 (final.o): Don't depend on profile.h, gcov.h.
14569 (gcov.o): Depend on gcov-iov.h.
14570 (gcov-iov.o): New target.
14571 (gcov-iov): New target.
14572 (gcov-iov.h): New target.
14573 (gcov-dump.o): New target.
14574 (GCOV_DUMP_OBJS): New variable.
14575 (gcov-dump): New target.
14576 (distclean): Remove coverageexts.
14577 (stage1): Remove coverageexts.
14578
4f968d93
HP
145792002-09-11 Hartmut Penner <hpenner@de.ibm.com>
14580
14581 * fold-const.c (make_range): Only narrow to signed range if
14582 the signed range is smaller than the unsigned range.
14583
35aff10b
AM
145842002-09-12 Alan Modra <amodra@bigpond.net.au>
14585
14586 * emit-rtl.c (set_mem_size): New function.
14587 * expr.h (set_mem_size): Declare.
14588 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
14589 (expand_block_move): Instead, use adjust_address and
14590 replace_equiv_address to generate proper aliasing info.
14591 Move common code out of conditionals. Localize vars.
14592
a9b6f1e7 145932002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
d48fd218 14594
874f6a6d
EB
14595 * optabs.c (expand_binop): Minor cleanup.
14596 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
14597
d1df930b
DN
145982002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
14599
14600 * print-tree.c (print_node): Print the restrict qualifier.
14601
9026a957
JJ
146022002-09-11 Janis Johnson <janis187@us.ibm.com>
14603
14604 * doc/install.texi: Fix typos.
14605
3fd9d606
ZW
146062002-09-11 Zack Weinberg <zack@codesourcery.com>
14607
14608 * Makefile.in: Remove all references to s-under and underscore.c.
14609 * collect2.c, tlink.c: Change all uses of prepends_underscore
14610 to look directly at USER_LABEL_PREFIX.
14611
5b5198f7
DE
146122002-09-11 David Edelsohn <edelsohn@gnu.org>
14613
14614 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
14615 alignment to csect.
14616 (rs6000_xcoff_unique_section): Only set section name for public
14617 data.
14618 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
14619 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
14620 duplicate definition.
14621
77de9af2
JDA
146222002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
14623
14624 * pa.md (extzv): Check predicates before emitting extzv_32.
14625 (insv): Likewise.
14626
33b679d1
UW
146272002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
14628
14629 * config/s390/s390.h (MOVE_MAX): Define to correct value.
14630 (MAX_MOVE_MAX): Define.
14631 (MOVE_BY_PIECES_P): Define.
14632 (CLEAR_BY_PIECES_P): Define.
14633
bfae8040
DC
146342002-09-10 Denis Chertykov <denisc@overta.ru>
14635
14636 * config/avr/avr.md (movstrhi): Use right operands for conversion.
14637
7730c3ff
RE
146382002-09-10 Richard Earnshaw <rearnsha@arm.com>
14639
14640 PR c/7873
14641 * arm.md (insv): Use reg_or_int_operand for operand[3].
14642
5add3202
DE
146432002-09-10 David Edelsohn <edelsohn@gnu.org>
14644
14645 * rs6000.c (rs6000_assemble_visibility): Protect declaration
14646 inside macro. Correct function definition typo.
14647 (rs6000_xcoff_section_type_flags): New function.
14648 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
14649 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
14650 with appropriate PIC test.
14651 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
14652 determine readonly.
14653 (rs6000_binds_local_p): Combine PIC flags.
14654 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
14655 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
14656
4977bab6
ZW
146572002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14658
14659 * h8300.md: Fix signed/unsigned warnings.
14660 * mcore.md: Likewise.
14661 * mn10300.c (mask_ok_for_mem_btst): Likewise.
14662
90389422
PB
146632002-09-09 Per Bothner <per@bothner.com>
14664
14665 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
14666 characters, and only print TREE_STRING_LENGTH chars.
14667
686f3bf0
SE
146682002-09-09 Steve Ellcey <sje@cup.hp.com>
14669
14670 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
14671 (ASM_FILE_END) New.
14672 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
14673 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
14674 * config/ia64/ia64.c (ia64_asm_output_external): Create list
14675 of external functions if TARGET_HPUX_LD is true.
14676 (ia64_hpux_add_extern_decl): New, routine to put names on
14677 list of external functions.
14678 (ia64_hpux_asm_file_end): Put out declarations for external
14679 functions if and only if they are used.
14680
0c263f4e
JDA
146812002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
14682
14683 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
14684 on TARGET_64BIT before pic register restore.
14685
e2a6476e
DE
146862002-09-09 David Edelsohn <edelsohn@gnu.org>
14687
14688 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
14689 (TARGET_HAVE_TLS): New description.
14690
b73b1546
JJ
146912002-09-09 Janis Johnson <janis187@us.ibm.com>
14692
14693 * doc/extend.texi (Statement Exprs): Fix broken link.
14694
a9738643
DC
146952002-09-09 Denis Chertykov <denisc@overta.ru>
14696
14697 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
14698 right conversion of operands[1].
14699
05b9aaaa
UW
147002002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
14701
14702 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
14703 commutative. Use "nonimmediate_operand" instead of "register_operand"
14704 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
14705
14706 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
14707 as commutative.
14708
14709 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
14710 mark as commutative. Use "nonimmediate_operand" instead of
14711 "register_operand" as predicate for operand 1.
14712
14713 ("movstrictsi"): Fix typo in insn name.
14714
7ec70495
JH
147152002-09-09 Jan Hubicka <jh@suse.cz>
14716
14717 * i386.c (index_register_operand): New.
14718 * i386.h (predicate_codes): Add new predicate.
8e746279 14719 * i386.md (lea_general_*): Use index_register_operand
7ec70495
JH
14720 (ashift to lea splitter): Do not produce invalid leas
14721 (ashift to mov+ashift split): New.
14722
b2fc915b
NC
147232002-09-09 Nick Clifton <nickc@redhat.com>
14724
14725 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
14726 Fix folding marks.
14727
0b0ad147 147282002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
d48fd218 14729 J"orn Rennecke <joern.rennecke@superh.com>
0b0ad147
TM
14730
14731 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
14732
2bcc50d0
AM
147332002-09-09 Alan Modra <amodra@bigpond.net.au>
14734
14735 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
14736 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
14737 attributes.
14738
4977bab6
ZW
147392002-09-08 Nathan Sidwell <nathan@codesourcery.com>
14740
14741 * basic_block.h (gcov_type): Explain why it is signed.
14742 * final.c: Don't include profile.h.
14743 (struct function_list, functions_head, functions_tail,
14744 end_final): Moved to profile.c
14745 (final): Move arc chaining code to profile.c.
14746 * function.c (prepare_function_start): Remove duplicate line.
14747 * output.h (end_final): Remove prototype.
14748 * predict.c (estimate_loops_at_level): Use gcov_type.
14749 * profile.c (struct function_list, functions_head,
14750 functions_tail): Moved from final.c
14751 (need_func_profiler): Remove.
14752 (instrument_edges): Don't set need_func_profiler.
14753 (get_exec_counts): Avoid signed/unsigned warning.
14754 (compute_checksum): Use crc32.
14755 (branch_prob): Adjust. Chain onto functions_head.
14756 (init_branch_prob): Absorb init_edge_profiler.
14757 (init_edge_profiler): Remove.
14758 (create_profiler): Moved and renamed from final.c:end_final.
14759 Emit data and constructor.
14760 (output_func_start_profiler): Remove.
14761 * profile.h (struct profile_info): checksum is unsigned.
14762 * rtl.h (output_func_start_profiler): Remove prototype.
14763 (create_profiler): Declare.
14764 * toplev.c (compile_file): Call create_profiler, if instrumenting
14765 arcs. Don't call end_final.
14766
c1b4f089
KG
147672002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14768
14769 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
14770
b9203463
RH
147712002-09-08 Richard Henderson <rth@redhat.com>
14772
14773 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
14774 (DW_OP_GNU_push_tls_address): New.
14775 (DW_OP_lo_user): Fix.
14776 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
14777 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
14778 (size_of_loc_descr): Likewise.
14779 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
14780 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
14781 (loc_descriptor_from_tree): Handle TLS variables.
14782 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
14783 (add_location_or_const_value_attribute): ... not here. Defer
14784 to loc_descriptor_from_tree for TLS variables.
14785
14786 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
14787 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
14788 * config/i386/i386-protos.h: Update.
14789
7df98878
RS
147902002-09-08 Roger Sayle <roger@eyesopen.com>
14791
14792 PR optimization/6405
14793 * unroll.c (loop_iterations): last_loop_insn should be the previous
14794 non-note instruction before loop->end.
14795 * loop.c (strength_reduce): The conditional jump is the last
14796 non-note instruction before loop->end (as above).
14797
f40f4c8e
RS
147982002-09-08 Roger Sayle <roger@eyesopen.com>
14799
14800 * combine.c (try_combine): Handle the case that undobuf.other_insn
14801 has been turned into a return or unconditional jump, by inserting
14802 a BARRIER if necessary.
14803 (simplify_set): Test if a condition code setter has a constant
14804 comparison at compile time, if so convert this insn to a no-op move
14805 and update/simplify the condition code user (undobuf.other_insn).
14806
e2f97e26
KW
148072002-09-08 Krister Walfridsson <cato@df.lth.se>
14808
14809 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
14810 (CLEAR_INSN_CACHE): Define.
14811
4b7e68e7
KH
148122002-09-08 Kazu Hirata <kazu@cs.umass.edu>
14813
14814 * basic-block.h: Fix comment formatting.
14815 * c-common.c: Likewise.
14816 * c-common.h: Likewise.
14817 * c-lex.c: Likewise.
14818 * c-pretty-print.c: Likewise.
14819 * cfglayout.c: Likewise.
14820 * cfgloop.c: Likewise.
14821 * defaults.h: Likewise.
14822 * et-forest.c: Likewise.
14823 * explow.c: Likewise.
14824 * function.h: Likewise.
14825 * gcov.c: Likewise.
14826 * genattrtab.c: Likewise.
14827 * gengtype.c: Likewise.
14828 * ifcvt.c: Likewise.
14829 * libgcc2.c: Likewise.
14830 * loop.c: Likewise.
14831 * profile.c: Likewise.
14832 * ra-build.c: Likewise.
14833 * real.c: Likewise.
14834 * rtl.h: Likewise.
14835 * tracer.c: Likewise.
14836 * tree-inline.c: Likewise.
14837 * varasm.c: Likewise.
14838
2567406a
JH
148392002-09-08 Jan Hubicka <jh@suse.cz>
14840
14841 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
14842 handling.
14843
a36fc5f8 14844 * loop.c (loop_givs_reduce): Emit addition after.
2567406a 14845
bd79540a
AM
148462002-09-08 Alan Modra <amodra@bigpond.net.au>
14847
14848 * varasm.c (default_assemble_visibility): Rename from
14849 assemble_visibility.
14850 * output.h: Here too.
14851 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
14852 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
14853
32ff9c74
AM
148542002-09-08 Alan Modra <amodra@bigpond.net.au>
14855
14856 * reload.c (find_reloads <p constraint>): Pass operand_mode to
14857 find_reloads_address.
14858
6588987e
KH
148592002-09-08 Kazu Hirata <kazu@cs.umass.edu>
14860
14861 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
14862 (anonymous pattern): Likewise.
14863
4977bab6
ZW
148642002-09-07 Igor Shevlyakov <igor@microunity.com>
14865
14866 * machmode.def: Add modes for half-float vectors.
14867
0100732e
SS
148682002-09-07 Scott Snyder <snyder@fnal.gov>
14869
14870 PR target/7374
14871 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
14872
77043c7c
RS
148732002-09-07 Roger Sayle <roger@eyesopen.com>
14874
14875 * basic-block.h (struct loop): Remove unused cont_dominator field.
14876
5dd78220
IS
148772002-09-07 Igor Shevlyakov <igor@microunity.com>
14878
d48fd218 14879 * varasm.c (decode_rtx_const): Don't check undefined field for
5dd78220
IS
14880 CONST_VECTOR.
14881
b96a3fa3
GN
148822002-09-07 Glen Nakamura <glen@imodulo.com>
14883
7fa86a10 14884 PR opt/7814
b96a3fa3
GN
14885 * sched-deps.c (sched_analyze_insn): Make sure to add insn
14886 to reg_last->sets after flushing the dependency lists to guarantee
14887 that subsequent clobbers will be dependent on it.
14888
ad9df12f 148892002-09-07 Igor Shevlyakov <igor@microunity.com>
2567406a 14890
ad9df12f
IS
14891 * combine.c (simplify_shift_const): Calculate rotate count
14892 correctly for vector operands.
14893
54c93c30
AE
148942002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
14895
14896 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
14897 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
2567406a 14898 tree_expr_nonnegative_p.
54c93c30
AE
14899 (build_conditional_expr): Likewise.
14900 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
14901
36eea25f
RH
149022002-09-07 Richard Henderson <rth@redhat.com>
14903
3aa4cad7
RH
14904 * builtins.def (inf, inff, infl): Mark const.
14905 (huge_val, huge_valf, huge_vall): Likewise.
14906 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
14907
36eea25f
RH
14908 * real.c (ereal_inf): Clear E before use.
14909
5c102b48
KH
149102002-09-07 Kazu Hirata <kazu@cs.umass.edu>
14911
14912 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
14913 an expander and an anonymous pattern. Zero out the upper half
14914 of the dividend in the expander.
14915 (udivmodqi4): Likewise.
14916
8bd06267
KH
149172002-09-07 Kazu Hirata <kazu@cs.umass.edu>
14918
14919 * config/h8300/h8300.c: Fix formatting.
14920 * config/h8300/h8300.h: Likewise.
14921 * config/h8300/h8300.md: Likewise.
14922
39587bb9
ZD
149232002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14924
14925 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
14926 information.
14927
34146b94 149282002-09-07 Graham Stott <graham.stott@btinternet.com>
92d9256d
GS
14929
14930 * rtlanal.c (dead_or_set_regno_p): Fix typo.
14931
93638d7a
AM
149322002-09-07 Alan Modra <amodra@bigpond.net.au>
14933
fea76d82
AM
14934 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14935
93638d7a
AM
14936 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
14937 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14938 (TARGET_ASM_OUT): Add the above here.
14939 * target.h (struct gcc_target): Add "visibility" field.
14940 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
14941 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
14942 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14943 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
14944
370ce32a
ZL
149452002-09-06 Ziemowit Laski <zlaski@apple.com>
14946
14947 * c-lang.c (objc_is_id): New stub.
14948 * c-tree.h (objc_is_id): New forward declaration.
14949 * c-typeck.c (build_c_cast): Do not strip protocol
14950 qualifiers from 'id' type.
14951 * objc/objc-act.c (objc_comptypes): Correct handling
14952 of protocol qualifiers.
14953 (objc_is_id): New.
14954
942579db
JL
14955Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
14956
54c93c30 14957 * pentium.md (pentium-firstvboth): Fix typo.
942579db 14958
c4dfc70c
DD
149592002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
14960
14961 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
14962 (enum shift_type, enum h8_cpu): Likewise.
14963 (INL, ROT, LOP, SPC macros): Likewise.
14964 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
14965 const designator.
14966 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
14967 space efficient algorithms when optimize for codesize.
14968
5873a4c1
NP
14969Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
14970
14971 Fix PR/1727 and long-standing failing testcase
14972 objc/formal-protocol-6.m.
14973 * objc-act.c (build_protocol_expr): If compiling for the GNU
14974 runtime, create a list of Protocol statically allocated instances
14975 if it doesn't exist, then add the Protocol object to this same
14976 list.
14977 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
14978 instead of TREE_CHAIN.
14979
e30d4c82
NP
14980Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
14981
14982 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
14983 10k. Fixed category dumping - print out category names with the
14984 proper syntax. Print '@end\n' and not '\n@end' at the end of the
14985 interface.
22d4398d 14986 (finish_objc): Fixed the -gen-decls option. It was printing out
e30d4c82
NP
14987 only the last class. Dump an interface declaration of all classes
14988 being compiled instead.
14989
fcd53748
JT
149902002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
14991
2567406a
JH
14992 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
14993 prototype.
fcd53748
JT
14994 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
14995 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
14996 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
14997 rather than GEN_INT.
14998 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
14999 (return_addr_mask, *check_arch2): New.
15000
96fd3851
UW
150012002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
15002
2567406a 15003 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
96fd3851 15004 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2567406a 15005 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
96fd3851
UW
15006 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
15007 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2567406a 15008 "adddf3", "*adddf3", "*adddf3_ibm",
96fd3851
UW
15009 "addsf3", "*addsf3", "*addsf3_ibm",
15010 "muldi3", "mulsi3", "mulsidi3",
15011 "muldf3", "*muldf3", "*muldf3_ibm",
15012 "mulsf3", "*mulsf3", "*mulsf3_ibm",
15013 "*anddi3_cc", "*anddi3_cconly", "anddi3",
15014 "*andsi3_cc", "*andsi3_cconly", "andsi3",
15015 "*iordi3_cc", "*iordi3_cconly", "iordi3",
15016 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
15017 "*xordi3_cc", "*xordi3_cconly", "xordi3",
15018 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
15019 instead of "register_operand" as predicate for "%0" operand.
15020
22252625
JJ
150212002-09-06 Jakub Jelinek <jakub@redhat.com>
15022
15023 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
15024 unconditionally when gcc_cv_as_flags64 checks are gone.
15025 * configure: Rebuilt.
15026
bc401279
AM
150272002-09-06 Alan Modra <amodra@bigpond.net.au>
15028
15029 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
15030 2002-07-26 change. Comment.
15031
b3fbfc07
KG
150322002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15033
15034 * frv.c (frv_unique_section, frv_select_section,
15035 frv_select_rtx_section): Delete.
15036 (frv_in_small_data_p): New.
15037 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
15038 TARGET_ASM_SELECT_RTX_SECTION): Delete.
15039 (TARGET_IN_SMALL_DATA_P): Define.
15040
41e34bab
DJ
150412002-09-05 Dale Johannesen <dalej@apple.com>
15042
15043 * reload1.c (reload): Retain only those memory clobbers
15044 added for variable-array handling.
15045
dc0ba55a
JT
150462002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
15047
15048 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2567406a 15049 return-in-memory rules.
dc0ba55a
JT
15050 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
15051
dd19d142
DE
150522002-09-05 David Edelsohn <edelsohn@gnu.org>
15053
15054 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
15055 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
15056
3717da94
JT
150572002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
15058
15059 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
15060 not a compile-time constant for the non-IBM case.
15061 * config/arm/arm-protos.h (arm_float_words_big_endian): New
2567406a 15062 prototype.
3717da94 15063 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4 15064 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2567406a
JH
15065 if TARGET_VFP and not TARGET_HARD_FLOAT.
15066 (ARM_FLAG_VFP, TARGET_VFP): Define.
3717da94
JT
15067 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
15068
225cee28
DE
150692002-09-05 David Edelsohn <edelsohn@gnu.org>
15070
15071 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
15072 URLs. Fix AIX wording.
15073
c72bfda7
SS
150742002-09-05 Stan Shebs <shebs@apple.com>
15075
15076 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
15077 -fPIC equivalent on Darwin.
15078
3578cf63
R
15079Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
15080
15081 * sh.c (sh_expand_builtin): Return early if encountering an
15082 error_mark for a type.
15083
7974fe63
UW
150842002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
15085
15086 * config/s390/s390.c (s390_expand_plus_operand): Do not require
15087 double-word scratch register.
15088 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
15089
2567406a 15090 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7974fe63
UW
15091 "*cli"): Replace s_operand by memory_operand.
15092 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
15093
f8cb5851
KH
150942002-09-05 Kazu Hirata <kazu@cs.umass.edu>
15095
15096 * config/h8300/h8300.c (asm_file_start): Add a missing
15097 semicolon.
15098
4977bab6
ZW
150992002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
15100
15101 * c-typeck.c (build_function_call): Remove unused variable(s).
15102 (build_c_cast): Likewise.
15103 * calls.c (rtx_for_function_call): Likewise.
15104 * cfglayout.c (duplicate_insn_chain): Likewise.
15105 * cfgloop.c (flow_loop_nodes_find): Likewise.
15106 * cfgrtl.c (split_edge): Likewise.
15107 * df.c (df_ref_create): Likewise.
15108 * except.c (expand_end_catch): Likewise.
15109 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
15110 * function.c (emit_return_into_block): Likewise.
15111 (reposition_prologue_and_epilogue_notes): Likewise.
15112 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
15113 * combine.c (subst_prev_insn, need_refresh): Remove.
15114 * dwarf2out.c (primary_filename): Remove.
15115 * final.c (new_block): Remove.
15116 * gcse.c (orig_bb_count): Remove.
15117
151182002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15119
15120 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
15121 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
15122 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
15123 directly instead of using a function pointer.
15124
5fc0e5df
KW
151252002-09-04 Krister Walfridsson <cato@df.lth.se>
15126
15127 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
15128 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
15129 (ix86_output_addr_diff_elt) Likewise.
15130 (x86_output_mi_thunk) Likewise.
15131 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
15132
f4b488fd
KG
151332002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15134
15135 * frv.c (frv_encode_section_info): Fix error in last change.
15136
0e5dbd9b
DE
151372002-09-04 David Edelsohn <edelsohn@gnu.org>
15138
15139 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
15140 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
15141 (TARGET_BINDS_LOCAL_P): Define.
15142 (rs6000_override_options): Save original flag_pic value.
15143 (rs6000_elf_select_section): Call default_elf_select_section_1.
15144 (rs6000_elf_unique_section): Call default_unique_section_1.
15145 (rs6000_elf_in_small_data_p): New function.
15146 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
15147 (rs6000_xcoff_select_section): Update based on defaults.
15148 (rs6000_xcoff_unique_section): Set to basic name if not common.
15149 (rs6000_binds_local_p): New function.
15150 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
15151 targetm.have_srodata_section if SDATA_EABI.
15152 (TARGET_IN_SMALL_DATA_P): Define.
15153
f57f9cb8
DJ
151542002-09-04 Dale Johannesen <dalej@apple.com>
15155
15156 * varasm.c (struct rtx_const, decode_rtx_const):
15157 Make veclo and vechi fields not share storage.
15158
ed6cc1f5
R
15159Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
15160
15161 * loop.c (scan_loop): Don't mark separate insns out of a libcall
15162 for moving.
15163 (move_movables): Abort if we see the first insn of a libcall.
15164
ab5e2615
RH
151652002-09-04 Richard Henderson <rth@redhat.com>
15166
15167 * builtin-types.def (BT_FN_FLOAT): New.
15168 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
15169 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
15170 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
15171 * builtins.c (fold_builtin_inf): New.
15172 (fold_builtin): Call it.
15173 * real.c (ereal_inf): New.
15174 * real.h: Declare it.
15175 * doc/extend.texi: Document new builtins.
15176
9beb7d20
RH
151772002-09-04 Richard Henderson <rth@redhat.com>
15178
15179 * cse.c (cse_insn): Avoid subreg games if the equivalence
15180 is already in the proper mode.
15181
29984e05
EB
151822002-09-04 Eric Botcazou <ebotcazou@multimania.com>
15183
15184 PR c/7102
15185 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
15186
8d46398e
JDA
151872002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
15188
15189 * pa.md (setccfp0, setccfp1): New patterns.
15190
14966b94
KG
151912002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15192
15193 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
15194 frv_select_section, frv_select_rtx_section,
15195 frv_encode_section_info, frv_unique_section): Delete.
15196 * frv.c: Update for target hooks.
15197 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
15198 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
15199 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
15200
c8bf1a1a
KG
152012002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15202
15203 * ip2k-protos.h (function_prologue, function_epilogue,
15204 encode_section_info): Update to match target hook specification.
15205 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
15206 (function_prologue, function_epilogue, encode_section_info):
15207 Update to match target hook specification.
15208 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
15209 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
15210 (NOTICE_UPDATE_CC): Cast to void.
15211 * ip2k.md: Add defaults in switch statements.
15212
0484cb35
JJ
152132002-09-04 Janis Johnson <janis187@us.ibm.com>
15214
15215 * doc/trouble.texi (Interoperation): Update information about C++ ABI
15216 issues.
15217
3e62bd08
JT
152182002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
15219
15220 * config/sparc/t-netbsd64: Disable multilib for now.
15221
275b6d80
DE
152222002-09-04 David Edelsohn <edelsohn@gnu.org>
15223
15224 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
15225 * target.h (gcc_target): Add have_srodata_section member.
15226 * varasm.c (section_category): Add SECCAT_SRODATA.
15227 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
15228 READONLY_SDATA_SECTION defined.
15229 (decl_readonly_section_1): True for SECCAT_SRODATA also.
15230 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
15231 (default_unique_section_1): Likewise.
15232
015b1ad1
JDA
152332002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
15234
15235 * expr.c (emit_group_load): Revise to allow splitting TCmode source
15236 into DImode pieces.
15237
15238 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
15239 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
15240 for floating-point register class.
15241 * pa.c (function_arg): Fix handling of modes wider than one word for
15242 TARGET_64BIT.
15243
b10f2187
R
15244Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
15245
15246 * combine.c (make_compound_operation): Don't generate zero / sign
15247 extensions in floating point modes.
15248
478c9e72
JJ
152492002-09-04 Janis Johnson <janis187@us.ibm.com>
15250
15251 * doc/c-tree.texi: Fix overfull hboxes.
15252 * doc/cppopts.texi: Ditto.
15253 * doc/extend.texi: Ditto.
15254 * doc/gty.texi: Ditto.
15255 * doc/invoke.texi: Ditto.
15256 * doc/makefile.texi: Ditto.
15257 * doc/rtl.texi: Ditto.
15258 * doc/standards.texi: Ditto.
15259 * doc/tm.texi: Ditto.
15260
77e8a0cc
RH
152612002-09-04 Richard Henderson <rth@redhat.com>
15262
15263 * c-common.c (builtin_define_with_hex_fp_value): New.
15264 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
15265
a9c60612
JJ
152662002-09-04 Janis Johnson <janis187@us.ibm.com>
15267
15268 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
15269 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
15270 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
15271 Warn that these options can break ABI compatibility.
15272
4b67a274
RH
152732002-09-04 Richard Henderson <rth@redhat.com>
15274
15275 * real.c (ereal_to_decimal): Add digits parameter.
15276 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
15277 * c-pretty-print.c (pp_c_real_literal): Update call.
15278 * print-rtl.c (print_rtx): Likewise.
15279 * print-tree.c (print_node_brief, print_node): Likewise.
15280 * sched-vis.c (print_value): Likewise.
15281 * config/arc/arc.c (arc_print_operand): Likewise.
15282 * config/c4x/c4x.c (c4x_print_operand): Likewise.
15283 * config/i370/i370.h (PRINT_OPERAND): Likewise.
15284 * config/i386/i386.c (print_operand): Likewise.
15285 * config/i960/i960.c (i960_print_operand): Likewise.
15286 * config/ip2k/ip2k.c (asm_output_float): Likewise.
15287 * config/m32r/m32r.c (m32r_print_operand): Likewise.
15288 * config/m68hc11/m68hc11.c (print_operand): Likewise.
15289 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
15290 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2567406a 15291 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
4b67a274
RH
15292 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
15293 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
15294 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
15295 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
15296 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
15297 * config/mips/mips.c (print_operand): Likewise.
15298 * config/ns32k/ns32k.c (print_operand): Likewise.
15299 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
15300 * config/vax/vax.h (PRINT_OPERAND): Likewise.
15301 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
15302
01abf342
BW
153032002-09-04 Bob Wilson <bob.wilson@acm.org>
15304
15305 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
15306 xtensa_multibss_section_type_flags.
15307 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
15308
cd42d3df
RH
153092002-09-04 Richard Henderson <rth@redhat.com>
15310
15311 * doc/install-old.texi: Don't mention enquire.
15312 * doc/sourcebuild.texi: Update float.h description.
15313
502e6d5a
R
15314Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
15315
15316 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
15317
4977bab6
ZW
153182002-09-03 Roger Sayle <roger@eyesopen.com>
15319
15320 * builtins.c (build_function_call_expr): Remove prototype, export
15321 as non-static and add a comment above function definition.
15322 (builtin_mathfn_code): New function to check for math builtins.
15323 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
15324 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
15325 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
15326 log(sqrt(x)) as log(x)/2.0.
15327
15328 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
15329 in new "builtins.c" section. Place the build_range_type prototype
15330 with the other prototypes from "tree.c".
15331
15332 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
15333 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
15334 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
15335 x/exp(y) as x*exp(-y).
15336
2cc9fb4c
DE
153372002-09-03 David Edelsohn <edelsohn@gnu.org>
15338
15339 * varasm.c (default_section_type_flags): Append _1 to name with
15340 shlib parameter. Use original name to call new function with
15341 implicit flag_pic.
15342 (decl_readonly_section): Likewise.
15343 (default_elf_select_section): Likewise.
15344 (default_unique_section): Likewise.
15345 (default_bind_local_p): Likewise.
15346 (categorize_decl_for_section): Add shlib parameter to use in place
15347 of implicit flag_pic.
15348 * output.h: Declare new functions with _1 and shlib argument.
15349
7c19f816
JJ
153502002-09-03 Janis Johnson <janis187@us.ibm.com>
15351
8c085f6f
JJ
15352 * doc/install.texi: Fix typos, formatting problems, and obvious
15353 overfull/underfull boxes.
15354
7c19f816
JJ
15355 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
15356 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
15357 include its file, compat.texi.
15358 * doc/compat.texi: New file with new chapter, Binary Compatibility.
15359
79ba5e3b
NB
153602002-09-03 Neil Booth <neil@daikokuya.co.uk>
15361
15362 Debian BTS Bug #157416
15363 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
15364 * cpplib.c (destringize_and_run): Kludge around getting
15365 tokens from in-progress macros.
15366 (_cpp_do__Pragma): Simplify.
15367
57016b47
SE
153682002-09-03 Steve Ellcey <sje@cup.hp.com>
15369
15370 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
15371 (CPP_CPU_SPEC): Remove.
15372 (TARGET_CPU_CPP_BUILTINS): New.
15373 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
15374 (CPP_SPEC): Remove.
15375 (TARGET_OS_CPP_BUILTINS): New.
15376 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
15377 (TARGET_OS_CPP_BUILTINS): New.
15378 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
15379 TARGET_OS_CPP_BUILTINS.
15380 (CPP_PREDEFINES): Remove.
15381 (CPLUSPLUS_CPP_SPEC): Remove.
15382 (TARGET_OS_CPP_BUILTINS): New.
15383
d57a4b98
RH
153842002-09-03 Richard Henderson <rth@redhat.com>
15385
15386 * Makefile.in (USER_H): Add ginclude/float.h.
15387 (FLOAT_H): Remove.
15388 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
15389 (mostlyclean): Don't remove float.h intermediate files.
15390 (distclean): Don't remove float.h.
15391 * config.gcc: Remove all float_format references.
15392 * configure.in (float_format, float_h_file): Remove.
15393
15394 * c-common.c: Include tree-inline.h.
15395 (builtin_define_with_int_value): New.
15396 (builtin_define_type_precision): Use it.
15397 (builtin_define_float_constants): New.
15398 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
15399 __FLT_EVAL_METHOD__.
15400 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
15401 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
15402 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
15403 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
15404 (TARGET_FLT_EVAL_METHOD): New.
15405
15406 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
15407 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
15408 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
15409 * ginclude/float.h: New.
15410
527347f0
SS
154112002-09-03 Stan Shebs <shebs@apple.com>
15412
15413 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
15414 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
15415 (PREFERRED_DEBUGGING_TYPE): Ditto.
15416 (ASM_OUTPUT_IDENT): Remove empty definition.
15417
34c1864f
SE
154182002-09-03 Steve Ellcey <sje@cup.hp.com>
15419
15420 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
15421 cxx_target.
15422 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
15423 handling routine for builtin pragma.
15424 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
15425 Registered pragma handling routine.
15426 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
15427 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
15428 If builtin pragma seen for math routine and C89 conformance is
15429 requested use different math function in order to set errno.
15430 * t-ia64 (ia64-c.o): Add new rule for new file.
15431
9b7c75b9
UW
154322002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
15433
15434 * config/s390/s390.md ("movti"): Add Q->Q alternative.
15435 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
15436 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
2567406a
JH
15437
15438 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
9b7c75b9
UW
15439 "*movsf_ss"): Remove.
15440
710ba35f
JDA
154412002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
15442
15443 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
15444 Delete macros.
15445
ff970081
AD
154462002-09-03 Arati Dikey <aratid@kpit.com>
15447
15448 * h8300.c (asm_file_start): Corrected optimization comment.
15449
b50d021d
SS
154502002-09-03 Stan Shebs <shebs@apple.com>
15451
15452 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
15453 * c-tree.h (recognize_objc_keyword): Remove decl.
15454 * c-typeck.c (comp_target_types): Update a comment.
15455
b808c04c
UW
154562002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
15457
15458 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
15459 and register validity checks.
15460 (general_s_operand): Adapt to s390_decompose_address interface change.
15461 (q_constraint): Likewise.
15462 (s390_expand_plus_operand): Likewise.
15463 (legitimiate_address_p): Likewise.
15464 (legitimate_la_operand_p): Likewise.
15465 (legitimize_la_operand): Likewise.
15466 (print_operand_address): Likewise.
15467 (print_operand): Likewise.
15468
ee453219
NP
15469Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
15470
15471 PR objc/5956:
15472 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
2567406a
JH
15473 was causing the new selector never to match the existing ones
15474 (Patch by Alexander Malmberg <alexander@malmberg.org>).
ee453219 15475
d82283d5
GS
154762002-09-03 Graham Stott <graham.stott@btinternet.com>
15477
15478 * config/i386/i386.md ("femms"): Add "memory" attr "none".
15479
154802002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
15481
15482 * expr.c (expand_expr): Remove extraneous comment and code.
15483
4977bab6
ZW
154842002-09-02 Nathan Sidwell <nathan@codesourcery.com>
15485
15486 * stor-layout (finish_builtin_struct): Renamed and moved from c++
15487 frontend. Take chain of fields. Allow NULL alignment type.
15488 * tree.h (finish_builtin_struct): Declare.
15489
154902002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15491
15492 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
15493 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
15494 config/arc/arc.c config/arc/arc.h config/arm/aout.h
15495 config/arm/arm.c config/arm/arm.h config/arm/arm.md
15496 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
15497 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
15498 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
15499 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
15500 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
15501 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
15502 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
15503 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
15504 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
15505 config/pa/pa.h config/pa/pa.md config/romp/romp.h
15506 config/rs6000/linux64.h config/rs6000/lynx.h
15507 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
15508 config/s390/s390.c config/s390/s390.md config/sh/sh.c
15509 config/sparc/sparc.c config/sparc/sysv4.h
15510 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
15511 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
15512 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
15513
15514 * doc/tm.texi: Update docs.
15515 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
15516 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
15517
155182002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15519
15520 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
15521 * arc.c (arc_internal_label): New function.
15522 (TARGET_ASM_INTERNAL_LABEL): Set.
15523 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15524 * arm.c (arm_internal_label): New function.
15525 (TARGET_ASM_INTERNAL_LABEL): Set.
15526 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15527 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15528 * i370.c (i370_internal_label): New function.
15529 (TARGET_ASM_INTERNAL_LABEL): Set.
15530 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15531 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15532 * m68k.c (m68k_hp320_internal_label): New function.
15533 (TARGET_ASM_INTERNAL_LABEL): Set.
15534 * m88k.c (m88k_internal_label): New function.
15535 (TARGET_ASM_INTERNAL_LABEL): Set.
15536 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15537 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
15538 * genoutput.c (output_prologue): Include target.h in output file.
15539 * output.h (default_internal_label): Declare.
15540 * sdbout.c: Include target.h.
15541 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
15542 TARGET_ASM_OUT.
15543 * target.h (internal_label): Add to struct gcc_target.
15544 * varasm.c (default_internal_label): New function.
15545
155462002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15547
15548 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15549 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15550 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15551 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15552 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15553 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15554 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15555 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15556 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15557 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15558 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15559 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15560 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15561 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15562 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15563 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15564 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15565 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15566 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15567 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15568 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15569 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15570 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15571 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15572 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15573 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
15574 * mmix.c (mmix_asm_output_internal_label): Likewise.
15575 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15576 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15577 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15578 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15579 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15580 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15581 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15582 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15583 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15584 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15585 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15586 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15587 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15588 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15589 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15590 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15591 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15592 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15593 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15594
15595 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
15596
98c0d8d1
RH
155972002-08-31 Richard Henderson <rth@redhat.com>
15598
15599 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
15600
a5f3f0ab
JDA
156012002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
15602
15603 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
15604
38ec83b1
RH
156052002-08-30 Richard Henderson <rth@redhat.com>
15606
c9989d09 15607 PR opt/7515
38ec83b1
RH
15608 * c-objc-common.c: Include target.h.
15609 (c_cannot_inline_tree_fn): Don't auto-inline functions that
15610 don't bind locally. Factor setting DECL_UNINLINABLE.
15611 * Makefile.in (c-objc-common.o): Update.
15612
4c64396e
JJ
156132002-08-30 Janis Johnson <janis187@us.ibm.com>
15614
15615 * doc/install.texi (Configuration, Building): Fix a typo and
15616 some formatting directives.
15617
4226378a
PK
156182002-08-30 Paul Koning <pkoning@equallogic.com>
15619
15620 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
15621 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
15622 implemented" note.
15623 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
15624 for alphabetic order.
15625 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
15626 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
15627 (VAX_HALFWORD_ORDER): Document.
15628 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
15629 IEEE float format.
15630 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
15631 (ASM_OUTPUT_LABEL_REF): Fix font.
15632 (CASE_VECTOR_SHORTEN_MODE): Ditto.
15633
b8074dbe
DC
156342002-08-30 Denis Chertykov <denisc@overta.ru>
15635
15636 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
15637 stuff.
15638 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
15639 CONST_DOUBLE constants.
2567406a 15640
55f49e3d
JT
156412002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
15642
15643 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
15644 related defines to...
15645 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
15646 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
15647 as a no-op.
15648
e1944073
KW
156492002-08-30 Krister Walfridsson <cato@df.lth.se>
15650
15651 * config/arm/arm.c (arm_asm_output_labelref): New function.
15652 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
15653 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
15654
6e92b3a1
RB
156552002-08-29 Rodney Brown <rbrown64@csc.com.au>
15656
15657 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
15658 memory exhausted" workarounds.
15659
9d533cb5
GDR
156602002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
15661
15662 * diagnostic.c (fancy_abort): Don't repeat "internal error".
15663 * toplev.c (crash_signal): Likewise.
15664
1f676100
NP
15665Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
15666
15667 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
15668 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
15669 Extended, updated documentation.
15670 (-Wundeclared-selector): Documented.
15671
23532de9
JT
156722002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
15673
15674 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
15675 the value 1. Do not undef before defining.
15676 * config/darwin.h: Likewise.
15677 * config/dbx.h: Likewise.
15678 * config/dbxcoff.h: Likewise.
15679 * config/dbxelf.h: Likewise.
15680 * config/elfos.h: Likewise.
15681 * config/interix.h: Likewise.
15682 * config/lynx-ng.h: Likewise.
15683 * config/lynx.h: Likewise.
15684 * config/netware.h: Likewise.
15685 * config/psos.h: Likewise.
15686 * config/svr3.h: Likewise.
15687 * config/alpha/alpha.h: Likewise.
15688 * config/alpha/elf.h: Likewise.
15689 * config/alpha/vms.h: Likewise.
15690 * config/arc/arc.h: Likewise.
15691 * config/arm/aout.h: Likewise.
15692 * config/arm/coff.h: Likewise.
15693 * config/c4x/c4x.h: Likewise.
15694 * config/h8300/h8300.h: Likewise.
15695 * config/i386/cygwin.h: Likewise.
15696 * config/i386/djgpp.h: Likewise.
15697 * config/i386/gas.h: Likewise.
15698 * config/i386/gstabs.h: Likewise.
15699 * config/i386/i386-coff.h: Likewise.
15700 * config/i386/i386-interix.h: Likewise.
15701 * config/i386/sco5.h: Likewise.
15702 * config/i386/svr3dbx.h: Likewise.
15703 * config/i386/sysv3.h: Likewise.
15704 * config/i386/win32.h: Likewise.
15705 * config/i386/x86-64.h: Likewise.
15706 * config/i960/i960.h: Likewise.
15707 * config/ia64/ia64.h: Likewise.
15708 * config/ip2k/ip2k.h: Likewise.
15709 * config/m32r/m32r.h: Likewise.
15710 * config/m68k/3b1.h: Likewise.
15711 * config/m68k/3b1g.h: Likewise.
15712 * config/m68k/ccur-GAS.h: Likewise.
15713 * config/m68k/coff.h: Likewise.
15714 * config/m68k/hp2bsd.h: Likewise.
15715 * config/m68k/hp310g.h: Likewise.
15716 * config/m68k/hp320g.h: Likewise.
15717 * config/m68k/hp3bsd.h: Likewise.
15718 * config/m68k/hp3bsd44.h: Likewise.
15719 * config/m68k/linux-aout.h: Likewise.
15720 * config/m68k/m68k-aout.h: Likewise.
15721 * config/m68k/mot3300.h: Likewise.
15722 * config/m68k/netbsd.h: Likewise.
15723 * config/m68k/openbsd.h: Likewise.
15724 * config/m68k/pbb.h: Likewise.
15725 * config/m68k/plexus.h: Likewise.
15726 * config/m68k/sun2.h: Likewise.
15727 * config/m68k/sun3.h: Likewise.
15728 * config/m68k/tower-as.h: Likewise.
15729 * config/m68k/vxm68k.h: Likewise.
15730 * config/m88k/aout-dbx.h: Likewise.
15731 * config/m88k/m88k-aout.h: Likewise.
15732 * config/mcore/mcore-elf.h: Likewise.
15733 * config/mcore/mcore-pe.h: Likewise.
15734 * config/mips/elf.h: Likewise.
15735 * config/mips/elf64.h: Likewise.
15736 * config/mips/iris5gas.h: Likewise.
15737 * config/mips/iris6.h: Likewise.
15738 * config/mips/mips.h: Likewise.
15739 * config/mips/sni-gas.h: Likewise.
15740 * config/mmix/mmix.h: Likewise.
15741 * config/ns32k/netbsd.h: Likewise.
15742 * config/pa/pa64-hpux.h: Likewise.
15743 * config/romp/romp.h: Likewise.
15744 * config/rs6000/sysv4.h: Likewise.
15745 * config/rs6000/xcoff.h: Likewise.
15746 * config/sh/coff.h: Likewise.
15747 * config/sh/elf.h: Likewise.
15748 * config/sparc/linux64.h: Likewise.
15749 * config/sparc/liteelf.h: Likewise.
15750 * config/sparc/netbsd.h: Likewise.
15751 * config/sparc/openbsd.h: Likewise.
15752 * config/sparc/pbd.h: Likewise.
15753 * config/sparc/sp64-elf.h: Likewise.
15754 * config/sparc/sp86x-elf.h: Likewise.
15755 * config/sparc/sparc.h: Likewise.
15756 * config/vax/vax.h: Likewise.
15757 * config/vax/vaxv.h: Likewise.
15758
5e98fba2
DD
157592002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
15760
15761 * h8300.c (shift_alg_hi): Various tweaks to improve performance
15762 of HImode shifts.
15763 (get_shift_alg): Corresponding changes.
15764
43852342
JDA
157652002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
15766
15767 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
15768
44bb111a
RH
157692002-08-29 Richard Henderson <rth@redhat.com>
15770
15771 * expr.h (enum block_op_methods): New.
15772 (emit_block_move): Update prototype.
15773 * expr.c (block_move_libcall_safe_for_call_parm): New.
15774 (emit_block_move_via_loop): New.
15775 (emit_block_move): Use them. New argument METHOD.
15776 (emit_push_insn): Always respect the given alignment.
15777 (expand_assignment): Update call to emit_block_move.
15778 (store_expr, store_field, expand_expr): Likewise.
15779 * builtins.c (expand_builtin_apply): Likewise.
15780 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
15781 * function.c (expand_function_end): Likewise.
15782 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
15783 * config/sparc/sparc.c (sparc_va_arg): Likewise.
15784 * calls.c (expand_call, emit_library_call_value_1): Likewise.
15785 (save_fixed_argument_area): Use emit_block_move with
15786 BLOCK_OP_CALL_PARM instead of move_by_pieces.
15787 (restore_fixed_argument_area): Likewise.
15788 (store_one_arg): Fix alignment parameter to emit_push_insn.
15789
08b3d104
JDA
157902002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
15791
15792 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
15793
ce4e9970 157942002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
15795
15796 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
15797 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
15798 (PREDICATE_CODES): Include new predicates.
15799 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
15800 (TARGET_SWITCHES): Add strict-align.
15801 (TARGET_STRICT_ALIGN): New.
2567406a 15802 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
8376061d
CM
15803 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
15804 Define.
15805 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
15806 v850_muldi3.
15807 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
15808 L_callt_save_r2_r31, L_return_r2_r31,
15809 L_save_all_interrupt): Change addi to add.
15810 (L_save_interrupt, L_return_interrupt): Rework.
15811 (__return_r31): Correct .size directive.
15812 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
15813 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
15814 New routines.
15815 * config/v850/v850.c (expand_prologue): Call
15816 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
15817 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
15818 (reg_or_int9_operand): New predicate.
15819 (reg_or_const_operand): New routine.
15820 * config/v850/v850.md (return_interrupt): Changed from
15821 restore_interrupt.
15822 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
15823 (callt_save_interrupt): Change save sequence.
15824 (callt_return_interrupt): New.
15825 (save_interrupt): Don't use runtime function for LONG_CALLS
15826 and TARGET_PROLOG_FUNCTION.
15827 (save_all_interrupt): Likewise.
15828 (mulsi3): Use new predicate.
15829 (moviscc): Disallow some combination of constants.
15830 Fix define_split for sasf insns, so that it will not generate bad
15831 code if operand0 and operand5 are the same.
15832 * config/v850/v850-protos.h: Prototype new predicates.
15833
4977bab6
ZW
158342002-08-29 Zack Weinberg <zack@codesourcery.com>
15835
15836 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
15837 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
15838
585e661a
GDR
158392002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
15840
15841 * c-common.c (builtin_define_type_precision): New function.
15842 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
15843 wchar_t is unsigned in C++.
15844 * doc/cpp.texi (Common Predefined Macros): Document
15845 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
15846 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
15847 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
15848
bd8f9aec
SP
158492002-08-28 Sylvain Pion <pion@cs.nyu.edu>
15850
15851 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
15852 section. Mention that it is enabled by -Wall.
15853 (-Wall): Mention that there can be language-specific warnings as well.
15854 (-Wctor-dtor-privacy): Mention that it is enabled by default.
15855 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
15856
58ab7171
R
15857Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
15858
15859 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
15860 if it is ever live.
15861
15862 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
15863 attribute for SHCOMPACT.
15864
15865 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
15866 appropriately.
15867 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
15868 by the ABI.
15869
15870 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
15871
27f4b67e
JT
158722002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
15873
15874 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
15875 "MASK_GAS|MASK_ABICALLS".
15876 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
15877 (TARGET_DEFAULT): Remove.
15878 (MACHINE_TYPE): Undefine before defining.
15879 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
15880
eca7f13c
MM
158812002-08-27 Mark Mitchell <mark@codesourcery.com>
15882
15883 * c-common.c (warn_abi): New variable.
15884 * c-common.h (warn_abi): Likewise.
15885 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
15886 (c_common_decode_option): Handle it.
7ee425e4 15887 * doc/invoke.texi: Document -Wabi.
2567406a 15888
ece4ce85
NP
15889Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
15890
15891 * c-common.c (warn_undeclared_selector): New variable.
15892 * c-common.h (warn_undeclared_selector): Idem.
15893 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
15894 to on when -Wundeclared-selector is found.
15895 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
15896 * objc/objc-act.c (build_selector_expr): If
15897 warn_undeclared_selector is set, check that the selector has
15898 already been defined, and emit a warning if not.
15899
b4378319 159002002-08-27 Nick Clifton <nickc@redhat.com>
54c93c30
AE
15901 Catherine Moore <clm@redhat.com>
15902 Jim Wilson <wilson@cygnus.com>
15903
15904 * config.gcc: Add v850e-*-* target.
15905 Add --with-cpu= support for v850.
15906 * config/v850/lib1funcs.asm: Add v850e callt functions.
15907 * config/v850/v850.h: Add support for v850e target.
15908 * config/v850/v850.c: Add functions to support v850e target.
15909 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
15910 * config/v850/v850.md: Add patterns for v850e instructions.
15911 * doc/invoke.texi: Document new v850e command line switches.
b4378319 15912
ef261fee
R
15913Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
15914 Aldy Hernandez <aldyh at redhat dot com>
15915
15916 * doc/tm.texi: Applied numerous fixes to the automaton based
15917 scheduler descrition.
15918
c60ee6f5
JH
15919Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
15920
15921 * i386.c (classify_argument): Handle variable sized objects.
15922
1985ef90
JH
15923Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
15924
15925 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
15926
7acc97e0
JH
15927Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
15928
15929 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
15930
23327dae
JH
15931Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
15932
15933 * i386.c (classify_argument): Properly compute word size of the analyzed object.
15934
c49439f1
R
15935Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
15936
15937 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
15938 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
15939 accordingly.
15940 (attribute insn_class): Provide default definitions based on type.
15941 Remove all insn-specific settings.
15942 (various function units): Remove old SH4 scheduling.
15943 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
15944 New attributes. Set them where appropriate.
15945 (cpu unit FS): Don't define / use.
15946 (F3, load_store): New cpu units.
15947 (F01): New reservation.
15948 (all insn_reservations): Make dependent on sh4 pipeline model.
15949 Fix latencies.
15950 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
15951 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
15952 (mt insn_reservation): Use type mt_group.
15953 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
15954 sh4_fload and sh4_store.
15955 (insn_reservation branch_zero and branch): Replace with sh4_branch.
15956 (insn_reservation branch_far): Replace with sh4_return.
15957 (insn_reservation return_from_exp): Rename to:
15958 (sh4_return_from_exp). Change to be just d_lock*5.
15959 (insn_reservation lds_to_pr): Rename to:
15960 (sh4_lds_to_pr). Change to be just d_lock*2.
15961 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
15962 d_lock*2.
15963 (insn_reservation prload_mem): Rename to:
15964 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
15965 (insn_reservation fpscr_store): Rename to:
15966 (fpscr_load). Change to d_lock,nothing,F1*3.
15967 (insn_reservation fpscr_store_mem): Rename to:
15968 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
15969 (insn_reservation multi): Change to
15970 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
15971 (insn_reservation fp_arith): Change to issue,F01,F2.
15972 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
15973 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
15974 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
15975 (insn_reservation fp_double_cmp): Change to
15976 d_lock,(d_lock+F01),F1+F2,F2.
15977 (insn_reservation dp_div): Change to
15978 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
15979 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
15980 (sh_adjust_cost, SHcompact): Differentiate between different
15981 kinds of dependencies. Drop factor of ten for superscalar.
15982 Use new instruction types. Add new exception rules.
15983
15984 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
15985
15986 * sh.md (mperm_w): Add DONE.
15987
f34fc46e
DE
159882002-08-27 David Edelsohn <edelsohn@gnu.org>
15989
15990 * longlong.h: Import current PowerPC defintion from GMP-4.1.
15991
15992 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
15993
15994 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
15995
dcb44500
R
15996Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
15997
15998 * sh.h (MAX_FIXED_MODE_SIZE): Define.
15999
3ec07554
GDR
160002002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
16001
16002 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
2567406a 16003 delimiter.
3ec07554 16004
35885eab
GDR
160052002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
16006
16007 * c-common.c (cpp_define_data_format): New function.
16008 (cb_register_builtins): Call it.
16009
16010 * doc/cpp.texi (Common Predefined Macros): Document
16011 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
16012 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
16013 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
16014 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
16015 __TARGET_USES_VAX_H_FLOAT__.
16016
d632dee9
ZL
160172002-08-26 Ziemowit Laski <zlaski@apple.com>
16018
16019 * objc/objc-act.c (get_super_receiver): If inside a class method
16020 of a category, cast the receiver to 'id' before accessing the 'isa'
16021 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
16022
c3cc6b78
UW
160232002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
16024
2567406a 16025 * config/s390/s390-protos.h (s390_function_prologue,
c3cc6b78
UW
16026 s390_function_epilogue): Remove.
16027 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
16028 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
16029
16030 config/s390/s390.c (s390_machine_dependent_recorg): New function.
16031 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
16032 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
16033 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
16034 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
16035
2567406a 16036 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
c3cc6b78
UW
16037 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
16038 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
16039 function is not a leaf function. Use save_gprs and restore_gprs.
16040 (s390_emit_epilogue): Likewise.
16041 (save_gprs, restore_gprs): New functions.
16042 (struct s390_frame): Remove return_reg_saved_p member.
16043 (save_fprs_p): Remove.
16044 (s390_optimize_prolog): New function.
16045 (s390_legitimate_reload_constant): Remove now unnecessary check.
16046
16047 (s390_function_count): Remove.
16048 (s390_output_symbolic_const): Replace s390_function_count by
16049 current_function_funcdef_no.
16050 (s390_output_constant_pool): Likewise.
16051
16052 (legitimize_pic_address): Use regs_ever_live to track PIC register
16053 instead of current_function_uses_pic_offset_table.
16054 (s390_emit_prologue): Likewise.
16055 config/s390/s390.md ("call", "call_value"): Likewise.
16056
3f662186
NB
160572002-08-26 Neil Booth <neil@daikokuya.co.uk>
16058
16059 * c-opts.c (find_opt): Don't complain about wrong languages
16060 here. Return exact matches even for wrong language.
16061 (c_common_decode_option): Complain about wrong languages
16062 here.
16063
b6128b8c
SH
160642002-08-24 Stuart Hastings <stuart@apple.com>
16065
16066 * function.h (struct function): Add flag
16067 all_throwers_are_sibcalls.
16068 * except.c (set_nothrow_function_flags): Replaces
16069 nothrow_function_p. Set new flag.
16070 * except.h (set_nothrow_function_flags): Replaces
16071 nothrow_function_p.
16072 * dwarf2out.c (struct dw_fde_struct): Add flag
16073 all_throwers_are_sibcalls.
16074 (output_call_frame_info): Test it.
16075 (dwarf2out_begin_prologue) Propagate it from cfun to
16076 dw_fde_struct.
16077 * toplev.c (rest_of_compilation): Update calls to
16078 nothrow_function_p.
16079
280cf02a
ZW
160802002-08-23 Zack Weinberg <zack@codesourcery.com>
16081
16082 * ggc-page.c (compute_inverse): Short circuit calculation for
16083 object sizes larger than half a page.
16084
c6664446
DE
160852002-08-23 David Edelsohn <edelsohn@gnu.org>
16086
16087 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
16088 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
16089 default.
16090 (rs6000_elf_unique_section): Likewise.
16091
da57d233
KG
160922002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16093
16094 * ns32k.c (ns32k_globalize_label): Delete.
16095 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
16096
56a7189a
AM
160972002-08-23 Alan Modra <amodra@bigpond.net.au>
16098
16099 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
16100 for loading delta with num_insns_constant_wide. Calculate
16101 delta_low, delta_high without using a conditional.
16102
d65b1d77
JM
161032002-08-22 Jason Merrill <jason@redhat.com>
16104
16105 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
16106 * c-common.def: Adjust.
16107 * c-dump.c (c_dump_tree): Adjust.
16108 * c-semantics.c (genrtl_return_stmt): Adjust.
16109 * c-pretty-print.c (pp_c_statement): Adjust.
16110 * tree-inline.c (copy_body_r): Adjust.
16111
8537ed68
ZW
161122002-08-22 Zack Weinberg <zack@codesourcery.com>
16113
16114 * ggc-page.c: Avoid division in ggc_set_mark.
16115 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
16116 compute_inverse): New.
16117 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
16118 (init_ggc): Initialize inverse_table.
16119
8567c70f
TT
161202002-08-22 Tom Tromey <tromey@redhat.com>
16121
16122 * doc/install.texi (Configuration): Document --datadir.
16123
fde59d4b
AO
161242002-08-22 Alexandre Oliva <aoliva@redhat.com>
16125
16126 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
16127
44ddc79a
HPN
161282002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
16129
16130 * gengtype-lex.l (ID): Allow underscore as first character.
16131
b275d088
DE
161322002-08-21 David Edelsohn <edelsohn@gnu.org>
16133
16134 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
16135 function.
16136 (rs6000_xcoff_asm_named_section): Rename.
16137 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
16138
57ce46bb
TT
161392002-08-21 Tom Tromey <tromey@redhat.com>
16140
16141 For PR java/6005 and PR java/7611:
16142 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
16143 (fold): Likewise.
16144 * langhooks.c (lhd_can_use_bit_fields_p): New function.
16145 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
16146 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
16147 (LANG_HOOKS_INITIALIZER): Use it.
16148 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
16149 field.
16150
27d30956
SS
161512002-08-21 Stan Shebs <shebs@apple.com>
16152
16153 * tree.c (finish_vector_type): Fix a typo in a comment.
16154 * Makefile.in: Fix "the the" stutters in comments.
16155 * genautomata.c: Ditto.
16156 * ifcvt.c: Ditto.
16157 * regrename.c: Ditto.
16158 * config/alpha/alpha.c: Ditto.
16159 * config/alpha/vms-crt0-64.c: Ditto.
16160 * config/alpha/vms-crt0.c: Ditto.
16161 * config/alpha/vms-psxcrt0-64.c: Ditto.
16162 * config/alpha/vms-psxcrt0.c: Ditto.
16163 * config/d30v/d30v.h: Ditto.
16164 * config/fr30/fr30.h: Ditto.
16165 * config/rs6000/rs6000.c: Ditto.
16166 * config/stormy16/stormy16.h: Ditto.
16167 * doc/md.texi: Ditto.
8537ed68 16168
d873d827
JDA
161692002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
16170
16171 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
16172
b462d4ab
JM
161732002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
16174
16175 * c-decl.c (grokdeclarator): Make invalid combinations with long,
16176 short, signed or unsigned into hard errors. Fixes PR c/4319.
16177 Also make duplicate modifiers such as "short short" into hard
16178 errors.
16179
b65d23aa 161802002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 16181 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
16182
16183 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
16184 to the actual end. Add '@end table' and '@table @code'.
8537ed68 16185
3823f0b2
GK
161862002-08-20 Geoffrey Keating <geoffk@redhat.com>
16187
8d25d915
GK
16188 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
16189
3823f0b2
GK
16190 * unroll.c (biv_total_increment): Don't try to compute the total
16191 increment for FP BIVs.
16192
5eb99654
KG
161932002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16194
16195 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
16196 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
16197 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16198 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
16199 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
16200 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
16201 (GLOBAL_ASM_OP): Define.
16202 * arm.c (aof_globalize_label): New function.
16203 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
16204 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16205 * c4x.c (c4x_globalize_label): New function.
16206 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
16207 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
16208 (GLOBAL_ASM_OP): Define.
16209 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
16210 * darwin-protos.h (darwin_globalize_label): Declare.
16211 * darwin.c (darwin_globalize_label): New function.
16212 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
16213 (ASM_GLOBALIZE_LABEL): Delete.
16214 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
16215 * dsp16xx.c (asm_output_common): Use target hook.
16216 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
16217 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
16218 (GLOBAL_ASM_OP): Define.
16219 * i370.c (i370_globalize_label): New function.
16220 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
16221 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
16222 * i386.c (ix86_asm_file_end): Use target hook.
16223 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
16224 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
16225 * ia64.c (ia64_asm_output_external): Likewise.
16226 * ia64/sysv4.h: Update comment.
16227 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16228 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
16229 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
16230 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
16231 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
16232 * mmix-protos.h (mmix_asm_globalize_label): Delete.
16233 * mmix.c (mmix_asm_globalize_label): Likewise.
16234 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
16235 (GLOBAL_ASM_OP): Define.
16236 * ns32k.c (ns32k_globalize_label): New function.
16237 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
16238 (ASM_GLOBALIZE_LABEL): Delete.
16239 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
16240 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
16241 * pa.c (pa_globalize_label): New function.
16242 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
16243 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
16244 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
16245 (GLOBAL_ASM_OP): Define.
16246 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
16247 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16248 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
16249 (GLOBAL_ASM_OP): Define.
16250 * v850.c (v850_output_aligned_bss): Use target hook.
16251 * vax.c (vms_globalize_label): New function.
16252 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
16253 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
16254 (GLOBAL_ASM_OP): Define.
16255 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
16256 * doc/tm.texi: Update docs.
16257 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
16258 target hook.
16259 * final.c (output_alternate_entry_point): Likewise.
16260 * hooks.c (hook_FILEptr_constcharptr_void): New function.
16261 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
16262 * output.h (assemble_global): Delete.
16263 (default_globalize_label): Declare.
16264 * system.h (ASM_GLOBALIZE_LABEL): Poison.
16265 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
16266 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
16267 * target.h (gcc_target): Add globalize_label member.
16268 * varasm.c (asm_output_bss, asm_output_aligned_bss,
16269 globalize_decl): Use target hook.
16270 (assemble_global): Delete.
16271 (default_globalize_label): New function.
16272
f8f28a75
KG
162732002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16274
16275 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
16276
92b5aacd
DP
162772002-08-20 Devang Patel <dpatel@apple.com>
16278 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 16279
761c70aa
KG
162802002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16281
16282 * arc.c (output_shift): Use stdio instead of asm_fprintf.
16283 * arm.c (thumb_output_function_prologue): Likewise.
16284 * avr.c (print_operand): Likewise.
16285 * c4x.c (c4x_print_operand): Likewise.
16286 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
16287 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
16288 * cris.c (cris_target_asm_function_prologue,
16289 cris_asm_output_mi_thunk): Likewise.
16290 * h8300.c (print_operand): Likewise.
16291 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16292 * ip2k.c (print_operand): Likewise. Fix format specifier.
16293 * m68hc11.c (asm_print_register, print_operand,
16294 print_operand_address): Use stdio instead of asm_fprintf.
16295 (print_operand_address): Fix format specifier.
16296 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
16297 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
16298 asm_fprintf.
16299 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16300 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16301 * m68k.c (m68k_output_function_prologue,
16302 m68k_output_function_epilogue, print_operand): Likewise.
16303 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
16304 Likewise. Fix format specifier.
16305 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16306 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16307 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16308
5ce6f47b
EC
163092002-08-15 Eric Christopher <echristo@redhat.com>
16310 Jeff Knaggs <jknaggs@redhat.com>
16311
16312 * config.gcc (mipsisa64sr71k-elf): New target.
16313 * config/mips/sr71k.md: New file.
16314 * config/mips/mips.md: Use it.
16315 (rot*): Add sr71k specifics.
16316 * config/mips/t-sr71k: New file.
16317 * config/mips/mips.h (sr71k): New cpu.
16318 (TARGET_SR71K): Use it.
16319 (TUNE_SR71K): Ditto.
16320 (GENERATE_BRANCHLIKELY): Ditto.
16321 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
16322 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
16323 * config/mips/mips.c (sr71k): New cpu.
16324 (mips_use_dfa_pipeline_interface): Use.
16325
163262002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 16327 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
16328 Aldy Hernandez <aldyh@redhat.com>
16329 Graham Stott <grahams@redhat.com>
16330 Michael Meissner <meissner@redhat.com>
16331 Gavin Romig-Koch <gavin@redhat.com>
16332 Ken Raeburn <raeburn@cygnus.com>
16333 Alexandre Oliva <aoliva@redhat.com>
16334
16335 * config.gcc (mips64vr-elf): New target.
16336 * config/mips/5400.md: New file.
16337 * config/mips/5500.md: Ditto.
16338 * config/mips/mips.md: Use them.
16339 (frsqrt): New.
16340 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
16341 cpus.
16342 (mips_issue_rate): Use them.
16343 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
16344 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
16345 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
16346 cpus.
16347 (TARGET_MIPSx): Use them.
16348 (TUNE_MIPSx): Ditto.
16349 (GETNATE_MULT3_SI): Ditto.
16350 (ISA_HAS_BRANCHLIKELY): Ditto.
16351 (ISA_HAS_CONDMOVE): Ditto.
16352 (ISA_HAS_NMADD_NMSUB): Ditto.
16353 (ISA_HAS_MULHI): New. Ditto.
16354 (ISA_HAS_MULS): Ditto.
16355 (ISA_HAS_MSAC): Ditto.
16356 (ISA_HAS_MACC): Ditto.
16357 (ISA_HAS_ROTR_SI): Ditto.
16358 (ISA_HAS_ROTR_DI): Ditto.
16359 (RTX_COSTS): Use.
16360
48209ce5
JDA
163612002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
16362
16363 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
16364 at head.
16365 (remove_dup_nonsys_dirs): New function.
16366 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
16367 (merge_include_chains): Remove non-system include directories from
16368 quote and bracket include chains when they duplicate equivalent system
16369 directories.
16370 * doc/cpp.texi (-I): Update.
8537ed68
ZW
16371 * doc/cppopts.texi (-I): Update.
16372 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
16373 this option.
16374 * doc/invoke.texi (-I): Update.
16375
4ca79136
RH
163762002-08-20 Richard Henderson <rth@redhat.com>
16377
16378 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
16379 (emit_block_move): Split out subroutines.
16380 (emit_block_move_via_movstr): New.
16381 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
16382 (emit_block_move_libcall_fn): New. Construct function prototype for
16383 bcopy as well.
16384 (clear_storage): Split out subroutines.
16385 (clear_storage_via_clrstr): New.
16386 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
16387 (clear_storage_libcall_fn): New. Construct function prototype for
16388 bzero as well.
16389 (emit_push_insn): Use emit_block_move.
16390 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
16391 (store_constructor): Likewise.
16392
9f05cef3
ZL
163932002-08-19 Ziemowit Laski <zlaski@apple.com>
16394
16395 * objc/objc-act.c (building_objc_message_expr): Rename to
16396 current_objc_message_selector.
16397
1bd5981b
ZL
163982002-08-19 Ziemowit Laski <zlaski@apple.com>
16399
16400 * objc/objc-act.c (build_ivar_chain): Remove.
16401 (objc_copy_list): Likewise.
16402 (get_class_ivars): Inline call to removed build_ivar_chain
16403 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
16404 slot; use that slot (rather than CLASS_IVARS) when accessing
16405 ivars for base classes. Call copy_list and chainon instead of
16406 objc_copy_list.
16407 (build_private_template): Call get_class_ivars instead of
16408 build_ivar_chain.
16409 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 16410 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
16411 build_ivar_chain.
16412 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
16413 of DECL_BIT_FIELD (which may have been cleared).
16414 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
16415
2bf087c0
KG
164162002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16417
16418 * genautomata.c (output_translate_vect, output_state_ainsn_table,
16419 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
16420 in output file.
16421 (output_internal_min_issue_delay_func): Initialize variable in
16422 output file.
16423
3fcd079e
AO
164242002-08-19 Alexandre Oliva <aoliva@redhat.com>
16425
16426 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
16427 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
16428
71012d97
GK
164292002-08-19 Geoffrey Keating <geoffk@redhat.com>
16430 Steve Ellcey <sje@cup.hp.com>
16431
16432 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
16433 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
16434 * explow.c (trunc_int_for_mode): Abort when the mode is not
16435 a scaler integer mode.
16436 * combine.c (expand_compound_operation): Don't expand Vector
16437 or Complex modes into shifts.
16438 (expand_field_assignment): Don't do bitwise arithmatic and
16439 shifts on Vector or Complex modes.
16440 (simplify_comparison): Don't call trunc_int_for_mode
16441 for VOIDmode.
16442 * recog.c (general_operand): Likewise.
16443 (immediate_operand): Likewise.
16444 (nonmemory_operand): Likewise.
16445
af8cb5c5
DE
164462002-08-19 David Edelsohn <edelsohn@gnu.org>
16447
16448 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
16449 multi-instruction SImode constant. Add REG_EQUAL note.
16450 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 16451 rs6000_emit_set_const.
af8cb5c5 16452
9bc146b3
KG
164532002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16454
16455 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
16456 the macro test controlling its use.
16457
66df2ac2
L
164582002-08-18 H.J. Lu (hjl@gnu.org)
16459
16460 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
16461 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
16462 gnu_ld=yes.
16463 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
16464 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
16465 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
16466 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
16467 here.
16468 (cris-*-linux*): Remove setting thread_file here.
16469
463f1b2b
NB
164702002-08-18 Neil Booth <neil@daikokuya.co.uk>
16471
16472 PR preprocessor/7602
16473 * cppinit.c (path_include): Treat the system environment
16474 variables as being cxx_aware.
16475
2984fe64
JM
164762002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
16477
16478 * c-decl.c (flexible_array_type_p): New function.
16479 (grokdeclarator, finish_struct): Use it.
16480 * doc/extend.texi: Document constraints on use of structures with
16481 flexible array members.
16482
fded6d78
RS
164832002-08-17 Richard Sandiford <rsandifo@redhat.com>
16484
16485 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
16486 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
16487 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
16488
8aa5074e
SS
164892002-08-16 Stan Shebs <shebs@apple.com>
16490
16491 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
16492 for ObjC with -fnext-runtime.
16493 * doc/cpp.texi: Document it.
16494
f97a5bda
JJ
164952002-08-16 Janis Johnson <janis187@us.ibm.com>
16496
16497 * doc/install.texi (Final installation): Replace links to individual
16498 build status pages with a link to a common page that lists them all.
16499
d3075b6c
SP
165002002-08-16 Sylvain Pion <pion@cs.nyu.edu>
16501
16502 * doc/invoke.texi: Fix typo.
16503
fdf68669
DE
165042002-08-16 David Edelsohn <edelsohn@gnu.org>
16505
16506 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
16507
165082002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
16509
16510 * tree-inline.c: Add includes for Java inliner.
16511 (remap_decl): Don't handle anonymous types for Java.
16512 (remap_block): Add handling for Java trees.
16513 (copy_scope_stmt): Conditionalize for non-Java use only.
16514 (copy_body_r): Handle Java trees. Add handling for
16515 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
16516 (initialize_inlined_parameters): Handle Java trees.
16517 (declare_return_variable): Likewise.
16518 (expand_call_inline): Handle Java trees.
16519 (walk_tree): Likewise.
16520 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
16521 (add_stmt_to_compound): New function.
16522
204250d2
RH
165232002-08-15 Richard Henderson <rth@redhat.com>
16524
16525 * Makefile.in (LOOSE_WARN): Remove -fno-common.
16526 (NOCOMMON_FLAG): New substitution point.
16527 (GCC_WARN_CFLAGS): Include it.
16528 * configure.in (ac_checking): Set nocommon_flag.
16529 (nocommon_flag): New substitution point.
16530
25587e40
AO
165312002-08-15 Alexandre Oliva <aoliva@redhat.com>
16532
16533 * c-tree.h (skip_evaluation): Move declaration...
16534 * c-common.h: ... here.
16535 * c-typeck.c (build_external_ref): Don't assemble_external nor
16536 mark a tree as used if skip_evaluation is set.
16537 * c-parse.in (typeof): New non-terminal to set skip_evaluation
16538 around TYPEOF.
16539 (typespec_nonreserved_nonattr): Use it.
16540
702ada3d
DR
165412002-08-15 Douglas B Rupp <rupp@gnat.com>
16542
16543 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
16544 (xcoff_debug_hooks): Update end_prologue.
16545 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
16546 * debug.h (end_prologue): Add file arg.
16547 (end_epilogue): Add line and file args.
16548 (dwarf2out_end_epilogue): Add line and file args.
16549 (vmsdbgout_after_prologue): Remove.
16550 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
16551 (dwarf2_debug_hooks): Update end_prologue.
16552 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
16553 (dwarfout_end_prologue): Add file arg.
16554 * final.c (vmsdbgout_after_prologue): Remove
16555 (final_end_function): Update end_epilogue call.
16556 (final_scan_insn): Update end_prologue call.
16557 * sdbout.c (sdbout_end_epilogue): Add line and file args.
16558 (sdbout_end_prologue): Add file arg.
16559 (sdb_debug_hooks): Update end_prologue.
16560 (sdb_begin_prologue): Update sdbout_end_prologue call.
16561 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
16562 vmsdbgout_end_function.
16563 (vmsdbgout_end_prologue): New function renamed from
16564 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
16565 (vmsdbgout_end_function): New function.
16566 (vmsdbgout_end_epilogue): Add line and file args. Call
16567 vmsdbgout_source_line.
16568 (write_pclines): Write only valid line numbers.
16569 (write_srccorr): Don't write source correlation records if 0 lines.
16570 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
16571
9ef30f83
SE
165722002-08-15 Steve Ellcey <sje@cup.hp.com>
16573
16574 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
16575 (_Unwind_Internal_Ptr): 32 bit version for use in
16576 read_encoded_value_with_base.
16577 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
16578 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
16579 right size.
16580
f7043461
KG
165812002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16582
16583 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
16584 signed/unsigned warnings.
16585
16586 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
16587 record_reg_classes): Likewise.
16588
16589 * reload.c (reload_inner_reg_of_subreg, push_reload,
16590 find_reloads_address_1): Likewise.
16591
b4d330e1
DE
165922002-08-15 David Edelsohn <edelsohn@gnu.org>
16593
16594 * rs6000.c (output_mi_thunk): Return to function section on
16595 TARGET_ELF.
16596
16597 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
16598
61f02ff5
UW
165992002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
16600
16601 * config/s390/s390.c (legitimize_address): Optimize loading
16602 of large displacements.
16603
1330f7d5
DR
166042002-08-14 Douglas B Rupp <rupp@gnat.com>
16605
16606 * config/alpha/alpha-protos.h: Update.
16607
16608 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
16609 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
16610 (alpha_linkage_symbol_p): New static function.
16611 (print_operand_address): Print linkage operand.
16612
16613 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
16614 variables.
16615 (reloc_kind): New enum.
16616 (struct alpha_funcs): New struct.
16617 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
16618
16619 (alpha_need_linkage): Rewrite.
16620 (alpha_use_linkage): New global function.
16621 (alpha_write_linkage): Rewrite and make static.
16622 (alpha_write_one_linkage): Rewrite
16623
16624 (alpha_start_function): Remove procedure descriptor output.
16625 (alpha_end_function): Write linkages at end of each function.
16626
16627 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
16628 (call_vms_1, call_value_vms_1): Rewrite.
16629
16630 * config/alpha/vms.h (ASM_FILE_END): Remove.
16631
d1f1cc6a
RH
166322002-08-14 Richard Henderson <rth@redhat.com>
16633
16634 * ggc-page.c (RTL_SIZE): New.
16635 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
16636 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
16637
23626154
RH
166382002-08-14 Richard Henderson <rth@redhat.com>
16639
16640 * calls.c: Include target.h.
16641 * Makefile.in (calls.o): Update.
16642
16643 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
16644 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
16645
fd350d24
RH
166462002-08-14 Richard Henderson <rth@redhat.com>
16647
16648 * Makefile.in (LOOSE_WARN): Add -fno-common.
16649 * c-common.h (constant_string_class_name): Add missing extern.
16650
182d89a3
NB
166512002-08-15 Neil Booth <neil@daikokuya.co.uk>
16652
16653 PR preprocessor/7358
16654 * c-opts.c (check_deps_environment_vars): Ignore main file
16655 for SUNPRO_DEPENDENCIES.
16656 * cppfiles.c (stack_include_file): Ignore main file if
16657 appropriate.
16658 * cpplib.h (struct cpp_options): New member in deps.
16659 * doc/cppenv.texi: Update.
16660
8bfb1467
NB
166612002-08-14 Neil Booth <neil@daikokuya.co.uk>
16662
16663 PR preprocessor/7526
16664 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
16665
41685063
NS
166662002-08-14 Nathan Sidwell <nathan@codesourcery.com>
16667
16668 * doc/invoke.texi (-a): Remove documentation.
16669 (-fprofile-arcs): Remove reference to -a, -ax options.
16670 * doc/gcov.texi (Gcov Data Files): Data might be merged.
16671
77893a23
GDR
166722002-08-14 Gabriel Dos Reis <gdr@nerim.net>
16673
16674 Fix PR/7566
16675 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 16676 warning_with_decl.
77893a23 16677
260f91c2
DJ
166782002-08-14 Dale Johannesen <dalej@apple.com>
16679
8537ed68 16680 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
16681 preceding the stack pop, to prevent the scheduler from
16682 moving refs to variable arrays below this pop.
16683 * reload1.c (reload): Preserve these clobbers for sched2.
16684 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
16685
cd79e210
NB
166862002-08-14 Neil Booth <neil@daikokuya.co.uk>
16687
16688 * c-opts.c (c_common_post_options): Correct test.
16689
3eb75a73
KG
166902002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16691
16692 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
16693 order in call to fprintf.
16694
be3a0ce2
RO
166952002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16696
16697 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
16698
ccfc6cc8
UW
166992002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
16700
5ce6f47b 16701 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
16702 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
16703 (alternative_allows_memconst): Likewise.
16704 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 16705 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
16706 constrain_operands): Likewise.
16707 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16708 * local-alloc.c (block_alloc, requires_inout): Likewise.
16709 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16710
16711 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
16712 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16713 * doc/tm.texi: Document these two new target macros.
16714
16715 * config/s390/s390.c (s390_expand_plus_operand): Accept already
16716 valid operands.
16717 (q_constraint): New function.
16718 config/s390/s390-protos.h (q_constraint): Declare it.
16719 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
16720 (EXTRA_MEMORY_CONSTRAINT): New macro.
16721
16722 * config/s390/s390.md: Throughout the machine description,
16723 replace all instances of the constraint combinations 'Qo'
16724 or 'oQ' with simply 'Q'.
16725
d6ee9f6f
SC
167262002-08-14 Stephane Carrez <stcarrez@nerim.fr>
16727
16728 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
16729 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
16730 (LIBGCC2_CFLAGS): Compile with -mrelax.
16731
8a0b86f5
SC
167322002-08-14 Stephane Carrez <stcarrez@nerim.fr>
16733
16734 * doc/invoke.texi: Document -minmax for 68HC12.
16735
16736 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
16737 ("uminqi3"): Likewise.
16738 ("uminhi3", "umaxhi3"): Likewise.
16739
16740 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
16741 (TARGET_MIN_MAX): Define.
16742 (TARGET_SWITCHES): New option -minmax/-mnominmax.
16743
d6381f4e
SC
167442002-08-14 Stephane Carrez <stcarrez@nerim.fr>
16745
16746 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
16747 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
16748
16749 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
16750 (ret, declare, farsym): New gas macros.
16751 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
16752 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
16753 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 16754 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
16755 far handler using jsr/bsr.
16756
16757 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
16758 (jsr): New macro to transform a 'jsr' into a 'call'.
16759
058edcdb
SC
167602002-08-14 Stephane Carrez <stcarrez@nerim.fr>
16761
16762 * doc/invoke.texi: Document -mlong-calls for 68HC12.
16763
16764 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
16765 -mlong-calls is specified.
5ce6f47b 16766 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
16767 assembler directives.
16768 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
16769 (TARGET_SWITCHES): Add -mlong-calls options.
16770 (current_function_far): Declare.
16771
16772 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
16773 into account the page register saved on the stack.
16774 (m68hc11_override_options): Take into account -mlong-calls option.
16775 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
16776
16777 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
16778 if the function is going to be in 68HC12 banked memory (-mlong-calls).
16779 ("*return_16bit"): Likewise.
16780 ("*return_void"): Likewise.
16781 ("call", "call_value"): Use call for a far function call.
16782
c79043f3
NB
167832002-08-14 Neil Booth <neil@daikokuya.co.uk>
16784
16785 * toplev.c (parse_options_and_default_flags): Don't call
16786 post_options here.
16787 (general_init): Initialize GC, pools and tree hash here,
16788 instead of lang_independent_init.
16789 (lang_independent_init): Rename backend_init.
16790 (do_compile): Call post_options hook; exit early if there
16791 have been errors after switch processing.
16792 (toplev_main): Update.
16793
6bf346d4
GDR
167942002-08-14 Gabriel Dos Reis <gdr@nerim.net>
16795
16796 * c-pretty-print.h: Guard against multiple inclusion.
16797 Robustify macros.
16798 (pp_c_attributes): Declare.
16799 * c-pretty-print.c (pp_c_attributes): New function.
16800
cbf2f479
KG
168012002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16802
16803 * m68k.c (m68k_output_function_prologue,
16804 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
16805 and NEWS/MOTOROLA.
16806 * genattrtab.c: Remove dpx2 comment.
16807 * libgcc2.c (__enable_execute_stack): Delete versions for
16808 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
16809 sony_news/SYSTYPE_BSD.
16810 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
16811 __gmicro__, __i860__, __NeXT__ and __pyr__.
16812 * rtl.h: Remove convex comment.
16813 * varasm.c: Likewise.
16814
d3969c34
KG
168152002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16816
16817 * c-opts.c (lang_flags): Const-ify.
16818 * ra-build.c (undef_table): Likewise.
16819 * ra.c (eliminables): Likewise.
16820
df89f8e7
GDR
168212002-08-14 Gabriel Dos Reis <gdr@nerim.net>
16822
16823 * tree.h: Guard against multiple inclusion.
16824
cf87d551
HPN
168252002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
16826
16827 * reload1.c (reload_cse_simplify): Before checking
16828 REG_FUNCTION_VALUE_P, check REG_P.
16829
a43c8986
GK
168302002-08-13 Geoffrey Keating <geoffk@redhat.com>
16831
16832 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
16833
29337351
NB
168342002-08-13 Neil Booth <neil@daikokuya.co.uk>
16835
16836 * c-opts.c (c_common_init_options): Extra braces needed.
16837
8202c8c4
R
16838Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
16839
16840 * sh.c (sh_init_builtins): Add PARAMS to declaration.
16841 (sh_media_init_builtins, sh_expand_builtin): Likewise.
16842 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
16843 (sh_expand_binop_v2sf): Likewise.
16844 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
16845 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
16846 (sh_initialize_trampoline): Likewise.
16847
07893d4f
UW
168482002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
16849
16850 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
16851 new condition code modes.
16852 s390.c (s390_match_ccmode_set): Handle those new CC modes.
16853 (s390_select_ccmode): Likewise.
16854 (s390_branch_condition_mask): Likewise.
16855
16856 * s390-protos.h (s390_tm_ccmode): Declare.
16857 s390.c (s390_tm_ccmode): New function.
16858 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
16859
16860 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
16861 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
16862 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
16863
16864 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
16865 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
16866 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
16867 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
16868 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
16869
16870 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 16871 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
16872 "*cmpqi_ccs_0"): Remove, replace by ...
16873 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 16874 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
16875 "*tstqi", "*tstqi_cconly"): ... these new patterns.
16876
16877 ("*cmpsidi_ccs"): Remove, replace by ...
16878 ("*cmpsi_ccs_sign"): ... this new pattern.
16879 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
16880
16881 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
16882 ("*cli"): ... this new pattern.
16883
16884 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
16885 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
16886 New patterns.
16887 ("adddi3_64"): Rename to "*adddi3_64".
16888 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
16889 ("adddi3"): Adapt expander.
16890
16891 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 16892 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
16893 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
16894
16895 ("addhi3", "addqi3"): Remove, replace by ...
16896 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
16897
16898 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
16899 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
16900 ("subdi3"): Replace by insn and splitter "*subdi3_31".
16901 ("subdi3"): New expander.
16902
16903 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
16904
16905 ("subhi3", "subqi3"): Remove, replace by ...
16906 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
16907
16908 ("*muldi3_sign"): New pattern.
16909 ("muldi3"): Do not clobber CC.
16910 ("mulsi3"): Likewise.
16911 ("mulsi_6432"): Likewise.
16912
db62867b
DC
169132002-08-13 Denis Chertykov <denisc@overta.ru>
16914
16915 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 16916 which can change CC0.
db62867b 16917
8ba46434
R
16918Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
16919
16920 * gcse.c (adjust_libcall_notes): New function.
16921 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
16922
8733892f
NS
169232002-08-13 Nathan Sidwell <nathan@codesourcery.com>
16924
16925 * libgcc2.c (L_bb): Remove unneeded #includes.
16926 (__global_counters, __gthreads_active): Remove unused globals.
16927 (__bb_exit_func): Merge counts into files rather than appending.
16928 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
16929 (ALL_CFLAGS): ... to here.
16930
f4769721
DC
169312002-08-13 Denis Chertykov <denisc@overta.ru>
16932
16933 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
16934 (function_epilogue): Don't calculate function size.
16935 (ip2k_set_compare): Don't use lookup_const_double.
16936 (asm_file_start): Initialization of commands_in_file removed.
16937 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 16938
f4769721
DC
16939 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
16940 __INT_MAX__.
16941
c31cddfd
NB
169422002-08-13 Neil Booth <neil@daikokuya.co.uk>
16943
16944 * c-opts.c (c_common_init_options): Check option array is
16945 sorted if checking enabled.
16946
f076f0ce
GDR
169472002-08-13 Gabriel Dos Reis <gdr@nerim.net>
16948
16949 * c-pretty-print.c: #include "c-tree.h".
16950 (pp_c_simple_type_specifier): Tweak.
16951 (pp_c_storage_class_specifier): New.
16952 (pp_c_function_specifier): Likewise.
16953 (pp_c_declaration_specifiers): Likewise.
16954 (pp_c_init_declarator): Likewise.
16955 (pp_c_declaration): Likewise.
16956 (pp_c_direct_declarator): Stub.
16957 (pp_c_declarator): Likewise.
16958 (pp_c_parameter_declaration): Likewise.
16959
f4ff5a69
NB
169602002-08-13 Neil Booth <neil@daikokuya.co.uk>
16961
16962 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
16963 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
16964 struct deferred_opt): New.
16965 (COMMAND_LINE_OPTIONS): Add -M*.
16966 (missing_arg): Update.
16967 (c_common_decode_option): Handle -M*.
16968 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
16969 don't call cpp_post_options.
16970 (c_common_finish, check_deps_environment_vars): Update.
16971 * cppfiles.c (stack_include_file, handle_missing_header): Update.
16972 * cpphash.h (CPP_PRINT_DEPS): Remove.
16973 * cppinit.c: Don't include version.h.
16974 (cpp_create_reader): Don't call deps_init. Initialize
16975 warn_long_long.
16976 (cpp_read_main_file): Init deps if necessary.
16977 (cpp_destroy): Conditionally free deps.
16978 (cpp_finish): Update.
16979 (no_tgt): Remove.
16980 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
16981 (cpp_post_options): Rename post_options.
16982 * cpplib.h (struct cpp_options): Remove some dependency options;
16983 move others to a new structure.
16984 (cpp_post_options): Remove.
16985 (cpp_finish): Comment.
16986 * fix-header.c (read_scan_file): Don't call cpp_post_options.
16987
34116c2a
HPN
169882002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
16989
16990 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
16991 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
16992 MMIX_rR_REGNUM as clobbered.
16993 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
16994
9b32718c
GDR
169952002-08-12 Gabriel Dos Reis <gdr@nerim.net>
16996
16997 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 16998 output_formatted_integer.
9b32718c
GDR
16999 * diagnostic.def: Add DK_DEBUG.
17000 * diagnostic.c (output_decimal): Adjust.
17001 (output_long_decimal): Likewise.
17002 (output_unsigned_decimal): Likewise.
17003 (output_octal): Likewise.
17004 (output_long_octal): Likewise.
17005 (output_hexadecimal): Likewise.
17006 (output_long_hexadecimal): Likewise.
17007 * c-pretty-print.c (pp_c_type_specifier): New function.
17008 (pp_c_specifier_qualifier_list): Likewise.
17009 (pp_c_abstract_declarator): Likewise.
17010 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
17011
032613df
DE
170122002-08-12 David Edelsohn <edelsohn@gnu.org>
17013
17014 * doc/trouble.texi (Disappointments): Add static constructor and
17015 destructor dependency information for AIX.
17016
a3737481
NB
170172002-08-12 Neil Booth <neil@daikokuya.co.uk>
17018
17019 * cpphash.h (struct printer): New from cppmain.c.
17020 (cpp_reader): New member.
17021 * cppmain.c (struct printer): Move to cpphash.h.
17022 (options, print): Remove.
17023 (account_for_newlines, print_line, maybe_print_line,
17024 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
17025 scan_translation_unit_trad, cb_line_change, cb_ident,
17026 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
17027 cb_def_pragma): Make reentrant.
17028
d71f7700
KG
170292002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17030
17031 * real.c (ieee_64): Always define.
17032 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
17033 (dec_h): Not used yet, hide it.
17034 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
17035 macro controlling use.
17036 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
17037
c16576e6
JH
17038Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
17039
17040 * i386.md (tablejump): Sign extend the operand.
17041 * i386.c (classify_argument): Fix missed case from previous patch.
17042
460bd0e3
NB
170432002-08-12 Neil Booth <neil@daikokuya.co.uk>
17044
17045 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
17046 to c-copts.c.
17047 (warn_multichar): Die.
17048 (cb_register_builtins): Export.
17049 * c-common.h (warn_multichar, preprocess_file): Remove.
17050 (cb_register_builtins): New.
17051 * c-lang.c (c_init): Remove.
17052 (LANG_HOOKS_INIT): Use c_objc_common_init.
17053 * c-lex.c (init_c_lex): Don't canonicalize filename.
17054 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
17055 (preprocess_file): Make static. Update for cpplib.
17056 (c_common_decode_option): Remove warn_multichar. Use in_fname.
17057 (c_common_post_options): Set some cpp options here.
17058 (c_common_init): Move from c-common.c.
17059 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
17060 * cpplib.h (struct cpp_options): Remove in_fname.
17061 (cpp_preprocess_file): Update.
17062 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
17063
f3f268dd
KG
170642002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17065
17066 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
17067
f0201fba
KG
170682002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17069
17070 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
17071 backslash in comment preceeding macro definition.
17072 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
17073 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
17074 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
17075
e56fc090
HPN
170762002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
17077
17078 * expr.c (store_expr): In condition for checking if value is
17079 generated in TARGET, move call to expr_size last.
17080
76c3e73e
NB
170812002-08-11 Neil Booth <neil@daikokuya.co.uk>
17082
17083 * c-common.c (c_common_init): Call preprocess_file instead.
17084 (c_common_finish): Move to c-opts.c.
17085 * c-common.h (preprocess_file): new.
17086 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
17087 check_deps_environment_vars, c_common_finish): New.
17088 (c_common_decode_option): Update for out_fname and dependencies.
17089 * cppinit.c (init_dependency_output, output_deps): Remove.
17090 (cpp_destroy): Update prototype.
17091 (cpp_add_dependency_target): New.
17092 (cpp_read_main_file): Don't overlay a buffer.
17093 (cpp_finish): Take a deps output stream and write deps to it.
17094 Return the error count.
17095 (cpp_post_options): Don't canonicalize out_fname, or do anything
17096 with dependencies.
17097 * cpplib.h (struct cpp_options): Remove out_fname and
17098 preprocess_only.
17099 (cpp_add_dependency_target): New.
17100 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
17101 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
17102 set preprocess_only. Don't handle the output stream directly.
17103
e0c32c62
KG
171042002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17105
17106 * dsp16xx.c (print_operand): Fix format specifier.
17107 * dsp16xx.md: Avoid automatic aggregate initialization.
17108 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
17109 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
17110 integer constant modifier.
17111 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
17112 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
17113 guards.
17114 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
17115 * v850.c (v850_select_section): Mark parameter with
17116 ATTRIBUTE_UNUSED.
17117 * global.c (global_alloc): Const-ify.
17118 * ra-colorize.c (hardregset_to_string): Fix format specifier.
17119
7ae8cf75
KG
171202002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17121
17122 * darwin-c.c (darwin_pragma_options): Const-ify.
17123 * darwin.c (machopic_non_lazy_ptr_name,
17124 machopic_validate_stub_or_non_lazy_ptr): Likewise.
17125 (machopic_indirect_data_reference): Wrap variables in macros
17126 controlling their use.
17127 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
17128 (machopic_select_section): Use parentheses around && within ||.
17129 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
17130
8819cab5
KG
171312002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17132
17133 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
17134 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
17135 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
17136 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
17137 mdr_try_remove_redundant_insns, track_w_reload,
17138 mdr_try_wreg_elim): Make function static to match prototype.
17139 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
17140 parameter with ATTRIBUTE_UNUSED.
17141
ab2877a3
KG
171422002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17143
17144 * arc.c (arc_init): Don't use ISO C style function definitions.
17145 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
17146 arm_get_strip_length, arm_strip_name_encoding): Likewise.
17147 * avr.h (progmem_section): Likewise.
17148 * h8300.c h8300_asm_insn_count): Likewise.
17149 * m32r.c (init_idents): Likewise.
17150 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
17151 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
17152 * xtensa.c (xtensa_build_va_list): Likewise.
17153
08767a6f
NB
171542002-08-11 Neil Booth <neil@daikokuya.co.uk>
17155
17156 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
17157 * c-opts.c (parse_option): Rename find_opt.
17158 (set_std_c99): New function.
17159 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
17160 (missing_arg): Remove OPT_std_bad. Handle -o.
17161 (c_common_decode_option): Handle input and output file names,
17162 -o and -remap. Clean up -std= handling.
17163 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
17164 (cpp_handle_option): Similarly. Don't handle filenames.
17165
db01f480
JH
17166Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
17167
17168 * i386.c (classify_argument): Fix computing of field's offsets.
17169
a7701995
AJ
171702002-08-11 Andreas Jaeger <aj@suse.de>
17171
17172 PR target/7531:
17173 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
17174
2516f236
ZL
171752002-08-10 Ziemowit Laski <zlaski@apple.com>
17176
17177 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
17178 reference to clk_objective_c with flag_objc.
17179 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
17180 Likewise.
17181 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
17182
f749a36b
NB
171832002-08-10 Neil Booth <neil@daikokuya.co.uk>
17184
17185 * c-opts.c (set_std_cxx98, set_std_c89): New.
17186 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
17187 (c_common_decode_option): Handle new switches from cppinit.c.
17188 Add -std=gnu++98.
17189 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
17190 (no_arg, no_num): Remove.
17191 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
17192 switches apart from -lang-objc and lang-asm.
17193 (cpp_handle_option): Similarly.
17194 * cpplib.h (cpp_set_lang): New.
17195 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
17196 -std=gnu++98.
17197 * objc/lang-specs.h: Remove -ansi.
17198
77abb5d8
JH
17199Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
17200 Graham Stott
17201
17202 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
17203 errors.
17204
fac37dc4
KG
172052002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17206
d950dee3
KG
17207 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
17208 emit_jump_insn): Fix uninitialized variable.
17209 * gcov.c (init_line_info): Likewise.
17210 * genautomata.c (transform_3): Add braces around ambiguous
17211 else.
17212 * ifcvt.c (cond_exec_process_insns): Mark parameter with
17213 ATTRIBUTE_UNUSED.
17214 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
17215 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
17216 variable.
17217
fac37dc4
KG
17218 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
17219 warnings in output files.
17220
0f7866e7
ZL
172212002-08-09 Ziemowit Laski <zlaski@apple.com>
17222
17223 * c-common.c (flag_objc): New.
17224 * c-common.h (c_language_kind): Get rid of clk_objective_c
17225 enum value.
17226 (flag_objc): New extern declaration.
17227 * c-decl.c (implicitly_declare): Call objc_check_decl
17228 instead of maybe_objc_check_decl.
17229 (finish_decl): Likewise.
17230 (grokfield): Likewise.
17231 (finish_struct): Likewise.
17232 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
17233 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 17234 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
17235 objc_message_selector.
17236 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
17237 replace with flag_objc as needed.
17238 * c-opts.c (c_common_init_options): Likewise.
17239 (c_common_decode_option): Likewise.
17240 * c-parse.in (init_reswords): Likewise.
17241 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
17242 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 17243 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
17244 objc_message_selector.
17245 * c-typeck.c (comptypes): Call objc_comptypes instead of
17246 maybe_objc_comptypes, and/or objc_message_selector instead of
17247 maybe_building_objc_message_expr.
17248 (comp_target_types): Likewise.
17249 (convert_for_assignment): Likewise.
17250 (warn_for_assignment): Likewise.
17251 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
17252 independently of those for other languages.
17253 * objc/objc-act.c (maybe_objc_comptypes): Delete.
17254 (maybe_objc_check_decl): Delete.
a7701995 17255 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
17256 objc_message_selector.
17257 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
17258 clk_objective_c; set flag_objc flag.
17259
c512fd7b
TM
172602002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
17261
17262 * ifcvt.c (find_if_case_2): Test correct basic block for size.
17263
5e1bf043 172642002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 17265
5e1bf043
DJ
17266 * config/rs6000/rs6000.md: Add sibcall patterns.
17267 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
17268 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
17269 Rewritten to handle sibcalls.
17270 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
17271 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
17272
2043c38e
NS
172732002-08-08 Nathan Sidwell <nathan@codesourcery.com>
17274
17275 * profile.c (da_file_name): New static var.
17276 (init_branch_prob): Initialize it.
17277 (end_branch_prob): Remove da file.
17278
17279 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 17280 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
17281 * configure: Rebuilt.
17282
4b7091eb
NB
172832002-08-09 Neil Booth <neil@daikokuya.co.uk>
17284
17285 * Makefile.in (c-opts.o): Update
17286 * c-opts.c: Include intl.h.
17287 (print_help): Move from cppinit.c. Remove unused options.
17288 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
17289 (missing_arg): Complain for switches without an argument.
17290 (c_common_decode_option): Reject missing joined arguments.
17291 Handle new switches from cppinit.c.
17292 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
17293 (cpp_handle_option): Similarly.
17294 (print_help): Moved to c-opts.c.
17295 * cpplib.h (struct cpp_options): Remove help_only.
17296 * gcc.c (cpp_unique_options): Remove -$.
17297 * doc/cppopts.texi: Undocument -h.
17298
9e20be0c
JJ
172992002-08-08 Jakub Jelinek <jakub@redhat.com>
17300
17301 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
17302 legitimate constant.
17303 (legitimate_pic_operand_p): Neither pic operand.
17304 (legitimate_address_p): But legitimate address.
17305 (get_thread_pointer): Generate MEM/u instead of CONST around
17306 UNSPEC_TP.
17307 (print_operand): Remove printing of UNSPEC_TP.
17308 (print_operand_address): And print it here.
17309
7b9be5c7 173102002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 17311
a7701995
AJ
17312 * objc/objc-act.c (build_selector_translation_table): Issue warning,
17313 when -Wselector is used,if method for which selector is being
7b9be5c7 17314 created does not exist.
a7701995 17315
5615d8fd
SC
173162002-08-08 Stephen Clarke <stephen.clarke@superh.com>
17317
17318 * config/sh/sh.c (prepare_move_operands): Only call
17319 target_reg_operand if TARGET_SHMEDIA.
a7701995 17320
3b85fe5f
JJ
173212002-08-08 Jakub Jelinek <jakub@redhat.com>
17322
17323 * config/rs6000/rs6000.h, config/rs6000/aix.h,
17324 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
17325 two patches.
17326 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
17327
e10c79fe
LB
173282002-08-08 Lars Brinkhoff <lars@nocrew.org>
17329 Richard Henderson <rth@redhat.com>
17330
17331 * emit-rtl.c (gen_rtx_REG): After reload, only return
17332 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
17333
aa2a83dc
JJ
173342002-08-08 Jakub Jelinek <jakub@redhat.com>
17335
17336 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
17337 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
17338 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
17339 macro.
17340
aeaf4d25
AN
173412002-08-08 Adam Nemet <anemet@lnxw.com>
17342
17343 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
17344 register.
17345 (thumb_expand_prologue): Likewise.
17346 (thumb_output_function_prologue): Likewise.
17347 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
17348 the additional push of the PIC register.
17349
22aa533e
NS
173502002-08-08 Nathan Sidwell <nathan@codesourcery.com>
17351
17352 * configure.in (enable_coverage): New enable switch.
17353 * configure: Rebuilt.
17354 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
17355 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
17356 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
17357 (mostlyclean): Remove coverage files.
17358 * doc/install.texi: Document enable_coverage.
17359
17360 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
17361 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
17362 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
17363 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
17364 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
17365 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
17366 files.
a7701995 17367
18bdccaa
NB
173682002-08-08 Neil Booth <neil@daikokuya.co.uk>
17369
17370 * c-opts.c (cpp_opts): New.
17371 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
17372 (c_common_decode_options): Handle cpplib switches.
17373 (c_common_init_options): Set cpp_opts.
17374 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
17375 (cpp_handle_option): Similarly.
17376
774b5662
DE
173772002-08-08 David Edelsohn <edelsohn@gnu.org>
17378
17379 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
17380 (TARGET_ALTIVEC_ABI): Same.
17381 (TARGET_ALTIVEC_VRSAVE): Same.
17382
17383 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
17384 icode not CODE_FOR_nothing. Change switch to if.
17385
957e9e48
AM
173862002-08-08 Alan Modra <amodra@bigpond.net.au>
17387
17388 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
17389
daf06049
JJ
173902002-08-08 Jakub Jelinek <jakub@redhat.com>
17391
17392 * stor-layout.c (place_union_field): For bitfields if
17393 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
17394 TYPE_USER_ALIGN.
17395
043d39a6
JDA
173962002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17397
17398 * pa.c (struct deferred_plabel): Constify name field.
17399
34bb92e3
NB
174002002-08-07 Neil Booth <neil@daikokuya.co.uk>
17401
17402 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
17403
3ec5d64d
JDA
174042002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17405
17406 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
17407 local_prefix are the same.
17408 * configure: Rebuilt.
17409
ad9335eb
JJ
174102002-08-07 Jakub Jelinek <jakub@redhat.com>
17411 Richard Henderson <rth@redhat.com>
17412
17413 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
17414 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
17415 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
17416 (place_field): Likewise.
17417 * config/i386/i386.c (x86_field_alignment): Don't check
17418 DECL_USER_ALIGN here.
17419 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
17420 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
17421 prototype.
17422 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
17423 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
17424 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
17425 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
17426 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
17427 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
17428
0b6f2917
NB
174292002-08-07 Neil Booth <neil@daikokuya.co.uk>
17430
17431 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
17432 * c-common.c: Don't include tree-inline.h.
17433 (c_common_init_options, c_common_post_options): Move to c-opts.c.
17434 * c-common.h (c_common_decode_option): New.
17435 * c-decl.c (c_decode_option): Remove.
17436 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
17437 * c-opts.c: New file.
17438 * c-tree.h (c_decode_option): Remove.
17439 * doc/passes.texi: Update.
17440 * objc/objc-act.c (objc_decode_option): Remove.
17441 * objc/objc-act.h (objc_decode_option): Remove.
17442 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
17443 c_common_decode_option.
17444
e49ec17d
CD
174452002-08-07 Chris Demetriou <cgd@broadcom.com>
17446
17447 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
17448 dependency on TARGET_DOUBLE_FLOAT.
17449
ac1ca451
SC
174502002-08-07 Stephen Clarke <stephen.clarke@superh.com>
17451
17452 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
17453 overwrite callee-save registers. Fix comment.
17454
af34e51e
CD
174552002-08-06 Chris Demetriou <cgd@broadcom.com>
17456
17457 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
17458 in target_flags based on ISA, if it was not set on the command
17459 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
17460 support Branch Likely instructions.
17461 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
17462 (TARGET_BRANCHLIKELY): Likewise.
17463 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
17464 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
17465 ISA_HAS_BRANCHLIKELY.
17466 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
17467 * doc/invoke.texi: Document new MIPS -mbranch-likely and
17468 -mno-branch-likely options.
17469
2631af95
KG
174702002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17471
f538618e
KG
17472 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
17473
2631af95
KG
17474 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
17475 $(GCONFIG_H).
17476
1ae0ccb6
AH
174772002-08-06 Aldy Hernandez <aldyh@redhat.com>
17478
8537ed68
ZW
17479 * c-decl.c (duplicate_decls): Error out for incompatible TLS
17480 declarations.
1ae0ccb6 17481
8537ed68 17482 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 17483
8d3e27d1 174842002-08-06 Dale Johannesen <dalej@apple.com>
db4c55f6 17485
8d3e27d1 17486 * c-common.c (fname_decl): Use line number 0 for
8537ed68 17487 __func__, to avoid confusing debuggers.
8d3e27d1 17488
8b219a76
NS
174892002-08-06 Nathan Sidwell <nathan@codesourcery.com>
17490
17491 * gcov.c: Tidy.
17492 (struct line_info, struct coverage): New structures.
17493 (gcov_file_name, gcov_file): Remove globals.
17494 (output_data): Take source file parameter. Fix memory leak. Break
17495 up into ...
17496 (init_line_info, output_line_info, make_gcov_file_name,
17497 accumulate_branch_counts): ... here.
17498 (calculate_branch_probs, function_summary): Adjust.
17499 (main): Adjust.
17500 (function_*): Remove global variables.
17501
317e98c0
NB
175022002-08-06 Neil Booth <neil@daikokuya.co.uk>
17503
17504 * dwarf2out.c: Remove unused macros.
17505
81d41e74
NB
175062002-08-06 Neil Booth <neil@daikokuya.co.uk>
17507
17508 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
17509
58551c23
NB
175102002-08-06 Neil Booth <neil@daikokuya.co.uk>
17511
17512 * cppinit.c (struct lang_flags): Rename trigraphs std.
17513 (set_lang): Update.
17514 * cpplib.h (struct cpp_options): New member std.
17515 * cppmacro.c (_cpp_builtin_macro_text): Use std.
17516 (collect_args): Flag whether to swallow a possible future
17517 comma pasted with varargs.
17518 (replace_args): Use this flag.
17519 * doc/cpp.texi: Update varargs extension documentation.
17520
daeabcd0
JJ
175212002-08-06 Jakub Jelinek <jakub@redhat.com>
17522
17523 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
17524
39e3a681
JJ
175252002-08-06 Jakub Jelinek <jakub@redhat.com>
17526
9812691e
JJ
17527 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
17528 and MODE_CLASS_INT modes.
39e3a681 17529
609a87f3
JJ
175302002-08-06 Jakub Jelinek <jakub@redhat.com>
17531
17532 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
17533 --{enable,disable}-threads is given to configure.
17534 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
17535 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
17536 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
17537 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
17538 Remove thread_file setting here.
17539
ff4c5e7b
DE
175402002-08-06 David Edelsohn <edelsohn@gnu.org>
17541
17542 * doc/install.texi (Binaries): Update Bull Freeware URL.
17543
54f3aa9e
GP
175442002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17545
17546 * doc/gcc.texi (Top): Rename Index to Keyword Index.
17547
d19202ba
NS
175482002-08-05 Nathan Sidwell <nathan@codesourcery.com>
17549
17550 * gcov.c (output_data): Round to % to nearest, tweak formatting.
17551
1bed5ee3
JJ
175522002-08-05 Jakub Jelinek <jakub@redhat.com>
17553
17554 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
17555 of the operands into MINUS_EXPR if code is PLUS_EXPR.
17556
84512347
DR
175572002-08-05 Douglas B Rupp <rupp@gnat.com>
17558
17559 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
17560 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
17561 drectve_section): Define.
17562 * config/i386/t-interix: Replace interix.o rule with winnt.o.
17563 * config/i386/interix.c: Remove.
17564
b835f6f1
GK
175652002-08-05 Geoffrey Keating <geoffk@redhat.com>
17566
17567 * attribs.c: Don't include obstack.h.
17568 * builtins.c: Likewise.
17569 * cfganal.c: Likewise.
17570 * cfgbuild.c: Likewise.
17571 * cfgcleanup.c: Likewise.
17572 * emit-rtl.c: Likewise.
17573 * loop.c: Likewise.
17574 * stmt.c: Likewise.
17575
17576 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
17577
fd291392
GDR
175782002-08-05 Gabriel Dos Reis <gdr@nerim.net>
17579
17580 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
17581
054b7507
CD
175822002-08-04 Chris Demetriou <cgd@broadcom.com>
17583
17584 * doc/invoke.texi: Remove duplicated paragraph describing
17585 TARGET_SWITCHES.
17586
6d9f628e
GK
175872002-08-04 Geoffrey Keating <geoffk@redhat.com>
17588
17589 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
17590 * collect2.h (permanent_obstack): Delete declaration.
17591 * collect2.c (permanent_obstack): Delete definition.
4912a07c 17592 (main): Don't initialize permanent_obstack. Use xstrdup instead.
6d9f628e
GK
17593 * expr.c: Don't include obstack.h.
17594 (permanent_obstack): Delete declaration.
17595 * function.c: Don't include obstack.h.
17596 (permanent_obstack): Delete declaration.
17597 * integrate.c: Don't include obstack.h.
17598 (function_maybepermanent_obstack): Delete declaration.
17599 * print-tree.c (debug_tree): Use x*alloc not permalloc.
17600 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
17601 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
17602 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
17603 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
17604 of permalloc, expralloc, perm_calloc.
17605 * tree.c (permanent_obstack): Delete definition.
17606 (init_ttree): Rename from init_obstacks.
17607 (permalloc): Delete.
17608 (perm_calloc): Delete.
17609 (dump_tree_statistics): Don't print information about
17610 permanent_obstack.
17611 * varasm.c (assemble_start_function): Use xstrdup instead of
17612 permalloc/strcpy.
17613 (assemble_variable): Likewise.
17614 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
17615 permalloc.
17616 (unicosmk_add_extern): Likewise.
17617 * config/c4x/c4x.c (c4x_external_ref): Likewise.
17618 (c4x_global_label): Likewise.
17619 * config/frv/frv.c (frv_encode_section_info): Likewise.
17620 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
17621 (i386_pe_record_exported_symbol): Likewise.
17622 * config/mips/mips.c (mips_output_external): Likewise.
17623 (mips_output_external_libcall): Likewise.
17624 * config/pa/pa.c: (permanent_obstack): Delete declaration.
17625 (output_call): Use ggc_strdup instead of allocating on
17626 permanent_obstack.
17627 * config/romp/romp.c: Include ggc.h.
17628 (get_symref): Don't declare permanent_obstack, use ggc_strdup
17629 intead of permanent_obstack.
17630 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
17631 instead of permalloc.
17632 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
17633 instead of permalloc
17634 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
17635 instead of permalloc.
17636 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
17637 permalloc.
17638
36a05131
BS
176392002-08-04 Bernd Schmidt <bernds@redhat.com>
17640
17641 Contribute a port developed primarily by Michael Meissner,
17642 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
17643 * config.gcc: Add frv-elf target.
17644 * config/frv/cmovd.c: New file.
17645 * config/frv/cmovh.c: New file.
17646 * config/frv/cmovw.c: New file.
17647 * config/frv/frv-abi.h: New file.
17648 * config/frv/frv-asm.h: New file.
17649 * config/frv/frv-modes.def: New file.
17650 * config/frv/frv-protos.h: New file.
17651 * config/frv/frv.c: New file.
17652 * config/frv/frv.h: New file.
17653 * config/frv/frv.md: New file.
17654 * config/frv/frvbegin.c: New file.
17655 * config/frv/frvend.c: New file.
17656 * config/frv/lib1funcs.asm: New file.
17657 * config/frv/media.h: New file.
17658 * config/frv/modi.c: New file.
17659 * config/frv/t-frv: New file.
17660 * config/frv/uitod.c: New file.
17661 * config/frv/uitof.c: New file.
17662 * config/frv/ulltod.c: New file.
17663 * config/frv/ulltof.c: New file.
17664 * config/frv/umodi.c: New file.
17665 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
17666
17667 * config/frv/media.h: Removed again.
17668
37b8715b
NS
176692002-08-04 Nathan Sidwell <nathan@codesourcery.com>
17670
17671 * gcov.c (bb_file_time): New static variable.
17672 (object_directory): May also be object file.
17673 (preserve_paths): New static variable.
17674 (print_usage): Adjust.
17675 (options): Adjust.
17676 (process_args): Adjust.
17677 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
17678 file. Find modification date on bb file.
17679 (read_profile): Don't rewind a NULL file.
17680 (format_hwint): New static function.
17681 (function_summary): Use format_hwint.
17682 (output_data): SOURCE_FILE_NAME is never relative to
17683 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
17684 mangling. Adjust output format to make it more machine readable.
17685 * doc/gcov.texi: Document & clarify semantics.
a7701995 17686
d500c5d7
JM
176872002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
17688
17689 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
17690
ea67fe71
NS
176912002-08-04 Nathan Sidwell <nathan@codesourcery.com>
17692
17693 * gcc.c (cc1_options): Pass output file as auxbase when
17694 appropriate.
17695 * profile.c (init_branch_prob): FILENAME has already had ending
17696 stripped.
17697 * final.c (end_final): Likewise.
17698 * toplev.c (aux_base_name): New global.
17699 (compile_file): Pass aux_base_name to init init_branch_prob and
17700 end_final.
17701 (independent_decode_option, case 'a'): New auxinfo options.
17702 (case 'd'): Protect against mising basename.
17703 (do_compile): Initialize aux_base_name.
17704 * toplev.h (aux_base_name): New global.
17705 * doc/invoke.texi: Adjust documentation.
17706
b23c054d
NS
177072002-08-04 Nathan Sidwell <nathan@codesourcery.com>
17708
17709 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
17710 of TARGET_ALIGN_DOUBLE.
17711
04c1334c 177122002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 17713
04c1334c
GDR
17714 * diagnostic.c (inform): New function.
17715 * diagnostic.h (inform): Declare.
a7701995 17716
e34eaae5
DE
177172002-08-03 David Edelsohn <edelsohn@gnu.org>
17718
17719 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
17720 (movhi_internal): Same.
17721 (movqi_internal): Same.
17722 (movdi_internal64): Same.
17723
17724 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
17725
17726 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
17727 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
17728 (COMMON_ASM_OP): Define.
17729 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
17730 Use ALIGN parameter.
17731 (LOCAL_COMMON_ASM_OP): Define.
17732 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
17733
e7b489c8
RS
177342002-08-03 Roger Sayle <roger@eyesopen.com>
17735
17736 * builtins.def: Define new builtin functions exp, expf, expl,
17737 log, logf and logl (and their __builtin_* variants).
17738 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
17739 Define exp_optab and log_optab.
17740 * optabs.c (init_optans): Initialize exp_optab and log_optab.
17741 * genopinit.c (optabs): Implement exp_optab and log_optab
17742 using exp?f2 and log?f2 patterns.
17743 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
17744 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
17745 (expand_builtin): Ignore the new builtins (and all cos and
17746 sin variants) when not optimizing. Expand new builtins via
17747 expand_builtin_mathfn when flag_unsafe_math_optimizations.
17748
17749 * doc/extend.texi: Document new exp and log builtins.
17750 * doc/md.texi: Document new exp?f2 and log?f2 patterns
17751 (and previously undocumented cos?f2 and sin?f2 patterns).
17752
de8920be
JM
177532002-08-03 Jason Merrill <jason@redhat.com>
17754
17755 * explow.c (int_expr_size): New fn.
17756 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
17757 * expr.h: Declare it.
17758
ba462c8e
KW
177592002-08-02 Krister Walfridsson <cato@df.lth.se>
17760
17761 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
17762 gengtype-* dependencies.
17763
2017ed61
EC
177642002-08-02 Eric Christopher <echristo@redhat.com>
17765
17766 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
17767 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
17768 #ifndef to #undef.
17769 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
17770
055dd007
DE
177712002-08-02 David Edelsohn <edelsohn@gnu.org>
17772
17773 PR optimize/7067
17774 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
17775 small if optimizing for size.
17776
771a2a66
DJ
177772002-08-02 Daniel Jacobowitz <drow@mvista.com>
17778
17779 * configure.in (FORBUILD): Use $build_alias.
17780 * configure: Regenerated.
17781
ac8ab9fe
RS
177822002-08-02 Richard Sandiford <rsandifo@redhat.com>
17783
17784 * config.gcc: Don't include mips/abi64.h in $tm_file.
17785 * hard-reg-set.h (call_really_used_regs): Declare.
17786 * config/mips/abi64.h: Remove file.
17787 * config/mips/linux.h,
17788 * config/mips/iris6.h: Don't include it.
17789 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
17790 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
17791 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
17792 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
17793 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
17794 Bring across definitions from abi64.h.
17795 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
17796 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
17797 (struct mips_args): Use it.
17798 * config/mips/mips.c (mips_conditional_register_usage): Define.
17799
a77a9a18
JM
178002002-08-02 Jason Merrill <jason@redhat.com>
17801
17802 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
17803 * langhooks.c (lhd_expr_size): Define default.
17804 * langhooks.h (struct lang_hooks): Add expr_size.
17805 * explow.c (expr_size): Call it.
17806 * expr.c (store_expr): Don't copy an expression of size zero.
17807 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
17808 to store.
17809 * Makefile.in (builtins.o): Depend on langhooks.h.
17810
a6be5aee
KG
178112002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17812
17813 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
17814 * ra-debug.c: Include "tm_p.h".
17815 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
17816
e3e16ee3
TM
178172002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
17818
17819 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
17820 when not honoring signalling NaNs.
17821 (simplify_ternary_operation): a == b has a definite value
17822 when not honoring NaNs.
17823
b9d8832d
JM
178242002-08-02 Jason Merrill <jason@redhat.com>
17825
17826 * gdbinit.in (pct): New macro.
17827
825abef4
SS
178282002-08-01 Stan Shebs <shebs@apple.com>
17829 Andreas Tobler <toa@pop.agri.ch>
17830
17831 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
17832 plays nice with Darwin headers.
bf2e488f 17833 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 17834
56da7207
ZW
178352002-08-01 Zack Weinberg <zack@codesourcery.com>
17836
17837 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
17838 * cppinit.c (cpp_post_options): Likewise.
17839
17840 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
17841 warning about 'LL' suffix (but not 'ULL' etc) when
17842 -Wno-long-long is in effect.
17843
17844 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
17845 Check for failing time()/localtime(), issue a warning, and
17846 make __TIME__ and __DATE__ expand to fallback strings.
17847
17848 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
17849 and __TIME__ when the date and time cannot be determined.
17850
f4857b9b
AM
178512002-08-02 Alan Modra <amodra@bigpond.net.au>
17852
17853 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
17854
77ca7b2e
DJ
178552002-08-01 Daniel Jacobowitz <drow@mvista.com>
17856
17857 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
17858
5b552f76
CD
178592002-08-01 Chris Demetriou <cgd@broadcom.com>
17860
17861 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
17862 (mipsisa64sb1el-*-elf*): Likewise.
17863 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
17864 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
17865 (TARGET_SB1, TUNE_SB1): New macros.
17866 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
17867 -mtune flags.
17868
54fbf6a1
DE
178692002-08-01 David Edelsohn <edelsohn@gnu.org>
17870
17871 * varasm.c (asm_emit_uninitialized): Return false if global BSS
17872 and ASM_EMIT_BSS not supported by target.
17873 (assemble_variable): Do not duplicate uninitialized logic.
17874 Fall through if asm_emit_uninitialized failed.
17875
3d16b407
CD
178762002-08-01 Chris Demetriou <cgd@broadcom.com>
17877
17878 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
17879
fb52d8de
AM
178802002-08-02 Alan Modra <amodra@bigpond.net.au>
17881
80926cc1
AM
17882 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
17883 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
17884
fb52d8de
AM
17885 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
17886 HOST_BITS_PER_WIDE_INT == 64.
17887
a4b5414c
KG
178882002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17889
17890 * df.c (df_insn_table_realloc): Change parameter to unsigned.
17891 * optabs.c (expand_binop): Make variable unsigned.
17892 * simplify-rtx.c (simplify_subreg): Likewise.
17893 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
17894
a03e67c3
FS
178952002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17896
17897 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
17898
de273d3f
RH
178992002-08-01 Richard Henderson <rth@redhat.com>
17900
56da7207 17901 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
17902 flag_reorder_blocks for -Os.
17903
17904 * config/avr/avr.c (avr_optimization_options): Remove.
17905 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
17906 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
17907 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
17908
4e4d733e
L
179092002-08-01 H.J. Lu <hjl@gnu.org>
17910 Richard Henderson <rth@redhat.com>
17911
17912 * output.h (DECL_READONLY_SECTION): Remove.
17913 (decl_readonly_section): Declare.
17914 * varasm.c (decl_readonly_section): New.
17915 (default_section_type_flags, default_select_section): Use it.
17916 * config/arm/pe.c (arm_pe_unique_section): Likewise.
17917 * config/i386/interix.c (i386_pe_unique_section): Likewise.
17918 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
17919 * config/mcore/mcore.c (mcore_unique_section): Likewise.
17920 * config/mips/mips.c (mips_unique_section): Likewise.
17921
32e9b960
RH
179222002-08-01 Richard Henderson <rth@redhat.com>
17923
17924 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
17925 refers to a subroutine parameter.
17926
81e602b5
JJ
179272002-08-01 Jakub Jelinek <jakub@redhat.com>
17928
17929 * varasm.c (assemble_visibility): Strip name encoding.
17930
ac14c725
ID
179312002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
17932
17933 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
17934 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
17935 when there is no frame pointer.
17936 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
17937 registers properly.
17938 * config/ns32k/__unorddf2.c: New file.
17939 * config/ns32k/__unordsf2.c: New file.
17940 * config/ns32k/t-ns32k: New file.
17941 * config.gcc (ns32k-*-netbsd*): Use it.
17942
17072732
AH
179432002-08-01 Aldy Hernandez <aldyh@redhat.com>
17944
17945 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
17946
c288218a
NB
179472002-08-01 Neil Booth <neil@daikokuya.co.uk>
17948
17949 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
17950
43bfc248
BK
179512002-08-01 Benjamin Kosnik <bkoz@redhat.com>
17952
17953 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
17954
479f2cea
RS
179552002-08-01 Richard Sandiford <rsandifo@redhat.com>
17956
17957 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
17958
02280659
ZD
179592002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
17960
17961 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
17962 n_sets): Removed.
17963 (expr_hash_table, set_hash_table): Type changed to ...
17964 (struct hash_table): New type.
17965 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
17966 insert_expr_in_table, insert_set_in_table, compute_hash_table,
17967 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
17968 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
17969 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
17970 (alloc_hash_table): New.
17971 (free_set_hash_table, free_expr_hash_table): Merged to ...
17972 (free_hash_table): New.
17973 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
17974 (compute_hash_table_work): New.
17975 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
17976 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
17977 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
17978 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
17979 hoist_code, one_code_hoisting_pass,
17980 trim_ld_motion_mems): Altered due to changed type of hash tables.
17981
905173eb
ZW
179822002-08-01 Zack Weinberg <zack@codesourcery.com>
17983
17984 * final.c (output_alternate_entry_point):
17985 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
17986
83321d36
KG
179872002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17988
ad0f1765
KG
17989 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
17990 avoid ISO C style function definition.
17991
83321d36
KG
17992 * expr.c (expand_assignment): Delete unused variable.
17993
73e42cf3
TM
179942002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
17995
17996 * c-common.c (cb_register_builtins): Set
17997 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
17998 is given, and to 0 otherwise.
17999 * combine.c (simplify_if_then_else): HONOR_NANS
18000 implies FLOAT_MODE_P.
18001
78df51fe
NB
180022002-08-01 Neil Booth <neil@daikokuya.co.uk>
18003
18004 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
18005 (cpp_handle_option): Don't handle it.
18006 (print_help): Update.
18007 * doc/cppopts.texi: Update.
18008
abecfc8f
NB
180092002-08-01 Neil Booth <neil@daikokuya.co.uk>
18010
18011 * c-common.c (cb_register_builtins): If C++, define
18012 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
18013 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
18014cp:
18015 * lang-specs.h: Simplify in accordance with new code in
18016 c-common.c.
18017
4078b403
NB
180182002-08-01 Neil Booth <neil@daikokuya.co.uk>
18019
18020 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
18021 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
18022 * c-decl.c: Move all warning and flag variables to c-common.c.
18023 * c-format.c: Move all warning variables to c-common.c.
18024 * c-tree.h: Move all warning and flag declarations to c-common.h.
18025 * objc/objc-act.c: Move all warning variables to c-common.c.
18026 (flag_warn_protocol): Rename warn_protocol.
18027
692f5611
JDA
180282002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
18029
18030 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
18031
c7a009a2 180322002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 18033
905173eb 18034 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
18035 .section prefix.
18036
b069de3b
SS
180372002-07-31 Stan Shebs <shebs@apple.com>
18038
18039 * config.gcc (i[34567]86-*-darwin*): New configuration.
18040 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
18041 defining.
18042 (TARGET_ENCODE_SECTION_INFO): Ditto.
18043 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
18044 * config/darwin.c (machopic_indirect_data_reference): Remove
18045 setting of RTX_UNCHANGING_P.
18046 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
18047 not to be applied to sums.
18048 * config/i386/t-darwin: New file.
18049 * config/i386/darwin.h: New file.
18050 * config/i386/i386.h (TARGET_MACHO): Add default definition.
18051 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
18052 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
18053 label and not the GOT add.
18054 (constant_address_p): For Mach-O, seeing a CONST is enough.
18055 (legitimate_pic_address_disp_p): Add a Mach-O case.
18056 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
18057 (legitimize_pic_address): Use generic Mach-O code to legitimize.
18058 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
18059 if outputting a difference.
18060 (ix86_output_addr_diff_elt): Add Mach-O case.
18061 (ix86_expand_move): Similarly.
18062 (ix86_expand_call): Similarly.
18063 (current_machopic_label_num): New global.
18064 (machopic_output_stub): New function.
18065 (ix86_value_regno): New function.
18066 (ix86_function_value): Use it instead of VALUE_REGNO.
18067 (ix86_libcall_value): Ditto.
18068 * config/i386/unix.h (VALUE_REGNO): Remove.
18069
1de4ecb6
GS
180702002-07-31 Graham Stott <grahas@btinternet.com>
18071
18072 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 18073 hash for LABEL_REF's.
1de4ecb6 18074
23368455
GS
180752002-07-31 Graham Stott <grahams@btinternet.com>
18076
18077 * config/rs6000/rs6000.c (spe_init_builtins,
18078 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 18079 Replace ANSI with K&R function def.
23368455 18080
ad72b533
DE
180812002-07-31 David Edelsohn <edelsohn@gnu.org>
18082
18083 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
18084 for CCFPmode.
18085
302359da
RS
180862002-07-31 Richard Sandiford <rsandifo@redhat.com>
18087
18088 * config/mips/crtn.asm: Don't use __mips16 to determine the
18089 return-address offset. Define RA to a suitable temporary
18090 register for the return address.
18091
ead0c1d5
RS
180922002-07-31 Richard Sandiford <rsandifo@redhat.com>
18093
18094 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
18095 constraints to 'd'.
18096
3fb9d48a
CD
180972002-07-30 Chris Demetriou <cgd@broadcom.com>
18098
18099 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
18100 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
18101 patch on 2002-07-29.)
18102 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18103
072cdaed
KG
181042002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18105
506a61b1
KG
18106 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
18107 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
18108 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
18109 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
18110 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
18111 (ASM_GLOBALIZE_LABEL): Delete.
18112 (GLOBAL_ASM_OP): Define.
18113
072cdaed 18114 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 18115
072cdaed
KG
18116 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
18117 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
18118
6fd14075
GK
181192002-07-30 Geoffrey Keating <geoffk@redhat.com>
18120
18121 * doc/extend.texi (Hints implementation): Document that GCC
18122 mostly ignores `register'.
18123
2e8f2e8f
TM
181242002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
18125
18126 * flags.h: Declare flag_finite_math_only.
18127 Use it in definition of HONOR_NANS and
18128 HONOR_INFINITIES.
18129 * c-common.c (cb_register_builtins): Emit
18130 __FINITE_MATH_ONLY__ when flag_finite_math_only
18131 is set.
18132 * combine.c (simplify_if_then_else): If
18133 flag_finite_math_only is set, a == b has a
18134 definite value.
18135 * toplev.c: Initialize flag_finite_math_only.
18136 (set_flags_fast_math): Set it on -ffast-math.
18137 (flag_fast_math_set_p): Test it.
18138 * doc/invoke.texi: Document -ffinite-math-only.
18139
a538e580
RH
181402002-07-30 Richard Henderson <rth@redhat.com>
18141
18142 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
18143 (noce_process_if_block): Likewise.
18144
26e20555
BS
181452002-07-30 Bernd Schmidt <bernds@redhat.com>
18146
18147 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
18148 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
18149 * genemit.c (gen_expand): Recognize return insns even if the return
18150 appears in a parallel.
d8088c6f
BS
18151 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
18152 * config/fp-bit.c: Likewise.
18153 * doc/tm.texi: Document it.
905173eb 18154
0559cc77
DE
181552002-07-30 David Edelsohn <edelsohn@gnu.org>
18156 Zack Weinberg <zack@codesourcery.com>
18157
18158 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
18159 CODE_FOR_nothing. Change switch to if.
18160 (rs6000_expand_binop_builtin): Same.
18161 (rs6000_expand_builtin): Expand builtin if target support enabled.
18162 (rs6000_init_builtins): Init builtin if target support enabled.
18163 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
18164
60b8aa94
FS
181652002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18166
18167 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
18168
714fb710
RS
181692002-07-30 Richard Sandiford <rsandifo@redhat.com>
18170
18171 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
18172
c608a684
R
18173Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
18174
18175 * sh.md (cond_delay_slot): New attribute.
18176 (cbranch delay): Use it for anulled-true case.
18177 (stuff_delay_slot): New pattern.
18178 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
18179 delay slot insn.
18180 (gen_far_branch): Emit stuff_delay_slot pattern.
18181
0a756401
R
18182Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
18183
18184 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
18185
68e82b83
KH
181862002-07-30 Kazu Hirata <kazu@cs.umass.edu>
18187
18188 * fold-const.c: Fix comment typos.
18189 * gcse.c: Likewise.
18190 * reload1.c: Likewise.
18191
fe6b547a
AH
181922002-07-29 Aldy Hernandez <aldyh@redhat.com>
18193
18194 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
18195 for TARGET_SPE.
18196
7ff4a7ef
GDR
181972002-07-30 Gabriel Dos Reis <gdr@nerim.net>
18198
18199 * c-pretty-print.h (pp_c_statement): Declare.
18200 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
18201 (pp_c_statement): Define.
18202
4ad5e05d
KG
182032002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18204
18205 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
18206 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
18207 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
18208 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
18209 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
18210 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
18211
18212 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
18213 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
18214
1e6a3e1e
GDR
182152002-07-30 Gabriel Dos Reis <gdr@nerim.net>
18216
18217 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
18218 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
18219 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
18220 (pp_c_expression): Update.
18221
1dcd444b
KG
182222002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18223
18224 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
18225 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
18226 * alpha/vms-ld.c (main): Likewise.
18227 * dsp16xx.c (double_reg_to_memory): Likewise.
18228 * mcore.c (mcore_expand_prolog): Likewise.
18229 * cppfiles.c (read_name_map): Likewise.
18230 * gensupport.c (process_rtx, identify_predicable_attribute,
18231 alter_test_for_insn): Likewise.
18232 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
18233
e62f4abc
RS
182342002-07-29 Roger Sayle <roger@eyesopen.com>
18235
18236 * builtins.c (expand_builtin): Change the default behavior to
905173eb 18237 only issue an error if the builtin function doesn't have a
e62f4abc
RS
18238 fallback library call. Remove several cases handled by the
18239 new default.
18240
0cd2fb44
JDA
182412002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
18242
18243 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
18244 floating point format of the target is IEEE.
18245 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
18246 format of the target is DEC.
18247
b642261e
RH
182482002-07-29 Richard Henderson <rth@redhat.com>
18249
18250 * unroll.c (verify_addresses): Remove.
18251 (find_splittable_givs): Never split DEST_ADDR givs.
18252
cba57c9d
GK
182532002-07-29 Geoffrey Keating <geoffk@redhat.com>
18254
18255 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
18256 is exhaustive.
18257 (Files): Improve documentation on generated source files.
18258
18259 * doc/extend.texi (Translation implementation): Document what
18260 diagnostics look like.
18261 (Identifiers implementation): Document that there's normally no
18262 limit on identifier names.
18263 (Integers implementation): Document two's complement.
8d9afc4e 18264 (Hints implementation): Document that GCC honors 'inline', mostly.
cba57c9d
GK
18265 (Preprocessing directives implementation): Document that GCC
18266 requires the current time.
18267
76a8ecba
GDR
182682002-07-30 Gabriel Dos Reis <gdr@nerim.net>
18269
18270 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
18271 (pp_initializer): New macro.
18272 (pp_c_initializer): Declare.
18273 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
18274 (pp_c_initializer): Define.
18275 (pp_c_initializer_list): New function.
18276 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
18277 VECTOR_CST, CONSTRUCTOR.
18278 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 18279 IMAGPART_EXPR.
76a8ecba
GDR
18280 (pp_c_cast_expression): Handle FLOAT_EXPR.
18281 (pp_c_assignment_expression): Handle INIT_EXPR.
18282 (pp_c_expression): Update.
18283
4307be72
NB
182842002-07-30 Neil Booth <neil@daikokuya.co.uk>
18285
18286 * objc/objc-act.c (objc_init): Return immediately if filename
18287 is NULL.
18288
6d439235
EC
182892002-07-29 Eric Christopher <echristo@redhat.com>
18290
905173eb
ZW
18291 * config/mips/elf.h: Remove ecoff.h and gofast includes.
18292 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
18293 (SDB_DEBUGGING_INFO): Undefine.
18294 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
18295 (PUT_SDB_SIZE): Remove.
18296 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
18297 (STARTFILE_SPEC): Add isa3264 define.
18298 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
18299 * config/mips/ecoff.h: Remove. and here...
18300 * config/mips/iris3.h: and here...
18301 * config/mips/sni-svr4.h: and here...
18302 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
18303 Add assembler -mmdebug options for non-dwarf debugging.
18304 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
18305 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
18306 * config/mips/isa3264.h: Ditto.
18307 * config/mips/t-isa3264: Fix up for file removal and gofast configure
18308 change.
18309 * config/mips/t-elf: Ditto.
18310 * config/mips/t-ecoff: Ditto.
18311 * config/mips/t-r3900: Ditto.
18312 * config/mips/t-iris5-6: Ditto.
18313 * config/mips/t-isa3264: Ditto.
18314 * config/mips/t-linux: Remove.
18315 * config/mips/t-netbsd: Remove.
18316 * config/mips/t-mips: New file.
18317 * config/mips/t-gofast: Ditto.
18318 * config/mips/netbsd.h: Remove unnecessary undefines.
18319 * config/mips/linux.h: Remove #include of mips.h.
18320 * config.gcc: Add mips.h include for elf targets. Remove tm_file
18321 for ecoff. Add gofast configure option for mips.
6d439235 18322
4357a6c3
CD
183232002-07-29 Chris Demetriou <cgd@broadcom.com>
18324
18325 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
18326 linker scripts use STARTUP directives consistently.
18327 * configure: Regenerate.
18328 * config.in: Regenerate.
18329 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
18330 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
18331 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18332 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
18333 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
18334 will be the same.
18335
9a5cd606
AH
183362002-07-29 Aldy Hernandez <aldyh@redhat.com>
18337
18338 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
18339
a23acaa6
AH
183402002-07-29 Aldy Hernandez <aldyh@redhat.com>
18341
18342 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
18343
10ed84db
AH
183442002-07-29 Aldy Hernandez <aldy@quesejoda.com>
18345
18346 * config/rs6000/rs6000.md: Move altivec patterns from here...
18347
18348 * config/rs6000/altivec.md: ...to here.
18349
c3021e5d
AH
183502002-07-29 Aldy Hernandez <aldyh@redhat.com>
18351
18352 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
18353
6f1087be
RH
183542002-07-29 Richard Henderson <rth@redhat.com>
18355
18356 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
18357 set_mem_attributes and add BITPOS argument. Subtract it from
18358 OFFSET when same is adjusted.
18359 (set_mem_attributes): New wrapper function.
18360 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
18361 remove offset adjustment hack.
18362 * expr.h (set_mem_attributes_minus_bitpos): Declare.
18363
61ccbcfd
GDR
183642002-07-29 Gabriel Dos Reis <gdr@nerim.net>
18365
18366 * Makefile.in (C_OBJS): Include c-pretty-print.o
18367 (c-pretty-print.o): Add depency rule.
18368 * pretty-print.h: Add more macros.
18369 * c-pretty-print.c: New file.
18370 * c-pretty-print.h: Likewise.
18371
09101f56
AH
183722002-07-29 Aldy Hernandez <aldyh@redhat.com>
18373
18374 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
18375 constants to __ev64_s32__.
18376 (__internal_ev_mwhgsmian): Same.
18377 (__internal_ev_mwhgsmfan): Same.
18378 (__internal_ev_mwhgssfan): Same.
18379 (__internal_ev_mwhgumiaa): Same.
18380 (__internal_ev_mwhgsmiaa): Same.
18381 (__internal_ev_mwhgsmfaa): Same.
18382 (__internal_ev_mwhgssfaa): Same.
18383
af673a52
DE
183842002-07-29 David Edelsohn <edelsohn@gnu.org>
18385
18386 * varasm.c (assemble_variable): Narrow test for uninitialized
18387 without BSS target support.
18388
6c208acd
NS
183892002-07-29 Nathan Sidwell <nathan@codesourcery.com>
18390
18391 * profile.c: Add file comment describing the overall algorithm and
18392 structures.
18393 (struct edge_info): Add comments.
18394 (struct bb_info): Add comments.
18395 * basic-block.h (EDGE_*): Add comments.
18396 * doc/gcov.texi (Gcov Data Files): Document bit flags.
18397
624f0d60
BW
183982002-07-29 Bob Wilson <bob.wilson@acm.org>
18399
18400 * config/xtensa/elf.h, config/xtensa/linux.h
18401 (TARGET_OS_CPP_BUILTINS): Define.
18402 (CPP_PREDEFINES): Remove.
18403 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
18404 (CPP_SPEC): Remove.
18405
2199e5fa
ZW
184062002-07-29 Zack Weinberg <zack@codesourcery.com>
18407
18408 * gensupport.c: Include hashtab.h.
18409 (insn_elision, condition_table, hash_c_test, cmp_c_test,
18410 maybe_eval_c_test): New routines and data structures to
18411 support insn elision.
18412 (init_md_reader): Read and initialize the condition_table.
18413 (read_md_rtx): Discard insn patterns whose C test is provably
18414 always false.
18415 * gensupport.h: Declare new functions and data structures.
18416
18417 * genconditions.c, dummy-conditions.c: New files.
18418 * Makefile.in: Build genconditions; run it to construct
18419 insn-conditions.c; build that and link it into most gen*
18420 programs.
18421 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
18422 (GEN): Delete, unused.
18423 (STAGESTUFF): Update.
18424
18425 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
18426 CODE_FOR_nothing for all elided patterns.
18427 (main): Tweaked to support this.
18428 * genflags.c (gen_proto): Emit a static inline generator
18429 function here for all elided patterns, which simply returns
18430 NULL_RTX.
18431 (gen_insn): Do not define HAVE_xxx for elided patterns.
18432 (main): Tweaked to support this. No need to forward-declare
18433 struct rtx_def.
18434 * genrecog.c: Do not bother emitting the C test if it's known
18435 to be true at compile time.
18436
6ab185d6
MS
184372002-07-29 Mike Stump <mrs@apple.com>
18438
6d439235 18439 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 18440 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 18441
72b075d1
RE
184422002-07-29 Richard Earnshaw <rearnsha@arm.com>
18443
18444 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
18445 remove clobber of LR.
18446 (sibcall_insn, sibcall_value_insn): Update accordingly.
18447 (sibcall_epilogue): Remove debugging comment from assembler stream.
18448
f63c45ec
GDR
184492002-07-29 Gabriel Dos Reis <gdr@nerim.net>
18450
18451 * pretty-print.h: Define more macros.
18452 * diagnostic.h (output_formatted_integer): Moved from...
18453 * diagnostic.c: ... here.
18454
c27c15db
KG
184552002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18456
18457 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
18458
99086d59
ZW
184592002-07-28 Zack Weinberg <zack@codesourcery.com>
18460
18461 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
18462 arguments. Always use ".-symbol" as expression argument.
18463 * doc/tm.texi: Update to match. Document requirement for
18464 ".size symbol, .-symbol" to be acceptable to assembler.
18465
18466 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18467 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
18468 config/i386/freebsd-aout.h, config/i386/sco5.h,
18469 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
18470 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
18471
dd86aabf
KG
184722002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18473
6fd327e9
KG
18474 * Makefile.in (gengtype-lex.c): Fix error in last change.
18475
8155cedd
KG
18476 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
18477 backslash.
18478
dd86aabf
KG
18479 * Makefile.in (vmsdbgout.o): Depend on function.h.
18480
18481 * vmsdbgout.c: Include function.h.
18482
d4348177
AM
184832002-07-28 Alan Modra <amodra@bigpond.net.au>
18484
18485 * prefix.c (update_path): Don't strip single `.' path components
18486 unless stripping a later `..' component. Exit loop as soon as
18487 a valid path is found.
18488
c2ef6d34
RS
184892002-07-27 Roger Sayle <roger@eyesopen.com>
18490
18491 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
18492 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
18493 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
18494 floating point unordered comparisons (e.g. __builtin_isgreater)
18495 as const, and leave the remaining GCC_BUILTINs unchanged.
18496
18497 * c-decl.c (builtin_function): No need to explicitly mark
18498 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
18499
52bfebf0
RS
185002002-07-27 Roger Sayle <roger@eyesopen.com>
18501
18502 * Makefile.in: rtlanal.o now depends upon real.h.
18503
18504 * flags.h [flag_signaling_nans]: New flag.
18505 [HONOR_SNANS]: New macro.
18506
18507 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 18508 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
18509 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
18510 (process_options): flag_signaling_nans implies flag_trapping_math.
18511
18512 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
18513 when -fsignaling-nans. First step to implementing WG14's N965.
18514
18515 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
18516 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
18517 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
18518
18519 * simplify-rtx.c (simplify_relational_operation): Conditionalize
18520 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
18521
18522 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
18523 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
18524 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
18525 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
18526 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
18527
18528 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
18529
e66f55b8
KG
185302002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18531
18532 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
18533 * gengtype-lex.l (YY_USE_PROTOS): Undef.
18534 (YY_DECL): Define.
18535
a3926fe1
RS
185362002-07-27 Roger Sayle <roger@eyesopen.com>
18537
18538 * doc/invoke.texi: Document that both -fno-builtin-foo and
18539 -fno-builtin are supported by the g++ front-end.
18540
ef69da62
SS
185412002-07-27 Stan Shebs <shebs@apple.com>
18542
18543 * configure.in: Rename config_gtfiles to target_gtfiles.
18544 * configure: Regenerate.
18545 * doc/gty.texi: Update reference.
18546 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
18547 instead of appending to it.
18548
a4b0320c
AH
185492002-07-25 Aldy Hernandez <aldyh@redhat.com>
18550
18551 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
18552 vectors are split into two registers.
18553 (function_arg): Same.
18554
c427db5d
R
18555Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
18556
18557 * pa.md (extv): Check predicates before emitting extv_32.
18558
57ac7be9
AM
185592002-07-27 Alan Modra <amodra@bigpond.net.au>
18560
18561 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
18562 (rs6000_traceback): New var.
18563 (rs6000_override_options): Set rs6000_traceback.
18564 (rs6000_output_function_epilogue): Implement traceback options.
18565 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
18566 (rs6000_traceback_name): Declare.
18567
18568 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
18569 label reference when NO_PROFILE_COUNTERS.
18570
8e51619a
JM
185712002-07-26 Jason Merrill <jason@redhat.com>
18572
18573 * function.c (assign_parms): Handle frontend-directed pass by
18574 invisible reference.
18575
b41f25cf
NB
185762002-07-26 Neil Booth <neil@daikokuya.co.uk>
18577
18578 * doc/cppopts.texi: Update.
18579
c2734e05
NB
185802002-07-26 Neil Booth <neil@daikokuya.co.uk>
18581
18582 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
18583 warnings on assertions.
18584
c372b0fa
NB
185852002-07-26 Neil Booth <neil@daikokuya.co.uk>
18586
18587 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
18588 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
18589 RID_COMPL): Remove.
18590 * c-parse.in (rid_to_yy): Similarly.
18591
558ee214
JM
185922002-07-26 Jason Merrill <jason@redhat.com>
18593
18594 * c-dump.c: Resurrect.
18595 * tree-dump.c: Move C-specific stuff to c-dump.c.
18596 * c-common.h: Declare c_dump_tree.
18597 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
18598 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
18599 (c-dump.o): New rule.
18600
ce71f754
AM
186012002-07-26 Alan Modra <amodra@bigpond.net.au>
18602
18603 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
18604 PowerPC64. Replace "T" and "S" constraints with "n" when the
18605 predicate will do. Formatting fixes.
18606 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
18607 as for extzvsi_internal1.
18608
e179e7d7
NB
186092002-07-25 Neil Booth <neil@daikokuya.co.uk>
18610
18611 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
18612 DERIV_END_LABEL_FMT): Remove.
18613 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
18614
a2056183
NB
186152002-07-25 Neil Booth <neil@daikokuya.co.uk>
18616
18617 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
18618 Remove.
18619
308c142a
SS
186202002-07-25 Stan Shebs <shebs@apple.com>
18621
18622 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
18623 local var dwarfp.
18624 (output_compiler_stub): Remove unused locals.
18625 (output_call): Always initialize line number.
18626
59324685
R
18627Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
18628
18629 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
18630 * sh.md (truncdiqi2, movqi_media): Likewise.
18631
77bbd421
NB
186322002-07-25 Neil Booth <neil@daikokuya.co.uk>
18633
18634 * gcse.c (obstack_chunk_alloc): Remove.
18635 (gcse_alloc): Fix to count allocated bytes.
18636 * collect2.c (SYMBOL__MAIN): Remove.
18637
7bad45b0
NB
186382002-07-25 Neil Booth <neil@daikokuya.co.uk>
18639
18640 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
18641 HAVE_TARGET_EXECUTABLE_SUFFIX.
18642
184166b5
R
18643Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
18644
18645 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
18646 SIZE, EXPR and OFFSET.
18647
40cb04f1
RH
186482002-07-25 Richard Henderson <rth@redhat.com>
18649
18650 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
18651 in ARRAY_REF of DECL_P case.
18652
a27fb29b
RS
186532002-07-25 Richard Sandiford <rsandifo@redhat.com>
18654
18655 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
18656 description. Document -mips32, -mips64, and the associated -march
18657 values. Describe the "mipsN" arguments to -march. Say that the
18658 -mipsN options are equivalent to -march. Reword the description
18659 of default type sizes.
18660 * toplev.h (target_flags_explicit): Declare.
18661 * toplev.c (target_flags_explicit): New var.
18662 (set_target_switch): Update target_flags_explicit.
18663 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
18664 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
18665 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
18666 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
18667 * config/mips/mips.h (mips_cpu_info): New struct.
18668 (mips_cpu_string, mips_explicit_type_size_string): Remove.
18669 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
18670 (MIPS_CPP_SET_PROCESSOR): New macro.
18671 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
18672 Define _MIPS_ARCH and _MIPS_TUNE.
18673 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
18674 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
18675 MIPS_ISA_DEFAULT were already defined.
18676 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
18677 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
18678 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
18679 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
18680 (ABI_GAS_ASM_SPEC): Remove.
18681 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
18682 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
18683 Invoke %(asm_abi_default_spec) if no ABI was specified.
18684 (CC1_SPEC): Remove ISA -> register-size rules.
18685 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
18686 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
18687 (mips_cpu_string, mips_explicit_type_size_string): Remove.
18688 (mips_cpu_info_table): New array.
18689 (mips_set_architecture, mips_set_tune): New fns.
18690 (override_options): Rework to make -mipsN equivalent to -march.
18691 Detect more erroneous cases, including those removed from CC1_SPEC.
18692 Don't change the ABI based on architecture, or vice versa.
18693 Unify logic with GAS.
18694 (mips_asm_file_start): Get architecture name from mips_arch_info.
18695 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
18696 (mips_parse_cpu): Take the name of the option as argument. Handle
18697 'from-abi'. Raise an error if the option is wrong.
18698 (mips_cpu_info_from_isa): New fn.
18699
6bbdc759
RS
187002002-07-25 Richard Sandiford <rsandifo@redhat.com>
18701
18702 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
18703 (tablejump_mips162): Likewise.
18704
80a62484
R
18705Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
18706
18707 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
18708 int_mode_for_mode.
18709
ea793912
GDR
187102002-07-25 Gabriel Dos Reis <gdr@nerim.net>
18711
18712 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 18713 complaining.
ea793912
GDR
18714 * c-common.h (c_sizeof): Adjust definition.
18715 (c_alignof): Likewise.
18716 * c-tree.h (c_sizeof_nowarn): Now macro.
18717 * c-typeck.c (c_sizeof_nowarn): Remove definition.
18718
2d615444
NB
187192002-07-25 Neil Booth <neil@daikokuya.co.uk>
18720
18721 * c-decl.c (c_decode_option): No need to handle switches
18722 cpplib handles.
18723
2be2ac70
ZW
187242002-07-24 Zack Weinberg <zack@codesourcery.com>
18725
18726 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
18727 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
18728 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
18729 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18730
18731 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18732 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
18733 config/cris/aout.h, config/i386/freebsd-aout.h,
18734 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
18735 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
18736 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
18737 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
18738 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
18739 config/xtensa/elf.h, config/xtensa/linux.h:
18740 Use the new macros.
18741 Where possible, remove redundant definitions of SIZE_ASM_OP,
18742 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18743
518878e1
AH
187442002-07-24 Aldy Hernandez <aldyh@redhat.com>
18745
18746 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
18747 TARGET_ISEL, and TARGET_FPRS.
99086d59 18748
518878e1
AH
18749 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
18750 -mabi=spe, -mabi=no-spe, and -misel=.
18751
18752 * config/rs6000/rs6000-protos.h: Add output_isel.
18753 Move vrsave_operation prototype here.
18754
18755 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
18756 (smaxsi3): Same.
18757 (uminsi3): Same.
18758 (umaxsi3): Same.
18759 (abssi2_nopower): Disallow when TARGET_ISEL.
18760 (*ne0): Same.
18761 (negsf2): Change to expand and rename old pattern to *negsf2.
18762 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 18763
518878e1
AH
18764 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
18765 fixunssfsi2.
18766
18767 Change patterns that check for TARGET_HARD_FLOAT or
18768 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
18769
18770 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
18771 rs6000_isel, rs6000_fprs, rs6000_isel_string.
18772 (rs6000_override_options): Add 8540 case to
18773 processor_target_table.
18774 Set rs6000_isel for the 8540.
18775 Call rs6000_parse_isel_option.
18776 (enable_mask_for_builtins): New.
18777 (rs6000_parse_isel_option): New.
18778 (rs6000_parse_abi_options): Add spe and no-spe.
18779 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
18780 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
18781 for TARGET_HARD_FLOAT.
18782 Add case for SPE_VECTOR_MODE.
18783 (rs6000_legitimize_reload_address): Handle SPE vector modes.
18784 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
18785 vector modes.
18786 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
18787 (rs6000_emit_move): Check for TARGET_FPRS.
18788 Add cases for SPE vector modes.
18789 (function_arg_boundary): Return 64 for SPE vector modes.
18790 (function_arg_advance): Check for TARGET_FPRS and
18791 Handle SPE vectors.
18792 (function_arg): Same.
18793 (setup_incoming_varargs): Check for TARGET_FPRS.
18794 (rs6000_va_arg): Same.
18795 (struct builtin_description): Un-constify mask field. Move up in
18796 file.
18797 (bdesc_2arg): Un-constify and add SPE builtins.
18798 (bdesc_1arg): Same.
18799 (bdesc_spe_predicates): New.
18800 (bdesc_spe_evsel): New.
18801 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
18802 (rs6000_expand_binop_builtin): Same.
18803 (bdesc_2arg_spe): New.
18804 (spe_expand_builtin): New.
18805 (spe_expand_predicate_builtin): New.
18806 (spe_expand_evsel_builtin): New.
18807 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
18808 (rs6000_init_builtins): Initialize SPE builtins. Call
18809 rs6000_common_init_builtins.
18810 (altivec_init_builtins): Move all non-altivec builtin code to...
18811 (rs6000_common_init_builtins): ...here. New function.
18812 (branch_positive_comparison_operator): Allow NE code for SPE.
18813 (ccr_bit): Return correct ccr bit for SPE fp.
18814 (print_operand): Emit crnor in 'D' case for SPE.
18815 New case 't'.
18816 Add SPE code for 'y' case.
18817 (rs6000_generate_compare): Generate rtl for SPE fp.
18818 (output_cbranch): Handle SPE hard floats.
18819 (rs6000_emit_cmove): Handle isel.
18820 (rs6000_emit_int_cmove): New.
18821 (output_isel): New.
18822 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
18823 64-bits for SPE.
18824 (debug_stack_info): Add SPE info.
18825 (gen_frame_mem_offset): New.
18826 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
18827 Change mode of frame pointer, when saving it, to Pmode.
18828 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
18829 Misc cleanups and use gen_frame_mem_offset when appropriate.
18830
18831 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
18832 (TARGET_SPE_ABI): New.
18833 (TARGET_SPE): New.
18834 (TARGET_ISEL): New.
18835 (TARGET_FPRS): New.
18836 (FIXED_SCRATCH): New.
18837 (RTX_COSTS): Add PROCESSOR_PPC8540.
18838 (ASM_CPU_SPEC): Add case for 8540.
18839 (TARGET_OPTIONS): Add isel= case.
18840 (rs6000_spe_abi): New.
18841 (rs6000_isel): New.
18842 (rs6000_fprs): New.
18843 (rs6000_isel_string): New.
18844 (UNITS_PER_SPE_WORD): New.
18845 (LOCAL_ALIGNMENT): Adjust for SPE.
18846 (HARD_REGNO_MODE_OK): Same.
18847 (DATA_ALIGNMENT): Same.
18848 (MEMBER_TYPE_FORCES_BLK): New.
18849 (FIRST_PSEUDO_REGISTER): Set to 113.
18850 (FIXED_REGISTERS): Add SPE registers.
18851 (reg_class): Same.
18852 (REG_CLASS_NAMES): Same.
18853 (REG_CLASS_CONTENTS): Same.
18854 (REGNO_REG_CLASS): Same.
18855 (REGISTER_NAMES): Same.
18856 (DEBUG_REGISTER_NAMES): Same.
18857 (ADDITIONAL_REGISTER_NAMES): Same.
18858 (CALL_USED_REGISTERS): Same.
18859 (CALL_REALLY_USED_REGISTERS): Same.
18860 (SPE_ACC_REGNO): New.
18861 (SPEFSCR_REGNO): New.
18862 (SPE_SIMD_REGNO_P): New.
18863 (HARD_REGNO_NREGS): Adjust for SPE.
18864 (VECTOR_MODE_SUPPORTED_P): Same.
18865 (REGNO_REG_CLASS): Same.
18866 (FUNCTION_VALUE): Same.
18867 (LIBCALL_VALUE): Same.
18868 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
18869 (SPE_VECTOR_MODE): New.
18870 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
18871 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
18872 (rs6000_stack): Add spe_gp_size, spe_padding_size,
18873 spe_gp_save_offset.
18874 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
18875 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
18876 (SPE_CONST_OFFSET_OK): New.
18877 (rs6000_builtins): Add SPE builtins.
18878
18879 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 18880
518878e1
AH
18881 * config/rs6000/eabispe.h: New.
18882
18883 * config/rs6000/spe.h: New.
18884
18885 * config/rs600/spe.md: New.
18886
18887 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
18888 __SIMD__ for TARGET_SPE.
18889
18890 * config.gcc: Add powerpc-*-eabispe* case.
18891 Add spe.h to user headers for powerpc.
18892
8d1b7ba1
CD
188932002-07-24 Chris Demetriou <cgd@broadcom.com>
18894
18895 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
18896 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18897 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
18898
8ad8135a
RH
188992002-07-24 Richard Henderson <rth@redhat.com>
18900
18901 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
18902 form when not optimizing.
18903
dc44a4d8
DM
189042002-07-24 David Mosberger <davidm@hpl.hp.com>
18905
18906 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
18907 thread_pointer_rtx as unchanging.
18908
c5605318
MM
189092002-07-24 Michael Matz <matz@suse.de>
18910
18911 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
18912 (free_reg): Use it.
18913
3ade30ea
RE
189142002-07-24 Richard Earnshaw <rearnsha@arm.com>
18915
18916 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
18917 pattern.
18918 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
18919 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
18920
8a3ad737
CD
189212002-07-24 Chris Demetriou <cgd@broadcom.com>
18922
18923 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
18924 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18925 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
18926
7e51e626
JH
18927Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
18928
18929 * toplev.c (rest_of_compilation): Dump loops before clobbering
18930 the structure.
18931
5df533b3
JH
18932Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
18933
18934 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
18935
79258dce
RS
189362002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
18937
18938 PR optimization/7291
18939 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
18940 problem on x86_64.
18941
26ff2117
GDR
189422002-07-24 Gabriel Dos Reis <gdr@nerim.net>
18943
18944 * pretty-print.h: Add macros from cp/error.c
18945
0ba1b2ff
AM
189462002-07-24 Alan Modra <amodra@bigpond.net.au>
18947
18948 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
18949 (mask64_2_operand): Declare.
18950 (build_mask64_2_operands): Declare.
18951 (and64_2_operand): Declare.
18952 (extract_MB): Declare.
18953 (extract_ME): Declare.
18954 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
18955 CONST_DOUBLE code.
18956 (mask_operand_wrap): New insn predicate.
18957 (mask64_2_operand): Likewise.
18958 (and64_2_operand): Likewise.
18959 (build_mask64_2_operands): New function.
18960 (extract_MB): New function.
18961 (extract_ME): New function.
18962 (print_operand <case m,M>): Use extract_MB and extract_ME.
18963 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
18964 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
18965 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
18966 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
18967 * config/rs6000/rs6000.md (andsi3_internal3): New
18968 (andsi3_internal3+1): Enable split for powerpc64.
18969 (andsi3_internal3+2): New split.
18970 (andsi3_internal4): Renamed old andsi3_internal3.
18971 (andsi3_internal5): New.
18972 (andsi3_internal5+1): Enable split for powerpc64.
18973 (andsi3_internal5+2): New split.
18974 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
18975 (anddi3): Handle 't' constraint.
18976 (anddi3+1): New split.
18977 (anddi3_internal2): Handle 't' constraint.
18978 (anddi3_internal2+1): New split.
18979 (anddi3_internal3): Handle 't' constraint.
18980 (anddi3_internal3+1): New split.
18981
097657c3
AM
189822002-07-24 Alan Modra <amodra@bigpond.net.au>
18983
18984 * config/rs6000/rs6000.md: Remove scratch reg on insns using
18985 addze and similar (plus (comparison r1 r2) r3) insns. Add
18986 missing scratch reg in one case. Formatting fixes.
18987
a69cbaac
NB
189882002-07-24 Neil Booth <neil@daikokuya.co.uk>
18989
18990 * cppexp.c (parse_defined): Mark macro used.
18991 * cpphash.h (struct cpp_macro): New member "used".
18992 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
18993 (struct cpp_reader): New member.
18994 * cppinit.c (cpp_finish_options): Set first_unused_line.
18995 (cpp_finish): Warn of unused macros if requested.
18996 (OPT_TABLE): New switches.
18997 (cpp_handle_option): Handle them.
18998 * cpplib.c (do_undef): Warn if macro unused.
18999 (do_ifdef, do_ifndef): Mark macro used.
19000 * cpplib.h (struct cpp_options): New member.
19001 * cppmacro.c (_cpp_warn_if_unused_macro): New.
19002 (enter_macro_context): Mark macro used.
19003 (_cpp_create_definition): Mark macro unused; warn if unused
19004 when redefined.
19005 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
19006 Mark macros used.
19007 * doc/cppopts.texi: Update.
19008
c0667597
NB
190092002-07-23 Neil Booth <neil@daikokuya.co.uk>
19010
19011 * dwarf2out.c (SECTION_ASM_OP,
19012 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19013 * system.h (SECTION_ASM_OP): Poison.
19014 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
19015 * config/alpha/alpha-interix.h, config/mips/linux.h
19016 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19017 * config/mmix/mmix-protos.h, config/mmix/mmix.c
19018 (mmix_asm_output_define_label_difference_symbol): Remove.
19019 * config/mmix/mmix.h
19020 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 19021 * doc/tm.texi: Remove documentation.
c0667597 19022
bf7cd754
R
19023Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
19024
19025 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
19026 (constrain_operands): Likewise.
19027 * regclass.c (record_reg_classes): Likewise.
19028 * reload.c (find_reloads): Likewise.
19029 * doc/md.texi: Likewise.
451f86fd
R
19030
19031 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
19032 * simplify-rtx.c (simplify_subreg): When converting to a non-int
19033 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
19034
19035 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
19036 from individual subregs, check that each subreg has been generated
19037 sucessfully.
19038
10d6af32
NB
190392002-07-23 Neil Booth <neil@daikokuya.co.uk>
19040
19041 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
19042 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
19043 FOR_EACH_BB_IN_SBITMAP): Remove.
19044 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
19045 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
19046 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
19047 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
19048 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
19049 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
19050
6aaae39a
GDR
190512002-07-23 Gabriel Dos Reis <gdr@nerim.net>
19052
19053 * pretty-print.h: New file.
19054
45e574d0
JDA
190552002-07-23 Paul Koning <pkoning@equallogic.com>
19056
19057 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
19058 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
19059 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
19060 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 19061 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
19062 to internal form.
19063 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
19064 vs. others.
19065 (e113toe): Change to use ieeetoe.
19066
190672002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
19068
19069 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
19070 IBM.
19071 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
19072 (e64toe): Remove special cases for DEC and IBM. Remove support for
19073 ARM_EXTENDED_IEEE_FORMAT.
19074 (e24toe): Remove special cases for DEC.
19075 (significand_size): Simplify. Indent.
19076 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
19077 (etoieee, toieee): New.
19078 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
19079 etoieee and toieee for IEEE arithmetic.
19080
3764f879
GDR
190812002-07-23 Gabriel Dos Reis <gdr@nerim.net>
19082
19083 * doc/extend.texi: Say ISO C90, not ISO C89.
19084 * doc/invoke.texi: Likewise.
19085 * doc/standards.texi: Likewise.
19086
aa0f70e6
SE
190872002-07-23 Steve Ellcey <sje@cup.hp.com>
19088
19089 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
19090 Fix permutation of conversion and plus/mult.
19091 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
19092 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
19093 (expand_builtin_strncpy) Ditto.
19094 (expand_builtin_memset) Ditto.
19095
fa72b064
GDR
190962002-07-23 Gabriel Dos Reis <gdr@nerim.net>
19097
19098 Fix PR/7363:
19099 * c-common.c (c_sizeof_or_alignof_type): New function.
19100 (c_alignof): Remove definition.
19101 * c-common.h (c_sizeof, c_alignof): Define as macros.
19102 (c_sizeof_or_alignof_type): Declare.
19103 (my_friendly_assert): Moved from cp/cp-tree.h
19104 * c-typeck.c (c_sizeof): Remove definition.
19105
2b773ee2
JH
191062002-07-23 Jan Hubicka <jh@suse.cz>
19107
19108 * gcse.c (try_replace_reg): Use num_changes_pending.
19109 * recog.c (num_changes_pending): New function.
19110 (validate_replace_src): Use validate_repalce_src_group.
19111 (validate_replace_src_group): New.
19112 * recog.h (validate_repalce_src_group): New.
19113 (num_changes_pending): Likewise.
19114
a0dc500c
R
19115Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
19116
19117 * calls.c (emit_library_call_value_1): If
19118 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
19119 libcall, const call nor pure call.
19120
d22eda7b
NB
191212002-07-23 Neil Booth <neil@daikokuya.co.uk>
19122
19123 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
19124
b5e66e65
NB
191252002-07-23 Neil Booth <neil@daikokuya.co.uk>
19126
19127 * vmsdbgout.c (SECTION_ASM_OP): Remove.
19128
c3a600c0
NB
191292002-07-23 Neil Booth <neil@daikokuya.co.uk>
19130
19131 * config/i386/i386.c (AT_BP): Remove.
19132
4fa31c2a
NB
191332002-07-23 Neil Booth <neil@daikokuya.co.uk>
19134
19135 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
19136 Default definition.
19137 * gcse.c: Don't define obstack_chunk_free.
19138 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
19139 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
19140 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
19141 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
19142 Don't define obstack macros.
19143
fd576c86
SC
191442002-07-22 Stephane Carrez <stcarrez@nerim.fr>
19145
19146 PR target/6744
19147 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
19148 ASM_OPERANDS instructions.
19149
b791ff31
SC
191502002-07-22 Stephane Carrez <stcarrez@nerim.fr>
19151
19152 PR target/7361
19153 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
19154 constant addresses only on 68HC12.
19155
4a941115
NB
191562002-07-22 Neil Booth <neil@daikokuya.co.uk>
19157
19158 * cppfiles.c (stack_include_file): Correct test of whether
19159 a dependency should be output.
19160
7488cc6d
DE
191612002-07-22 David Edelsohn <edelsohn@gnu.org>
19162
19163 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
19164
b41caf7c
RE
191652002-07-22 Richard Earnshaw <rearnsha@arm.com>
19166
19167 * arm.md (movqi): If optimizing and we can create pseudos, use
19168 a ZERO_EXTEND to load from memory, then copy the result into the
19169 target.
19170 (movhi): Likewise, but only for ARMv4.
19171
492e9934
NB
191722002-07-22 Neil Booth <neil@daikokuya.co.uk>
19173
19174 * ssa-ccp.c (PHI_PARMS): Remove.
19175
f01f01a6
RS
191762002-07-22 Richard Sandiford <rsandifo@redhat.com>
19177
19178 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
19179 on big-endian targets.
19180
c2ae8aef
KG
191812002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19182
19183 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
19184 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
19185 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
19186 New formatting macros.
19187
19188 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
19189
eab2120d
R
19190Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
19191
19192 * rtlanal.c (subreg_regno_offset): Return correct offset for
19193 big endian paradoxical subregs.
0d541696
R
19194
19195 * optabs.c (expand_vector_unop): Don't expand using sub_optab
19196 if we got the wrong mode.
bb9b3805
R
19197
19198 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
19199 * genrecog.c (write_switch, write_cond): Use it.
19200 * genemit.c (gen_exp): Likewise.
19201
e96eb215
JJ
192022002-07-22 Jakub Jelinek <jakub@redhat.com>
19203
19204 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
19205
cf3c4f56
JJ
192062002-07-22 Jakub Jelinek <jakub@redhat.com>
19207
19208 * c-decl.c (build_compound_literal): Defer compound literal decls
19209 until until file end to emit them only if they are actually used.
19210
533c4863
KG
192112002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19212
19213 * ra-build.c (check_conflict_numbers): Hide unused function.
19214 (livethrough_conflicts_bb): Avoid automatic aggregate
19215 initialization.
19216 (parts_to_webs_1): Avoid `U' integer constant modifier.
19217 (conflicts_between_webs): Wrap a variable in the macro controlling
19218 its usage.
19219 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
19220 (dump_igraph, dump_graph_cost): Avoid string concatenation
19221 (dump_static_insn_cost): Avoid automatic aggregate
19222 initialization.
19223 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
19224 initialization.
19225 (dump_cost): Avoid string concatenation
19226
8943a0b4
RH
192272002-07-21 Richard Henderson <rth@redhat.com>
19228
19229 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
19230 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
19231
b1aef35b
RH
192322002-07-21 Richard Henderson <rth@redhat.com>
19233
19234 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
19235 that are not unrolled completely.
19236
5e1afb11
RH
192372002-07-21 Richard Henderson <rth@redhat.com>
19238
19239 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
19240 * loop.c (strength_reduce): Update.
19241 * toplev.c (rest_of_compilation): Do unrolling in the first
19242 loop pass, not the second.
19243
c67a1cf6
RH
192442002-07-21 Richard Henderson <rth@redhat.com>
19245
19246 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
19247 when flag_argument_noalias == 2.
19248 * alias.c (nonoverlapping_memrefs_p): Handle that.
19249 * print-rtl.c (print_mem_expr): Likewise.
19250
b68daef4
HS
192512002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
19252
19253 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
19254 instead of __negdi2 directly.
19255
060a58c5
NB
192562002-07-21 Neil Booth <neil@daikokuya.co.uk>
19257
19258 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
19259 * function.c (SYMBOL__MAIN): Remove definition.
19260 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 19261 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
19262 * profile.c (GCOV_INDEX_TO_BB): Remove.
19263 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
19264 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
19265
2f8dd115
NB
192662002-07-21 Neil Booth <neil@daikokuya.co.uk>
19267
19268 * c-lex.c (GET_ENVIRONMENT): Remove.
19269 * collect2.c (GET_ENV_PATH_LIST): Remove.
19270 (prefix_from_env): Use GET_ENVIRONMENT.
19271 * cppinit.c (GET_ENV_PATH_LIST): Remove.
19272 (init_standard_includes): Use GET_ENVIRONMENT.
19273 * defaults.h (GET_ENVIRONMENT): Define here if not already.
19274 * gcc.c (GET_ENV_PATH_LIST): Remove.
19275 (make_relative_prefix, process_command): Update.
19276 * protoize.c (GET_ENV_PATH_LIST): Remove.
19277 (do_processing): Update.
19278
56508306
GDR
192792002-07-21 Gabriel Dos Reis <gdr@nerim.net>
19280
19281 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
19282 (grokdeclarator): Likewise.
19283 * c-format.c (C_STD_NAME): Likewise.
19284 * c-lex.c (interpret_integer): Likewise.
19285 * c-typeck.c (build_array_ref): Likewise.
19286 * cpplex.c (_cpp_lex_direct): Likewise.
19287 * toplev.c (documented_lang_options): Likewise.
19288
e2f62855
NB
192892002-07-21 Neil Booth <neil@daikokuya.co.uk>
19290
19291 * c-format.c (T99_I, T99_UI): Remove.
19292
c89d1dfd
NB
192932002-07-21 Neil Booth <neil@daikokuya.co.uk>
19294
19295 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
19296
46690369
JH
19297Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
19298
19299 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
19300 do_local_cprop.
19301
60ffc1b8
AJ
193022002-07-21 Andreas Jaeger <aj@suse.de>
19303
99086d59 19304 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 19305
c05ffc49
BS
193062002-07-21 Bernd Schmidt <bernds@redhat.com>
19307
19308 Improvements for the ifcvt pass from Michael Meissner, with patches
19309 by Richard Sandiford <rsandifo@redhat.com>
19310 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
19311 * ifcvt.c (cond_exec_changed_p): New static variable.
19312 (last_active_insn): New function, renamed from last_active_insn_p
19313 and changed to return the last active insn in a basic block. All
19314 callers updated.
19315 (block_fallthru): New function.
19316 (cond_exec_process_insns): New argument CE_INFO. Pass it to
19317 IFCVT_MODIFY_INSN. All callers updated.
19318 Return false if START or END are NULL.
19319 Handle case where we're processing an insn that is already
19320 conditional.
19321
19322 (noce_process_if_block): CE_INFO argument rather than
19323 multiple args containing the involved basic blocks. All callers
19324 changed.
19325 (process_if_block, merge_if_block, find_if_block,
19326 cond_exec_process_if_block): Likewise.
19327
19328 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
19329 changed.
19330 Use new function last_active_insn to simplify some code.
19331 New code to handle multiple tests.
19332 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
19333 cond_exec_changed_p to TRUE.
19334
19335 (process_if_block): New code to handle multiple tests.
19336 (merge_if_block): Likewise.
19337 (find_if_header): New arg PASS. Changed to return the currently
19338 processed basic block or NULL instead of true/false. All callers
19339 changed.
19340 Call IFCVT_INIT_EXTRA_FIELDS.
19341 (block_jumps_and_fallthru_p): New function.
19342 (find_if_block): Discover opportunities to convert multiple tests.
19343 Add additional debugging output.
19344 Update the ce_info structure before returning.
19345
19346 (if_convert): Run multiple passes of if-conversion.
19347 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
19348 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
19349 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
19350 these macros.
19351
ae860ff7
JH
19352Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
19353
19354 * gcse.c: Include cselib.h
19355 (constptop_register): Break out from ...
19356 (cprop_insn): ... here; kill basic_block argument.
19357 (do_local_cprop, local_cprop_pass): New functions.
19358 (one_cprop_pass): Call local_cprop_pass.
19359
0da65b89
RS
193602002-07-20 Roger Sayle <roger@eyesopen.com>
19361
19362 * simplify-rtx.c (simplify_relational_operation): Optimize
19363 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
19364
47cc673a
MM
193652002-07-20 Michae Matz <matz@suse.de>
19366
19367 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
19368
68e65275
NB
193692002-07-20 Neil Booth <neil@daikokuya.co.uk>
19370
19371 * cppexp.c (struct op): Add token pointer.
19372 (check_promotion, CHECK_PROMOTION): New.
19373 (optab): Update.
19374 (_cpp_parse_expr): Update, use token pointer of struct op.
19375 (reduce): Warn about change of sign owing to promotion.
19376 * cppinit.c (cpp_handle_option): New warning if -Wall.
19377 * cpplib.h (struct cpp_options): New member.
19378
e3485bbc
DE
193792002-07-19 David Edelsohn <edelsohn@gnu.org>
19380
19381 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
19382 fpu list. Separate Power4 compare and delayed_compare. Correct
19383 Power4 fpcompare.
19384 (fix_truncdfsi2_internal): Restore FPR preference.
19385 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
19386 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
19387
449655a6
MV
193882002-07-19 Momchil Velikov <velco@fadata.bg>
19389
19390 * reload1.c (reload_as_needed): Duplicate oldpat.
19391
8b583747
AM
193922002-07-20 Alan Modra <amodra@bigpond.net.au>
19393
19394 PR optimization/7130
19395 * loop.h (struct loop_info): Add "preconditioned".
19396 * unroll.c (unroll_loop): Set it.
19397 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
19398
0dc36574
ZW
193992002-07-19 Zack Weinberg <zack@codesourcery.com>
19400
19401 * rtl.def (CODE_LABEL): Remove slot 8.
19402 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
19403 (LABEL_ALTERNATE_NAME): Delete.
19404 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
19405 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19406
19407 * final.c (output_alternate_entry_point): New.
19408 (final_scan_insn): Use it instead of
19409 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
19410 of a case label being an alternate entry point.
19411
19412 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
19413 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
19414 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
19415 (field deleted).
19416 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
19417
19418 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
19419 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
19420 * doc/tm.texi: Delete documentation of
19421 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19422
59267987
RO
194232002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19424
19425 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
19426 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
19427 (LINK_SPEC): Define.
19428 (STARTFILE_SPEC): Define.
19429 (ENDFILE_SPEC): Define.
19430
19431 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
19432 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
19433
19434 * config/mips/iris6-o32-gas.h: New file.
19435 * config.gcc (mips-sgi-irix6*o32): Use it.
19436
19437 * config/mips/t-iris5-gas: New file.
19438 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19439
75aef48a
NB
194402002-07-19 Neil Booth <neil@daikokuya.co.uk>
19441
19442 * cppexp.c (ALWAYS_EVAL): Remove.
19443 (optab, reduce): Always evaluate.
19444 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
19445 only if not skipping evaluation.
19446
72a5503d
MM
194472002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
19448
19449 * config/avr/avr.c (debug_hard_reg_set): Remove.
19450
059ba716
CD
194512002-07-19 Chris Demetriou <cgd@broadcom.com>
19452
19453 * gcc.c (cpp_options): Include "%1" (cc1_spec).
19454
544823b6
RH
194552002-07-19 Richard Henderson <rth@redhat.com>
19456
19457 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
19458
c35383cb
AM
194592002-07-19 Alan Modra <amodra@bigpond.net.au>
19460
19461 * prefix.c (update_path): Don't zap single `.' path components
19462 unless followed by another `.' and fix typo last patch.
19463
ad28cff7
NB
194642002-07-18 Neil Booth <neil@daikokuya.co.uk>
19465
19466 * cppexp.c (cpp_num_mul): Remove unused parameter.
19467 (UNARY, BINARY, OTHER, binary_handler): Remove.
19468 (ALWAYS_EVAL): New.
19469 (optab): Update.
19470 (reduce): Refactor to a large switch, don't use a function
19471 pointer.
19472
139b7f86
BT
194732002-07-18 Bo Thorsen <bo@berlioz.suse.de>
19474
19475 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
19476
e69d1422
R
19477Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
19478
19479 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
19480 (sh_expand_binop_v2sf): Likewise.
19481 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
19482 (int_gpr_dest, trunc_hi_operand): New functions.
19483 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
19484 trunc_hi_operand.
19485 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
19486 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
19487 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
19488 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
19489 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
19490 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
19491 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
19492 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
19493 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
19494 (movsf_ie+1): Likewise.
19495 (loaddi_trunc): Use int_gpr_dest predicate.
19496 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
19497 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
19498 (casesi_worker_0+[12], casesi_worker): Likewise.
19499 (shcompact_preserve_incoming_args): Likewise.
19500 (mov_nop): Use any_register_operand predicate.
19501 (mperm_w0): Use trunc_hi_operand predicate.
19502
47a4976f
JDA
195032002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
19504
19505 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
19506 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
19507 numbering.
19508
f3a4e54e
JDA
195092002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
19510
19511 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
19512
30484ccf
RH
195132002-07-18 Richard Henderson <rth@redhat.com>
19514
19515 PR optimization/7147
19516 * ifcvt.c (noce_get_condition): Make certain that the condition
19517 is valid at JUMP.
19518
d042370e
R
19519Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
19520
19521 * sh.c (barrier_align, push): Shut up compiler warnings.
19522 (initial_elimination_offset,sh_media_init_builtins): Likewise.
19523 (reg_no_subreg_operand): Delete.
19524
61fee9b3
BT
195252002-07-17 Bo Thorsen <bo@suse.de>
19526
19527 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
19528 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
19529 (STARTFILE_SPEC): Remove hardcoded library paths.
19530 (ENDFILE_SPEC): Likewise.
19531
f305679f
JH
19532Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
19533
19534 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
19535
19536 * gcse.c (try_replace_reg): Do not return false positives.
19537
99bcb625
AM
195382002-07-18 Alan Modra <amodra@bigpond.net.au>
19539
f6f23ad2
AM
19540 * prefix.c: (update_path): Strip ".." components when prior dir
19541 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
19542
99bcb625
AM
19543 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
19544 (ASM_OUTPUT_REG_POP): Likewise.
19545
09eeeacb
AM
195462002-07-18 Alan Modra <amodra@bigpond.net.au>
19547
19548 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
19549 adjustments to first_reg for profiling case.
19550 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
19551 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
19552 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
19553 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
19554 (ASM_OUTPUT_REG_POP): Define.
19555 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
19556 (ASM_OUTPUT_REG_POP): Undef.
19557
74d06cf2
NB
195582002-07-17 Neil Booth <neil@daikokuya.co.uk>
19559
19560 * cpplib.c (do_sccs): Handle #sccs on all systems.
19561 * system.h (SCCS_DIRECTIVE): Poison.
19562 * config/darwin.h, config/freebsd.h, config/netbsd.h,
19563 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
19564 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
19565 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
19566 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
19567 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
19568 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
19569 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
19570 Remove all references to SCCS_DIRECTIVE.
19571 * doc/cpp.texi, doc/tm.texi: Update.
19572
61dde664
R
19573Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
19574
19575 * regrename.c (maybe_mode_change): New function.
19576 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
19577
97f51ac4
RB
195782002-07-17 Rodney Brown <rbrown64@csc.com.au>
19579
19580 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
19581 suppress addition when either ct or cf are zero.
19582
a9b6f1e7 195832002-07-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 19584 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
19585
19586 PR optimization/6713
19587 * loop.c (loop_givs_rescan): Explicitly delete the insn that
19588 sets a non-replaceable giv after issuing the new one.
19589
23ff0223
NB
195902002-07-17 Neil Booth <neil@daikokuya.co.uk>
19591
19592 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
19593 eval_token): Clarify and correct use of "bool" variables.
19594 * cpplib.h (struct cpp_options): Similarly.
19595 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
19596 * cpptrad.c (recursive_macro): Similarly.
19597
ac09192a
R
19598Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
19599
d28586ab 19600 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 19601 SHmedia code.
68cef009
R
19602
19603 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
19604
19605 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
19606 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
19607
19608 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
19609 * sh-protos.h (sh_initialize_trampoline): Declare.
19610 * sh.c (sh_initialize_trampoline): New function.
19611 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
19612 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
19613 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
19614 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
19615 * sh.md (initialize_trampoline, double_shori): New patterns.
19616 (initialize_trampoline_compact): Likewise.
19617 (shmedia32_initialize_trampoline_big): Remove.
19618 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
19619
19620 * sh-protos.h (binary_float_operator): Remove declaration.
19621 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
19622 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
19623 (unary_float_operator, sh_expand_unop_v2sf): New functions.
19624 (sh_expand_binop_v2sf): Likewise.
19625 (zero_vec_operand): Delete.
19626 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
19627 all non-shared ones.
19628 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
19629 Enable nsb and byterev.
19630 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
19631 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
19632 in general regs.
19633 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
19634 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
19635 immediate operands.
19636 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
19637 Add DF_HI_REGS.
19638 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
19639 lowpart fp regs - only for big endian for now.
da7d8304 19640 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
0ac78517
R
19641 when FPU is in use.
19642 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
19643 (LOAD_EXTEND_OP): NIL for SImode.
19644 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
19645 general and fp registers is 4.
19646 PREDICATE_CODES: Amend binary_float_operator entry.
19647 Remove zero_vec_operand. Add unary_float_operator.
19648 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
19649 subreg SET_DEST.
19650 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
19651 (truncdiqi2): Do sign extension.
19652 (movsi_media, movdi_media): Allow to use r63 to an fp register.
19653 (movdf_media, movsf_media): Likewise.
19654 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
19655 Collapse to one define_insn_and_split. Allow immediate sources.
19656 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
19657 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
19658 (movv4sf): Allow immediate sources.
19659 (movsf_media_nofpu+1): Don't split moves to FP registers.
19660 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
19661 (movv8qi_i+3): Check against CONST0_RTX.
19662 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
19663 for input and output operands. Fix argument 3 to gen_mextr_rl.
19664 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
19665 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
19666 (mshf0_w, fipr, ftrv): Likewise.
19667 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
19668
e9d7b180
JD
196692002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19670
19671 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
19672 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
19673 * arm.c: Similarly.
19674
8214bf98
RS
196752002-07-17 Richard Sandiford <rsandifo@redhat.com>
19676
19677 * config/mips/mips-protos.h (mips_sign_extend): Declare.
19678 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
19679 (TARGET_SWITCHES): Remove debugh.
19680 (ISA_HAS_TRUNC_W): New macro.
19681 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
19682 (PREDICATE_CODES): Remove se_nonimmediate_operand.
19683 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
19684 any SImode move_operand.
19685 (se_nonimmediate_operand): Remove.
19686 (mips_sign_extend): New.
19687 (mips_move_2words): Use it for sign-extended source operands.
19688 (override_options): Allow integers to be put into single FPRs.
19689 (mips_secondary_reload_class): Handle integers in float registers.
19690 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
19691 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
19692 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
19693 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
19694 (fix_truncdfdi2): Provide only a single alternative, in which the
19695 integer is in a float register. Depend on TARGET_FLOAT64 rather
19696 than TARGET_64BIT.
19697 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
19698 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
19699 (movdi_internal2): Don't allow the source operand to be sign-extended.
19700 Add alternatives for float registers.
19701 (*movdi_internal2_extend): New. Version of movdi_internal2 that
19702 allows sign-extension.
19703 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
19704 (movsi_internal2): Rename to movsi_internal. Add alternatives for
19705 float registers. Remove TARGET_DEBUG_H_MODE test.
19706 (movhi_internal1): Rename to movhi_internal. Don't check
19707 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
19708 (movqi_internal1): Rename to movqi_internal and remove
19709 TARGET_DEBUG_H_MODE dependency.
19710 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
19711
7ab0121e
JW
197122002-07-16 Jim Wilson <wilson@redhat.com>
19713
19714 * toplev.c (lang_dependent_init): Create function context for
19715 init_expr_once.
19716
349ccf2e
HPN
197172002-07-16 Hans-Peter Nilsson <hp@axis.com>
19718
19719 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
19720 --gc-sections if -r.
19721 * config/cris/cris.h: Ditto.
19722
06ec023f
RB
197232002-07-16 Rodney Brown <rbrown64@csc.com.au>
19724
19725 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
19726 the comparison directly gives a mask suppress addition when cf is
19727 zero by complementing the mask.
19728
39cef914
NN
197292002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
19730
19731 * Makefile.in: Delete references to enquire.
19732 * enquire.c: Move to contrib.
19733
92c1a778
SS
197342002-07-16 Stan Shebs <shebs@apple.com>
19735
2aa9948d
SS
19736 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
19737 config/rs6000/darwin.h.
19738 (ASM_OUTPUT_SKIP): Ditto.
19739 (TEXT_SECTION_ASM_OP): Ditto.
19740 (DATA_SECTION_ASM_OP): Ditto.
19741 (ASM_APP_ON): Define.
19742 (ASM_APP_OFF): Define.
19743 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
19744 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
19745
19746 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
19747 (machopic_function_base_name): Declare result to be const.
19748 (machopic_non_lazy_ptr_name): Ditto.
19749 (machopic_stub_name): Ditto.
2aa9948d 19750 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 19751
daaab00a
JH
19752Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
19753
19754 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
19755
63c574cc
JH
19756Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
19757
19758 * i386.md (prefetch): Fix for 64bit mode.
19759 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19760
2a500b9e
JH
19761Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
19762
19763 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
19764 * i386.c (x86_machine_dependent_reorg): New function.
19765 * i386-protos.h (x86_machine_dependent_reorg): Declare.
19766
e5faf155
ZW
197672002-07-16 Zack Weinberg <zack@codesourcery.com>
19768
19769 * builtins.c (std_expand_builtin_va_start): Remove unused
19770 first argument.
19771 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
19772 std_expand_builtin_va_start with just two arguments.
19773 * expr.h: Update prototypes.
19774
19775 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
19776 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
19777 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
19778 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
19779 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
19780 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
19781 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
19782 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
19783 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
19784 argument from all implementations of EXPAND_BUILTIN_VA_START
19785 and all uses of std_expand_builtin_va_start.
19786
dbf65c2f
R
19787Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
19788
19789 * regrename.c (copy_value): Don't record high part copies.
19790
6acb6d3e 197912002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 19792
6acb6d3e
SE
19793 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
19794 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
19795 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
19796
5d7c2819
ID
197972002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
19798
19799 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
19800
19801 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
19802 into addsi3 using register class "x" and "y".
19803
19804 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
19805 "earlyclobber" constraint modifier for some alternative.
e5faf155 19806
5d7c2819
ID
19807 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
19808 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
19809 unordered.
19810 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
19811
19812 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
19813 (TARGET_SWITCHES): Add -mieee-compare option.
19814 (OVERRIDE_OPTIONS): 32332 is a subset of
19815 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4977bab6 19816 (TARGET_SWITCHES): Fix description of bitfield option.
5d7c2819
ID
19817 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
19818 -mieee-compare option. Remove 32332 flag.
19819
5da4f548 198202002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
19821
19822 * explow.c (convert_memory_address): Remove special handling
5da4f548 19823 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 19824 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
19825 (movedi_symbolic): Fix typo.
19826 (load_fptr): Remove mode restriction so it works for SI and DI.
19827 (load_fptr_internal1): Ditto.
19828 (load_gprel): Ditto.
19829 (load_symptr_internal1): Ditto.
19830 (call_pic): Ditto.
5d7c2819 19831 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
19832 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
19833 (ia64_expand_move): Ditto.
19834 (ia64_assemble_integer): Handle SImode function pointers.
19835 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
19836 (ia64_expand_op_and_fetch): Ditto.
19837 (ia64_expand_compare_and_swap): Ditto.
19838 (ia64_expand_lock_test_and_set): Ditto.
19839 (ia64_expand_lock_release): Ditto.
19840
1575c31e
JD
198412002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19842
19843 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
19844
198452002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19846 Richard Earnshaw <rearnsha@arm.com>
19847
e5faf155 19848 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
19849 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
19850
3894f59e
RE
198512002-07-16 Richard Earnshaw <rearnsha@arm.com>
19852
19853 * arm.md (stack_tie): New insn. Use an idiom that the alias code
19854 understands to be a memory clobber.
19855 * arm.c (arm_expand_prologue): Use it.
19856
e0b89be2 198572002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
19858
19859 * ra-rewrite.c: #include reload.h, insn-config.h
19860 * ra-build.c: #include reload.h
19861 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 19862 depend on reload.h, insn-config.h.
54b2a7f8 19863
cffa2189
R
19864Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
19865
19866 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
19867 the same size as a word.
19868
19869 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
19870 BYTES_BIG_ENDIAN into account.
19871
052c96b1
JH
19872Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
19873
19874 * i386.md (prefetch): Fix for 64bit mode.
19875 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19876
19877 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
19878
ae32926b
MM
198792002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
19880
19881 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
19882
6c535c69
ZW
198832002-07-15 Zack Weinberg <zack@codesourcery.com>
19884
19885 * ginclude/varargs.h: Replace with stub which issues #error.
19886 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
19887 __builtin_va_start.
19888
19889 * builtins.def (BUILT_IN_VARARGS_START): Delete.
19890 (BUILT_IN_VA_START): New.
19891 * builtins.c (expand_builtin_va_start): Eliminate first
19892 argument and code to implement pre-ISO varargs.
19893 (std_expand_builtin_va_start): Ignore first argument; it is
19894 always 1.
19895 (expand_builtin): Handle BUILT_IN_VA_START and
19896 BUILT_IN_STDARG_START identically. Delete
19897 BUILT_IN_VARARGS_START case.
19898
19899 * function.c (assign_parms): Delete hide_last_arg and all
19900 its uses.
19901 (mark_varargs): Delete function.
19902 * function.h (struct function): Delete 'varargs' bit.
19903 (current_function_varargs): Delete macro.
19904 * tree.h: Don't declare mark_varargs.
19905
19906 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
19907 (c_expand_body): Don't call mark_varargs.
19908 * c-objc-common.c: Handle BUILT_IN_VA_START and
19909 BUILT_IN_STDARG_START identically. Delete
19910 BUILT_IN_VARARGS_START case.
19911 * c-tree.h: Don't declare c_mark_varargs.
19912 * c-parse.in: Remove grammar rules for '&...' (which has been
19913 commented out since before 2.7.2) and for '...' in K+R
19914 argument declarations.
19915
19916 * builtins.c, function.c, integrate.c, sibcall.c,
19917 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
19918 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
19919 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
19920 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
19921 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
19922 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
19923 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
19924 config/stormy16/stormy16.c: Delete all references to
19925 current_function_varargs, and code predicated on that flag.
19926
19927 * config/alpha/alpha.c (alpha_va_start),
19928 config/arc/arc.c (arc_va_start),
19929 config/i386/i386.c (ix86_va_start),
19930 config/mips/mips.c (mips_va_start),
19931 config/mn10300/mn10300.c (mn10300_va_start),
19932 config/rs6000/rs6000.c (rs6000_va_start),
19933 config/s390/s390.c (s390_va_start),
19934 config/sh/sh.c (sh_va_start),
19935 Ignore first argument; it is always 1.
19936
19937 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
19938 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
19939 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
19940 Delete m68hc11_va_start.
19941 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
19942 No need to define EXPAND_BUILTIN_VA_START.
19943
19944 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
19945 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
19946
6d80a854
EB
199472002-07-15 Eric Botcazou <ebotcazou@multimania.com>
19948
19949 PR optimization/7153
19950 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
19951 dies in more than one insn.
19952
043cfcbe
JT
199532002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
19954
19955 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
19956
ed8d2920 199572002-07-15 Michael Matz <matz@suse.de>,
6c535c69 19958 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
19959 Denis Chertykov <denisc@overta.ru>
19960
19961 Add a new register allocator.
19962
19963 * ra.c: New file.
19964 * ra.h: New file.
19965 * ra-build.c: New file.
19966 * ra-colorize.c: New file.
19967 * ra-debug.c: New file.
19968 * ra-rewrite.c: New file.
19969
19970 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
19971 (ra-rewrite.o): New .o files for libbackend.a.
19972 (GTFILES): Add basic-block.h.
19973
19974 * toplev.c (flag_new_regalloc): New.
19975 (f_options): New option "new-ra".
19976 (rest_of_compilation): Call initialize_uninitialized_subregs()
19977 only for the old allocator. If flag_new_regalloc is set, call
19978 new allocator, instead of local_alloc(), global_alloc() and
19979 friends.
19980
19981 * doc/invoke.texi: Document -fnew-ra.
19982 * basic-block.h (FOR_ALL_BB): New.
19983 * config/rs6000/rs6000.c (print_operand): Write small constants
19984 as @l+80.
19985
19986 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
19987 (df_reg_table_realloc): Make size at least as large as max_reg_num().
19988 (df_insn_table_realloc): Size argument now is absolute, not relative.
19989 Changed all callers.
19990
19991 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
19992 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
19993
19994 2002-06-20 Michael Matz <matz@suse.de>
19995
19996 * df.h (struct ref.id): Make unsigned.
19997 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
19998
19999 2002-06-13 Michael Matz <matz@suse.de>
20000
20001 * df.h (DF_REF_MODE_CHANGE): New flag.
20002 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
20003 involving subregs with invalid mode changes, when
20004 CLASS_CANNOT_CHANGE_MODE is defined.
20005
20006 2002-05-07 Michael Matz <matz@suse.de>
20007
20008 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
20009
20010 2002-05-03 Michael Matz <matz@suse.de>
20011
20012 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
20013
20014 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
20015
20016 * regclass.c (regclass): Work with all regs which have sets or
20017 refs.
20018 (reg_scan_mark_refs): Count regs inside (clobber ...).
20019
20020 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
20021
20022 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
20023 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
20024 add new refs.
20025 (df_bb_refs_update): Don't clear insns_modified here, ...
20026 (df_analyse): ... but here.
20027
20028 * sbitmap.c (dump_sbitmap_file): New.
20029 (debug_sbitmap): Use it.
20030
20031 * sbitmap.h (dump_sbitmap_file): Add prototype.
20032
20033 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
20034
20035 * df.c (df_insn_modify): Grow the UID table if necessary, rather
20036 than assume all emits go through df_insns_modify.
20037
20038 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
20039
20040 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
20041 increase REG_N_REFS (like flow does), so that regclass doesn't
20042 think a reg is useless, and thus, not calculate a class, when it
20043 really should have.
20044
20045 2001-01-28 Daniel Berlin <dberlin@redhat.com>
20046
20047 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
20048 dataflow analysis.
20049
794a292d
JJ
200502002-07-15 Jakub Jelinek <jakub@redhat.com>
20051
20052 PR middle-end/7245
20053 * config/i386/i386.c (const_int_1_31_operand): New.
20054 * config/i386/i386.h (PREDICATE_CODES): Add it.
20055 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
20056 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
20057 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
20058
05d49501
AM
200592002-07-14 Alan Modra <amodra@bigpond.net.au>
20060
20061 PR target/7282
20062 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
20063 (floatunssidf2): Likewise.
20064 (floatsidf_ppc64): New insn_and_split.
20065 (floatunssidf_ppc64): Likewise.
20066
e89617fe
AJ
200672002-07-14 Andreas Jaeger <aj@suse.de>
20068
20069 * config.gcc (sh64): Remove unused
20070 target_requires_64bit_host_wide_int.
20071
78762e3b
RS
200722002-07-12 Roger Sayle <roger@eyesopen.com>
20073
20074 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
20075 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
20076 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
20077 whether clear_by_pieces should be used to clear storage.
20078 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
20079
20080 * doc/tm.texi: Document these two new target macros.
20081
f7a454e9
SC
200822002-07-12 Stephane Carrez <stcarrez@nerim.fr>
20083
20084 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
20085 the scratch register.
20086 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
20087 of it, forbid reload to use it.
20088
26af4041
MM
200892002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
20090
20091 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
20092 usage on 64-bit hosts, return value was truncated to 32 bits.
20093
226cfe61
R
20094Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
20095
20096 * simplify-rtx.c (simplify_subreg): Handle floating point
20097 CONST_DOUBLEs. When an integer subreg of a smaller mode than
20098 the element mode is requested, compute a subreg with an
20099 integer mode of the same size as the element mode first.
20100
25c25947
R
20101Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
20102
20103 * combine.c (try_combine): When converting a paradoxical subreg
20104 to an extension, take LOAD_EXTEND_OP into account.
20105
789b7de5
RO
201062002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
20107
20108 * config.gcc (mips-sgi-irix6*o32): New configuration.
20109
20110 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
20111 configurations.
20112 * configure: Regenerate.
20113
20114 * config/mips/iris6-o32-as.h: New file.
20115 * config/mips/iris6-o32.h: New file.
e89617fe 20116
789b7de5
RO
20117 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
20118 (NM_FLAGS): Define.
20119 (HAVE_AS_SHF_MERGE): Undefine.
20120
20121 * config/mips/t-iris5-as: New file.
20122 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
20123
20124 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
20125 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
20126 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
20127 dp-bit.c, fp-bit.c): Move ...
20128 * config/mips/t-iris5-6: ... here.
20129 New file, shared by IRIX 5 and IRIX 6.
20130 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
20131 mips-sgi-irix5*): Use it.
20132
20133 * config/mips/iris6.h: Remove duplicate comment.
20134
20135 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
20136 !TARGET_IRIX6]: Define.
20137 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
20138
20139 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
20140
a18c2c5f
JDA
201412002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
20142
20143 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
20144 and delete code to force constant to register.
20145 * pa-protos.h (adddi3_operand): Add prototype.
20146 * pa.c (adddi3_operand): New function.
20147
e65a2d65
RS
201482002-07-11 Roger Sayle <roger@eyesopen.com>
20149
20150 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
20151 non-ANSI builtin functions.
20152
a06e3c40
R
20153Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
20154
20155 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
20156 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
20157 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
20158 (gen_const_vector_0): Use it.
20159
47abc309
JDA
201602002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
20161
20162 * pa.md (adddi3): For 32-bit targets, force constants to a register
20163 if they don't fit in an 11-bit immediate. Change insn predicate to
20164 arith11_operand. Remove comment.
20165 * pa.c (cint_ok_for_move): Fix comment.
20166 (emit_move_sequence): Don't directly split DImode constants on 32-bit
20167 targets.
20168
8ac9d31f
TJ
201692002-07-11 Tim Josling <tej@melbpc.org.au>
20170
e89617fe 20171 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
20172
20173 * Makefile.in
20174 (STAGESTUFF): add gtyp-gen.h
20175 (GTFILES): Remove front end specific files.
20176 (GTFILES_FILES_LANGS): New, from configure..
20177 (GTFILES_FILES_FILES): Likewise.
20178 (GTFILES_LANG_DIR_NAMES): Likewise.
20179 (GTFILES_SRCDIR): Likewise.
20180 (gtyp-gen.h): Build from configure information.
20181 (s-gtype): Remove command line parameters from gengtype.
20182 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
20183 (mostlyclean): Delete files generated by and for gengtype.
20184
20185 * c-config-lang.in: New file.
20186
20187 * configure.in (all_gtfiles_files_langs): New. Accumulate files
20188 for each language.
20189 (all_gtfiles_files_files): New. Accumulate language for each file
20190 accumulated.
20191 (gtfiles): Pick up value for C.
20192 (srcdir): AC-SUBST this variable.
20193 (all_gtfiles_files_langs): AC-SUBST this variable.
20194 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 20195
8ac9d31f 20196 * configure: Regenerate.
e89617fe 20197
8ac9d31f
TJ
20198 * gengtype-lex.l (parse_file): Make parameter const.
20199
20200 * gengtype.c (toplevel): include gtyp-gen.h.
20201 (BASE_FILE_<language> unnamed enum): Delete.
20202 (lang_names): Delete (replaced by gtyp-gen.h)
20203 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
20204 all references.
20205 (NUM_GT_FILES): New.
20206 (NUM_LANG_FILES): New.
20207 (srcdir_len): New.
20208 (NUM_BASE_FILES): Change calculation.
20209 (open_base_files): Change prototype to avoid warning.
20210 (startswith): Delete.
20211 (get_file_basename): Iterate through generated language list not
20212 hard coded list.
20213 (get_base_file_bitmap): Use generated list of files and languages.
20214 (close_output_files): Add prototype to rmove warning.
20215 (main): Iterate through list of generated files from gtyp-gen.h
20216 rather than command line paramaters. Ignore duplicated file
e89617fe 20217 names.
8ac9d31f
TJ
20218
20219 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 20220
8ac9d31f
TJ
20221 * doc/sourcebuild.texi: Document gtfiles variable.
20222
20223 * doc/gty.texi: Document changes to gtfiles variable for front
20224 ends.
20225
20226 * objc/config-lang.in (gtfiles): Add files needed for objc front
20227 end.
20228
0e603223
RS
202292002-07-10 Roger Sayle <roger@eyesopen.com>
20230
20231 PR c/2454
20232 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
20233 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
20234
c5358a5d
RS
202352002-07-10 Roger Sayle <roger@eyesopen.com>
20236 Zack Weinberg <zack@codesourcery.com>
20237
20238 * builtins.def: Make the argument types of abort and exit
20239 independent of the front-end.
20240
a35f8b74
AM
202412002-07-11 Alan Modra <amodra@bigpond.net.au>
20242
20243 * config/rs6000/linux64.h (ASM_SPEC): Define.
20244
89e7058f
AH
202452002-07-10 Aldy Hernandez <aldyh@redhat.com>
20246
6c535c69
ZW
20247 * config/rs6000/rs6000.c (emit_frame_save): New.
20248 (rs6000_frame_related): Replace reg2 before reg.
20249 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
20250 and eh_return registers.
89e7058f 20251
086bbd21
TM
202522002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
20253
20254 Revert all patches for optimization of Complex .op. Real.
20255 * complex_part_zero_p: Remove
20256 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
20257 with x.
20258 * expand_cmplxdiv_wide: Ditto.
20259 * expand_binop: Ditto.
20260
126dbce0
MM
202612002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
20262
20263 * config/avr/avr.md: Fix two 0x80000000 constants to make them
20264 negative also on 64-bit hosts.
20265
20266 Default to -fno-reorder-blocks when optimizing for size.
20267 * config/avr/avr-protos.h (avr_optimization_options): Declare.
20268 * config/avr/avr.c (avr_optimization_options): New function.
20269 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
20270
20271 Optimize returning from simple functions.
20272 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
20273 * config/avr/avr.c (avr_simple_epilogue): New function.
20274 * config/avr/avr.md (return): New insn.
20275
21c318ba
DR
202762002-07-10 Douglas B Rupp <rupp@gnat.com>
20277
20278 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
20279 HAS_INIT_SECTION to protection.
20280
537834c8
MM
202812002-07-10 Mark Mitchell <mark@codesourcery.com>
20282
20283 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
20284 deprecated.
20285
80ba02b1
R
20286Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
20287
20288 * combine.c (gen_lowpart_for_combine): Handle vector modes.
20289 Supply non-VOID mode to simplify_gen_subreg.
20290
ae3aa00d
JH
20291Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
20292
20293 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
20294
029f3983
JL
202952002-07-10 Jeffrey A Law <law@redhat.com>
20296
7a464913
JL
20297 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
20298 as appropriate.
20299
6c535c69
ZW
20300 * mn10200.c (expand_epilogue): Fix test to determine which scratch
20301 register to use.
029f3983 20302
ff27a429
R
20303Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
20304
20305 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
20306 Get mode from dest.
20307 If simplify_gen_subreg fails, try next equivalent.
20308
e6986399
GDR
203092002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
20310
20311 * diagnostic.h: #include location.h
20312 (location_t): Move definition to..
20313 * location.h: ... here. New file.
20314 * tree.h: #include location.h
20315 (DECL_SOURCE_LOCATION): New macro.
20316 (DECL_SOURCE_FILE): Use.
20317 (DECL_SOURCE_LINE): Likewise.
20318 (struct tree_decl): REplace filename and linenum with locus.
20319 * Makefile.in (TREE_H): add location.h
20320 (diagnostic.o): Depends on gt-location.h
20321 (gt-location.h): Depends on s-gtype
20322
7990b46f
MK
203232002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
20324
20325 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
20326 TARGET_OS_CPP_BUILTINS.
20327 * config/rs6000/aix31.h: Likewise.
20328 * config/rs6000/aix41.h: Likewise.
20329 * config/rs6000/aix43.h: Likewise.
20330 * config/rs6000/aix51.h: Likewise.
20331 * config/rs6000/beos.h: Likewise.
20332 * config/rs6000/darwin.h: Likewise.
20333 * config/rs6000/eabi.h: Likewise.
20334 * config/rs6000/eabisim.h: Likewise.
20335 * config/rs6000/linux.h: Likewise.
20336 * config/rs6000/linux64.h: Likewise.
20337 * config/rs6000/lynx.h: Likewise.
20338 * config/rs6000/mach.h: Likewise.
20339 * config/rs6000/rtems.h: Likewise.
20340 * config/rs6000/sysv4.h: Likewise.
20341 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
20342
203432002-07-09 Devang Patel <dpatel@apple.com>
20344 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
20345 Do not allow ObjC objects as a parameter type for Objective-C methods.
20346 My previous patch restricted 'struct' also.
e89617fe 20347
cd98faa1
NB
203482002-07-09 Neil Booth <neil@daikokuya.co.uk>
20349
20350 * cpperror.c (cpp_error): Default to directive_line within
20351 directives here.
20352 * cppexp.c (cpp_interpret_integer): Only use traditional
20353 number semantics in directives.
20354 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
20355 (do_include_common): Similarly.
20356 * cpptrad.c (scan_out_logical_line): Implement accurate
20357 quoting of <> in #include.
20358 * doc/cpp.texi: Update.
20359
2ad65b0e 20360Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 20361 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
20362
20363 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
20364 * sh.md (attribute issues): Replace with:
20365 (attribute pipe_model). All users changed.
20366 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
20367 All users changed.
20368 (function units sh5issue, sh5fds): New.
20369 (attribute is_mac_media): New.
20370 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
20371 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
20372 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
20373 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
20374 (call_media, call_value_media, sibcall_media): Likewise.
20375 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
20376 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
20377 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
20378 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
20379 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
20380 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
20381 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
20382 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
20383 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
20384 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
20385 (truncdfsf2_media): Likewise.
20386 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
20387 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
20388
b6d33983
R
20389Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
20390
20391 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
20392 * sh.c (general_extend_operand, inqhi_operand): New functions.
20393 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
20394 alternatives using 'N' modifier. Add type.
20395 (adddi3z_media): Likewise. Enable generator function generation.
20396 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
20397 exact predicates / constraints. Add type.
20398 (subsi3): Allow 0 for SHMEDIA.
20399 (udivsi3_i4_media): Use match_operand for input values
20400 rather than hard registers.
20401 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
20402 unnecessarily through hard registers. Keep copies of pseudo
20403 registers outside of the libcall sequence.
20404 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
20405 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
20406 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
20407 (extendhidi2, extendqidi2): Likewise.
20408 (andsi3_compact): Name.
20409 (andcdi3): Enable generator function generation.
20410 (zero_extendhisi2, zero_extendqisi2): Rename to
20411 (zero_extendhisi2_compact, zero_extendqisi2_compact).
20412 (extendhisi2, extendqisi2): Rename to
20413 (extendhisi2_compact, extendqisi2_compact).
20414 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
20415 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
20416 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
20417 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
20418 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
20419 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
20420 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
20421 (shmedia32_initialize_trampoline_big): Likewise.
20422 (shmedia32_initialize_trampoline_little): Likewise.
20423 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
20424 (negdi2): Remove spurious T clobber.
20425 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
20426 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
20427 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
20428 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
20429 (ic_invalidate_line_media): Write back data cache before invalidating
20430 instruction cache. Add type.
20431 (movsf_media): Sign-extend when the destination is a general
20432 purpose register. Add type.
20433 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
20434 (casesi_worker_0+1): Only increment ref count for proper label.
20435 (casesi_worker_0+2): Likewise.
20436
7ca0873c
MM
204372002-07-09 Mark Mitchell <mark@codesourcery.com>
20438
20439 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
20440
26b10ae0 204412002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 20442
26b10ae0
SE
20443 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
20444 from Pmode to ptr_mode.
20445 (get_exception_pointer): Ditto.
20446 (connect_post_landing_pads): Ditto.
20447 (dw2_build_landing_pads): Ditto.
20448
0c3a2ea0
SE
204492002-07-08 Steve Ellcey <sje@cup.hp.com>
20450 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
20451 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
20452 (handle_pragma_redefine_extname): Change to use new function.
20453
26c34780
RS
204542002-07-08 Roger Sayle <roger@eyesopen.com>
20455
20456 * combine.c (combine_simplify_rtx): Add an explicit cast
20457 to avoid signed/unsigned comparison warning.
20458 (simplify_if_then_else): Likewise.
20459 (extended_count): Likewise.
20460 (simplify_shift_const): Likewise.
20461 (simplify_comparison): Likewise.
20462
1d4047e0
RS
204632002-07-08 Richard Sandiford <rsandifo@redhat.com>
20464
20465 * config/mips/mips.md: Add imadd type. Update scheduler description
20466 to use imadd as well as imul.
20467 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
20468 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
20469 (*mul_sub_si): Likewise for first alternative. Change second
20470 alternative from imul to multi.
20471
5351f1ca
NB
204722002-07-07 Neil Booth <neil@daikokuya.co.uk>
20473
20474 * c-common.c (c_common_post_options): Update prototype;
20475 don't init backends if preprocessing only.
20476 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
20477 * langhooks.h (struct lang_hooks): Update post_options to
20478 return a boolean.
20479 * toplev.c (parse_options_and_default_flags, do_compile,
20480 lang_independent_init): Update prototypes. Allow the
20481 front end to specify that there is no need to initialize
20482 the back end.
20483 (general_init): Move call to hex_init here...
20484 (toplev_main): ...from here. Pass flag for back end init
20485 suppression.
20486
c8cc4417
R
20487Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
20488
20489 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
20490 (PREDICATE_CODES): Add entries for equality_comparison_operator,
20491 greater_comparison_operator and less_comparison_operator.
20492 * sh.c (print_operand): Add '\'' code. Make 'o' handle
20493 more operators.
20494 (equality_comparison_operator): New function.
20495 (greater_comparison_operator, less_comparison_operator): Likewise.
20496 * sh.md (beq_media_i): Disable generator function generation.
20497 Use match_operator to handle a whole class of comparisons. Add
20498 modifier in output template to provide branch prediction. Add type.
20499 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
20500 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
20501 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
20502 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
20503
957ec0f9
HPN
205042002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
20505
20506 Emit MMIX function prologue and epilogue as rtl.
20507 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
20508 not unprototyped get_hard_reg_initial_val.
20509 ("call_value", "nonlocal_goto_receiver"): Ditto.
20510 ("return"): Make define_expand. Move real insn to...
20511 ("*expanded_return"): New pattern.
20512 ("prologue", "epilogue"): New define_expands.
20513 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
20514 (struct machine_function): New member in_prologue.
20515 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
20516 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
20517 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
20518 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
20519 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
20520 (LOCAL_REGNO): Define. Adjust comment.
20521 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
20522 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
20523 leaf_function_p.
20524 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
20525 the prologue.
20526 (mmix_target_asm_function_prologue): Make static. Just mark that
20527 the prologue is being emitted. Move guts to...
20528 (mmix_expand_prologue): New function. Adjust for emitting
20529 prologue as rtl. For sizes, use HOST_WIDE_INT only.
20530 (mmix_target_asm_function_epilogue): Make static. Simply emit a
20531 \n. Move guts to...
20532 (mmix_expand_epilogue): New function. Adjust for emitting
20533 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
20534 (mmix_target_asm_function_end_prologue): Mark that the prologue
20535 has ended.
20536 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
20537 (mmix_conditional_register_usage): Improve comments.
20538 (mmix_local_regno): New function.
20539 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
20540 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
20541 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
20542 (mmix_get_hard_reg_initial_val): Ditto.
20543
7ab5c789
AJ
205442002-07-06 Andreas Jaeger <aj@suse.de>
20545
20546 * toplev.c (set_fast_math_flags): Don't use ISO C style function
20547 definitions.
20548 * gengtype.c (open_base_files): Likewise.
20549 (close_output_files): Likewise.
20550 * tracer.c (find_best_predecessor): Likewise.
20551 (find_best_successor): Likewise.
20552 (ignore_bb_p): Likewise.
20553
df061a43
RS
205542002-07-05 Roger Sayle <roger@eyesopen.com>
20555
20556 PR c++/7099
20557 * builtin-attrs.def: Define new attribute lists for use in
20558 builtins.def.
20559 * builtins.def [DEF_BUILTIN]: Modify to take an additional
20560 ATTRS argument, an enumerated value defined in builtin-attrs.def
20561 that represents the attribute list for the builtins. Modify
20562 all builtin functions to pass an appropriate attribute list.
20563 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
20564 their required noreturn attributes.
20565 * tree.h (enum_builtin_function): Ignore the additional parameter
20566 to DEF_BUILTIN.
20567 * builtins.c (built_in_names): Likewise.
20568 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
20569 argument with a tree representing the functions attribute list.
20570 Pass this "attrs" argument to builtin_function. No longer handle
20571 the noreturn_p processing manually.
20572 (built_in_attributes): Move the definitions from builtin-attrs.def
20573 before c_common_nodes_and_builtins.
20574 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
20575 DEF_BUILTIN, passing it to both builtin_function and the changed
20576 builtin_function_2.
20577
20578 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
20579 __builtin__exit and __builtin__Exit.
20580
e5eb8de8
SC
205812002-07-05 Stephane Carrez <stcarrez@nerim.fr>
20582
20583 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
20584 QI mode registers in soft registers.
7ab5c789 20585 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
20586 for register allocation (use '*' constraint).
20587
4c8aed14
SC
205882002-07-05 Stephane Carrez <stcarrez@nerim.fr>
20589
20590 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
20591 it is dead.
20592 ("*ashrsi3"): Likewise.
20593 ("*lshrsi3"): Likewise.
20594
99ed68ea
VM
205952002-07-05 Vladimir Makarov <vmakarov@redhat.com>
20596
20597 * genautomata.c (output_max_insn_queue_index_def): Take latencies
20598 into account.
20599
4c8aed14 206002002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
20601
20602 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
20603 address computation and memory moves.
20604
9833f679
MM
206052002-07-03 Mark Mitchell <mark@codesourcery.com>
20606
20607 PR c++/6706
20608 * dwarfout.c (output_reg_number): Fix warning message.
20609 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
20610 before using it.
7ab5c789 20611
81bca2f5
RO
206122002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
20613
20614 * gcc/gcc.c (asm_debug): Move initialization ...
20615 (init_spec): ... here.
20616
17f44f02
NS
206172002-07-05 Nathan Sidwell <nathan@codesourcery.com>
20618
20619 * c-parse.in (extdef): Append ';'.
20620 (old_style_parm_decls): Append ';'.
20621
da77408f
DJ
206222002-07-04 Daniel Jacobowitz <drow@mvista.com>
20623
20624 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
20625 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
20626 to gcc_cv_as_gstabs_flag.
20627 * configure: Rebuilt.
20628
ec52b446
GK
206292002-07-04 Geoffrey Keating <geoffk@redhat.com>
20630
20631 * ggc.h (ggc_add_root): Document as obsolete.
20632
8721e3df
R
20633Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
20634
20635 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
20636 (mshflo_w): Likewise.
20637
3767c0fd
R
20638Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
20639
20640 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
20641 vector mode subregs of constants to finding integer mode
20642 subregs of constants.
20643 * cse.c (cse_insn): Use simplify_gen_subreg.
20644 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
20645 From a vector mode expression of different size than the
20646 target mode.
20647
4e314d1f
EC
206482002-07-03 Eric Christopher <echristo@redhat.com>
20649
20650 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
20651 * config/mips/mips.h: Remove deprecated -m<processor> options
20652 and cc1_cpu_spec associated.
20653 (CONSTANT_ADDRESS_P): Fix last patch.
20654 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
20655 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
20656 sunge_sf): Remove.
20657
6f0361e3
SS
206582002-07-03 Stan Shebs <shebs@apple.com>
20659
20660 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
20661 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
20662 (CPP_SPEC): Remove insertion of APPLE_CC definition.
20663
3129af4c
RS
206642002-07-03 Roger Sayle <roger@eyesopen.com>
20665
20666 * combine.c (struct_undo): Change types of recorded substitutions
20667 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
20668 (do_SUBST_INT): Change types of the substitution from unsigned int
20669 to int, to avoid compilation warning from SUBST_INT's only caller.
20670
20671 (make_extraction): Add cast to avoid compilation warning.
20672 (force_to_mode): Remove cast to avoid compilation warning.
20673
c7375e61
EB
206742002-07-03 Eric Botcazou <ebotcazou@multimania.com>
20675 Jeff Law <law@redhat.com>
20676
20677 * i386.md (length_immediate attribute): Fix typo.
20678 (length_address attribute): Likewise.
20679 (modrm attribute): Set it to 0 for immediate call instructions.
20680 (jcc_1 pattern): Set modrm attribute to 0.
20681 (jcc_2 pattern ): Likewise.
20682 (jump pattern): Likewise.
20683 (doloop_end_internal pattern): Explicitly set length.
20684 (leave pattern): Fix typo.
20685 (leave_rex64 pattern): Likewise.
20686
61c07d3c
DE
206872002-07-03 David Edelsohn <edelsohn@gnu.org>
20688
20689 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
20690 in FPR as preference.
20691 (fctiwz): Same.
20692 (floatdidf2, fix_truncdfdi2): Same.
20693 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
20694 (floatditf2): Same.
20695 (floatsitf2, fix_trunctfsi2): SImode in GPR.
20696 (ctrdi): Remove FPR alternative and splitter.
20697
206982002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
20699
20700 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
20701
34a80643
R
20702Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
20703
20704 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
20705 than UNITS_PER_WORD, unless this is little endian and the first unit
20706 in this word. Let extract_bit_field decide how to load an element.
20707 Force arguments to matching mode.
20708 (expand_vector_unop): Likewise.
20709
20710 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
20711 consist of word_mode elements.
20712 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
20713 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
20714 (build_unary_op): Allow vector types for BIT_NOT_EPR.
20715 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
20716 CONST_VECTOR.
20717 * optabs.c (expand_vector_binop): Try to perform operation in
20718 smaller vector modes with same inner size. Add handling of AND, IOR
20719 and XOR. Reject expansion to inner-mode sized scalars when using
20720 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
20721 (expand_vector_unop): Try to perform operation in smaller vector
20722 modes with same inner size. Add handling of one's complement.
20723 When there is no vector negate operation, try a vector subtract
20724 operation. Use simplify_gen_subreg on constants.
20725 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
20726 constants into smaller vectors with same inner mode, and to
20727 integer CONST_DOUBLEs.
20728
622d3731
KG
207292002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20730
20731 * c-parse.in (parsing_iso_function_signature): New variable.
20732 (extdef_1): New, copied from...
20733 (extdef): ... here. Reset parsing_iso_function_signature.
20734 (old_style_parm_decls): Reset parsing_iso_function_signature.
20735 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
20736 Warn about ISO C style function definitions.
20737 (nested_function, notype_nested_function): Reset
20738 parsing_iso_function_signature.
20739 (parmlist_2): Set parsing_iso_function_signature.
20740
20741 * doc/invoke.texi (-Wtraditional): Document new behavior.
20742
9bb46191
CD
207432002-07-02 Chris Demetriou <cgd@broadcom.com>
20744
20745 * config.gcc (mips*el-*-*): Use tm_defines to set
20746 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
20747 * config/mips/little.h: Remove.
20748
e1c2dd26 207492002-07-02 Devang Patel <dpatel@apple.com>
c40da518 20750
c40da518 20751 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
20752 object as parameter. Prevent something like 'NSObject' to be
20753 used as the type for a method argument.
c40da518 20754
0879540b
NB
207552002-07-03 Neil Booth <neil@daikokuya.co.uk>
20756
20757 * cpptrad.c: Update comment.
20758
b6fb43ab 207592002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 20760
b6fb43ab
NB
20761 * doc/cpp.texi: Update for traditional preprocessing changes.
20762 * goc/cppopts.texi: Similarly.
20763
c1c5187c
ZL
207642002-07-02 Ziemowit Laski <zlaski@apple.com>
20765
20766 * c-parse.in (designator): Enable designated initializers if ObjC.
20767 (objcmessageexpr): Remove references to objc_receiver_context.
20768 * objc/objc-act.h (objc_receiver_context): Remove decl.
20769 * objc/objc-act.c (objc_receiver_context): Remove.
20770 (lookup_objc_ivar): Test objc_method_context instead of
20771 objc_receiver_context.
20772
52702ae1
R
20773Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
20774
20775 * sh.c (print_operand, case 'N'): Allow zero vector.
20776 (arith_reg_or_0_operand): Likewise.
20777 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 20778 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
20779 IOR, XOR, PLUS and SET and take their respective constant
20780 ranges into account.
20781 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
20782 * sh.md (subdi3, subdi3_media): Allow zero operand.
20783 (movv8qi_i+3): Only vector that is not split is the zero vector.
20784 Fix operand 3 to simplify_subreg.
20785 (movv2si_i): Split alternative 1.
20786 (mshfhi_l_di_rev+1): New splitter.
20787
49e7b251
NB
207882002-07-02 Neil Booth <neil@daikokuya.co.uk>
20789
ba57a9c0 20790 PR preprocessor/7029
49e7b251
NB
20791 * cppinit.c (cpp_handle_option): Suppress warnings with an
20792 implicit "-w" for "-M" and "-MM".
20793 * doc/cppopts.texi: Update.
20794
a3acdc0c
RS
207952002-07-01 Roger Sayle <roger@eyesopen.com>
20796
20797 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
20798 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
20799 builtin_function.
20800
0b558962
AM
208012002-07-02 Alan Modra <amodra@bigpond.net.au>
20802
20803 * README.Portability: Fix typos.
20804
9a81c5b7
HPN
208052002-07-01 Hans-Peter Nilsson <hp@axis.com>
20806
20807 PR target/7177
20808 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
20809 of indirections for register inside sign-extended mem part.
20810
6a2dd09a
RS
208112002-07-01 Roger Sayle <roger@eyesopen.com>
20812
20813 * tree.h: Modify builtin_function interface to take an extra
20814 argument ATTRS, which is a tree representing an attribute list.
20815
20816 * c-decl.c (builtin_function): Accept additional parameter.
20817 * objc/objc-act.c (builtin_function): Likewise.
20818 * f/com.c (builtin_function): Likewise.
20819 * java/decl.c (builtin_function): Likewise.
20820 * ada/utils.c (builtin_function): Likewise.
20821 * cp/decl.c (builtin_function): Likewise.
20822 (builtin_function_1): Likewise.
20823
20824 * c-common.c (c_common_nodes_and_builtins): Pass an additional
20825 NULL_TREE argument to builtin_function. (builtin_function_2):
20826 Likewise.
20827 * cp/call.c (build_java_interface_fn_ref): Likewise.
20828 * objc/objc-act.c (synth_module_prologue): Likewise.
20829 * java/decl.c (java_init_decl_processing): Likewise.
20830 * f/com.c (ffe_com_init_0): Likewise.
20831
20832 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
20833 NULL_TREE argument to builtin_function.
20834 * config/arm/arm.c (def_builtin): Likewise.
20835 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
20836 * config/i386/i386.c (def_builtin): Likewise.
20837 * config/ia64/ia64.c (def_builtin): Likewise.
20838 * config/rs6000/rs6000.c (def_builtin): Likewise.
20839
e20569ae
ZW
208402002-07-01 Zack Weinberg <zack@codesourcery.com>
20841
20842 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
20843 * config/mips/t-isa3264: Likewise.
20844 * config/mmix/t-mmix: Likewise.
20845
f1b690f1
JDA
208462002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
20847
20848 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
20849
6bfa5aac
RS
208502002-07-01 Roger Sayle <roger@eyesopen.com>
20851
20852 PR opt/4046
20853 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
20854 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
20855 B are truth values.
20856
9a5c1b9d
NN
208572002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
20858
20859 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
20860
d3fc4dbc
MK
208612002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
20862
3b2124df
MK
20863 * README.Portability (Function prototypes): Give an example of
20864 declaring and defining a function with no arguments.
20865
d3fc4dbc
MK
20866 * README.Portability (Function prototypes): Document new
20867 variable-argument function macros.
20868
c1b92d09
R
20869Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
20870
20871 * sh.c (langhooks.h): Include.
20872 (sh_init_builtins, sh_media_init_builtins): New functions.
20873 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
20874 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
20875 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
20876 (builtin_description): New struct tag.
20877 (signature_args, bdesc): New arrays.
20878 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
20879 (print_operand): Add 'N' modifier.
20880 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
20881 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
20882 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
20883 (CONST_COSTS): Add special case for SHmedia AND.
20884 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
20885 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
20886 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
20887 target_operand can also be const or unspec.
20888 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
20889 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
20890 (attribute type): Add new types.
20891 (anddi3): Add splitter.
20892 (movdi_const_16bit+1): Add code to handle vector constants and
20893 bitmasks efficiently.
20894 (shori_media): Have generator function made.
20895 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
20896 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
20897 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
20898 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
20899 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
20900 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
20901 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
20902 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
20903 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
20904 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
20905 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
20906 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
20907 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
20908 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
20909 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
20910 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
20911 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
20912 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
20913 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
20914 (ftrv): Likewise.
20915
20916 (fpu_switch+1, fpu_switch+2): Remove constraint.
20917
97ebc06f
AH
209182002-07-01 Aldy Hernandez <aldyh@redhat.com>
20919
6c535c69
ZW
20920 * tree.c (build_function_type_list): Update function comment.
20921 Rename first argument to return_type.
97ebc06f 20922
353a10d0
NB
209232002-07-01 Neil Booth <neil@daikokuya.co.uk>
20924
20925 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
20926 tradcif.y and related files.
20927
e34cabb3
NB
209282002-07-01 Neil Booth <neil@daikokuya.co.uk>
20929
20930 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
20931
8bf3ccbb
KG
209322002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20933
20934 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
20935
44eedb75 20936See ChangeLog.7 for earlier changes.
This page took 2.956782 seconds and 5 git commands to generate.