]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
cfgloopanal.c (num_loop_insns, [...]): Count only real insns.
[gcc.git] / gcc / ChangeLog
CommitLineData
91f4cfe3
ZD
12003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2
3 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
4 real insns.
5 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
6 condition.
7
ac38d8da
NB
82003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
9
10 * doc/cpp.texi: Fix typos.
11
82b1c974
UW
122003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
13
14 * config/s390/s390.c (s390_function_arg_float): New function.
15 (s390_function_arg_pass_by_reference): Use it.
16 (s390_function_arg_advance): Likewise.
17 (s390_function_arg): Likewise.
18 (s390_va_arg): Likewise
19
6d70e6be
NS
202003-05-11 Nathan Sidwell <nathan@codesourcery.com>
21
22 * coverage.h (coverage_counter_alloc): New function.
23 * function.h (struct function): Remove arc_profile flag.
24 * coverage.c (fn_ident): Remove.
25 (fn_b_ctrs, no_coverage): New.
26 (get_coverage_counts): Use current_function_funcdef_no.
27 (coverage_counter_alloc): New.
28 (coverage_counter_ref): Adjust.
29 (coverage_begin_output): Check no_coverage. Use
30 current_function_funcdef_no.
31 (coverage_end_function): Likewise.
32 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
33 than clearing flag_inline_functions. Do not clear arc_profile
34 flag.
35 * function.c (prepare_function_start): Do not set arc_profile
36 flag.
37 * profile.c (instrument_edges): Return number of instrumented
38 edges. Use a for loop.
39 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
40 local to here and simplify. Use profile_arc_flag not arc_profile
41 flag.
42 (find_spanning_tree): Reformat.
43 * toplev.c (rest_of_compilation): Use profile_arc_flags and
44 flag_test_coverage rather than arc_profile flag.
45
78d0a54d
GDR
462003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
47
48 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
49
a71c8ddc
RK
502003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
51
52 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
53
6e270179
NB
542003-05-11 Bruno Haible <bruno@clisp.org>
55
56 * cppfiles.c (find_or_create_entry): Preserve errno.
57
582003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
59
60 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
61 cpplib as it's a Standard Predefined Macro.
62 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
63 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
64 __STDC_HOSTED__ appropriately.
65 * cpplib.h (_cpp_init_builtins): Update.
66 * fix-header.c (read_scan_file): Update.
67 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
68
f333504d
GDR
692003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
70
71 PR C++/689
72 PR C++/9257
73 * c-opts.c (c_common_decode_option): Don't set
74 warn_ctor_dtor_privacy wen -Wall.
75 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
76
6e5d72ba
AO
772003-05-10 Alexandre Oliva <aoliva@redhat.com>
78
79 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
80 patch.
81
59650e48
ZW
822003-05-10 Zack Weinberg <zack@codesourcery.com>
83
84 * diagnostic.c: Reorder functions for clarity, putting all the
85 functions in the "error" family next to each other, and
86 likewise all the functions in the "error_with_decl" family.
87 Some other routines were moved too. Add comments.
88 (vbuild_message_string): Fold into sole caller.
89
90
34dc173c
UW
912003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
92
93 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
94 (EH_RETURN_HANDLER_RTX): Likewise.
95 (expand_builtin_eh_return): Do not copy stack adjustment
96 if EH_RETURN_STACKADJ_RTX is not defined.
97 (expand_eh_return): Likewise. Also, do not pass stack
98 adjustment as argument to the eh_return pattern.
99 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
100 because EH_RETURN_STACKADJ_RTX is not defined.
101 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
102 is not defined, treat stack pointer like a regular register.
103 (uw_init_context_1): Set up fake initial stack pointer register.
104 (uw_install_context_1): Do not compute stack adjustment if
105 EH_RETURN_STACKADJ_RTX is not defined.
106
107 * config/i386/i386.md ("eh_return"): Remove first argument.
108 * config/mips/mips.md ("eh_return"): Likewise.
109 * config/rs6000/rs6000.md ("eh_return"): Likewise.
110 * config/sh/sh.md ("eh_return"): Likewise.
111
112 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
113
a64d0bc6
AA
1142003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
115
116 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
117
9b514d25
NS
1182003-05-10 Nathan Sidwell <nathan@codesourcery.com>
119
120 * defaults.h (GCOV_TYPE_SIZE): Remove.
121 * gcov-io.h (gcov_type): Set to specific mode int on target.
122 (gcov_unsigned_t, gcov_position_t): New.
123 (GCOV_TYPE_NODE): New.
124 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
125 (GCOV_COUNTERS_SUMMABLE): New.
126 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
127 gcov_ctr_info, gcov_info): Adjust types.
128 (gcov_var): Adjust types.
129 (gcov_write_unsigned, gcov_write_tag,
130 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
131 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
132 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
133 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
134 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
135 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
136 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
137 __gcov_init, __gcov_merge_add): Adjust gcov types.
138 * coverage.c (ctr_merge_functions): Constify.
139 (ctr_names): New.
140 (read_counts_file): Adjust gcov types. Only summarize & merge
141 summable counters.
142 (coverage_counter_ref): Use GCOV_TYPE_NODE.
143 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
144 build_ctr_info_value, build_gcov_info): Adjust types.
145 * profile.c (branch_prob): Adjust gcov types.
146 * gcov_dump (dump_file): Adjust gcov types.
147
03f1640c
RE
1482003-05-10 Richard Earnshaw <rearnsha@arm.com>
149
59650e48 150 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
03f1640c
RE
151 constants.
152 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
59650e48 153 * arm.c (arm_select_dominance_cc_mode): Renamed from
03f1640c
RE
154 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
155 Callers updated.
156 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
157
3ee10665
RS
1582003-05-09 Roger Sayle <roger@eyesopen.com>
159
160 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
161 as unsigned to avoid signed/unsigned comparison warnings.
162
0bd0703d
BW
1632003-05-09 Bob Wilson <bob.wilson@acm.org>
164
165 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
166 instruction if the Xtensa density option is enabled.
167
1476c9d9
MK
1682003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
169
170 * mklibgcc.in: Remove extra quotes.
171
36e8d515
MM
1722003-05-09 Mark Mitchell <mark@codesourcery.com>
173
174 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
175 of int_ftype_void.
176
f8a30250
AO
1772003-05-09 Alexandre Oliva <aoliva@redhat.com>
178
179 * reload1.c (reload_cse_move2add): Don't turn an implicit
180 truncation into a self-set in the narrow mode.
181
e912eadf
RE
1822003-05-09 Richard Earnshaw <rearnsha@arm.com>
183
184 * arm.md (clzsi2): The CLZ instruction is predicable.
185
638db43e
BW
1862003-05-09 Bob Wilson <bob.wilson@acm.org>
187
188 * config/xtensa/xtensa.c: Formatting.
189
5675294b
DN
1902003-05-09 Diego Novillo <dnovillo@redhat.com>
191
192 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
193 instead of TREE_OPERAND to access the operand of a
194 CONSTRUCTOR node.
195
ec0f4995
DN
1962003-05-09 Diego Novillo <dnovillo@redhat.com>
197
198 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
199 one operand.
200
3c4b6438
GDR
2012003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
202
203 * toplev.h (warning_with_file_and_line): Don't declare.
204 (error_with_file_and_line): Likewise.
205 * diagnostic.c (error_with_file_and_line): Remove.
206 (warning_with_file_and_line): Likewise.
207
49468c8b
GDR
2082003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
209
210 * c-parse.in (if_stmt_locus): New object.
211 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
212 (select_or_iter_stmt rule): Likewise.
213 (if_stmt_file): Remove.
214 (if_stmt_line): Likewise.
215 * jump.c: include "diagnostic.h"
59650e48 216 (never_reached_warning): Don't use warning_with_file_and_line.
49468c8b
GDR
217 * Makefile.in (jump.o): Add dependce on diagnostic.h
218
c6b97fac
AM
2192003-05-09 Alan Modra <amodra@bigpond.net.au>
220
221 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
222 Move code handling pieces not larger than a word to..
223 * function.c (assign_parms): ..here, but use change_address instead
224 of adjust_address and operand_subword, and expand_binop instead of
225 expand_shift. Adjust calls to move_block_from_reg.
226 * expr.h (move_block_from_reg): Update declaration.
227 (copy_blkmode_from_reg): Formatting.
228 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
229 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
230 move_block_from_reg calls.
231 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
232 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
233 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
234 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
235 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
236 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
237 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
238 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
239 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
240
06d22853
DD
2412003-05-08 DJ Delorie <dj@redhat.com>
242
243 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
244 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
245 variable-sized types).
246 (xstormy16_function_arg): New. Pass them that way too.
247 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
248 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
249
d0affb9f
AH
2502003-05-08 Aldy Hernandez <aldyh@redhat.com>
251
59650e48
ZW
252 * mklibgcc.in: Use mkinstalldirs when installing multilib
253 directories.
d0affb9f 254
ddf8ec7e
R
2552003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
256
257 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
258 instead of CODE_FOR_jump
259
67f7893c
GDR
2602003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
261
262 * objc/objc-act.c (error_with_ivar): Don't use
59650e48 263 error_with_file_and_line.
67f7893c
GDR
264 (warn_with_method): Don't use warning_with_file_and_line.
265
c8608cd6
GDR
2662003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
267
268 * stmt.c (emit_locus): New macro.
269 (emit_filename): Remove.
270 (emit_lineno): Likewise.
271 (struct stmt_status): Replace members x_emit_filename and
272 x_emit_lineno with x_emit_locus.
273 (set_file_and_line_for_stmt): Adjust.
67f7893c 274 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
c8608cd6
GDR
275 (warn_if_unused_value): Likewise.
276 (check_seenlabel): Likewise.
277
95035b6f
GDR
2782003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
279
280 * c-decl.c (define_label): Tidy. Don't use any of
281 error_with_file_and_line or warning_with_file_and_file.
282 (pending_xref_error): Likewise.
283 (store_parm_decls): Likewise.
284 (current_function_prototype_locus): New object. Package from
285 current_function_prototype_file and current_function_prototype_line.
286 (start_function): Use it.
287 (current_function_prototype_file): Remove.
288 (current_function_prototype_line): Remove;
289
7dc61d6c
KG
2902003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
291
292 * builtins.c (readonly_data_expr): New function.
293 (expand_builtin_memmove): Optimize any rodata source, not just
294 strings.
295
044075ac
DM
2962003-05-07 David Mosberger <davidm@hpl.hp.com>
297
59650e48 298 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
044075ac 299
8231b3f9
RH
3002003-05-07 Richard Henderson <rth@redhat.com>
301
302 * config/i386/i386.c (ix86_split_long_move): Fix base register
303 mode for XFmode splits for TARGET_64BIT.
304
0212907f
RH
3052003-05-07 Richard Henderson <rth@redhat.com>
306
307 * sched-ebb.c (schedule_ebb): Supply the correct starting
308 block number to save_line_notes.
309
c079e6fe
RH
3102003-05-07 Richard Henderson <rth@redhat.com>
311
312 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
313 (dump_file): Likewise.
314
c35b64c2
DM
3152003-05-07 David Mosberger <davidm@hpl.hp.com>
316
59650e48 317 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
c35b64c2 318 forget to preserve gp.
59650e48
ZW
319 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
320
321 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
322 .prologue directive.
323 Use .skip instead of data8 for .bss section to make Intel
324 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
325 explicit in the .mib bundles and remove the unnecessary stop
326 bits. Replace local labels with normal labels, to make ias
327 happy. Don't register __do_global_ctors_aux here, do it in
328 crtend.asm instead.
329
330 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
331 __do_global_ctors_aux in .init_array section instead of
332 declaring it as a hidden global. Replace local labels with
333 ordinary labels to make ias happy.
c35b64c2 334
a944ceb9
RH
3352003-05-07 Richard Henderson <rth@redhat.com>
336
59650e48
ZW
337 PR c++/10570
338 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
339 * flags.h, toplev.c, doc/invoke.texi: Likewise.
a944ceb9 340
59650e48
ZW
341 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
342 * unwind.inc (_Unwind_DeleteException): Check for null
343 exception_cleanup.
a944ceb9 344
59650e48
ZW
345 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
346 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
347 * unwind.h: Declare them.
348 * libgcc-std.ver (GCC_3.3): Export them.
a944ceb9 349
9330e977
RH
3502003-05-07 Richard Henderson <rth@redhat.com>
351
a21d83cd 352 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
9330e977
RH
353 not _Unwind_Word.
354
046e4e36
ZW
3552003-05-07 Zack Weinberg <zack@codesourcery.com>
356
357 * stmt.c (force_label_rtx): New function, based on logic
358 formerly found in expand_expr.
359 * expr.h: Prototype it.
360 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
361 appropriate.
362 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
363
364 * print-tree.c (debug_tree): Free the table after we're done
365 with it. Use putc.
366
12850cf2
AH
3672003-05-07 Aldy Hernandez <aldyh@redhat.com>
368
046e4e36
ZW
369 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
370 Unreverse arguments for __ev_subw.
12850cf2 371
046e4e36 372 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
12850cf2 373
54350d48
NC
3742003-05-07 Nick Clifton <nickc@redhat.com>
375
376 * config/stormy16/stormy-abi: Update to include
377 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
378 R_XSTORMY16_12 relocs.
379
ffea5d1e
AM
3802003-05-07 Alan Modra <amodra@bigpond.net.au>
381
382 * function.c (assign_parms): Correct reversed reg_parm_stack_space
383 test. Add partial in-regs size to stack_args_size.
384
da635858
GP
3852003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
386
387 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
388 as a C only option.
389
474f141e
NS
3902003-05-07 Nathan Sidwell <nathan@codesourcery.com>
391
392 * gcov-io.h (GCOV_LOCKED): New #define.
393 (GCOV_LINKAGE): Make sure it is #defined.
394 (gcov_write_string, gcov_write_tag, gcov_write_length,
395 gcov_read_string, gcov_time): Poison in libgcov.
396 (gcov_seek_end): Remove.
397 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
398 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
399 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
400 GCOV_TAG_SUMMARY_LENGTH): New #defines.
401 (gcov_write_tag, gcov_write_length): Not in libgcov.
402 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
403 (gcov_write_tag, gcov_write_length): Not in libgcov.
404 (gcov_write_tag_length): New.
405 (gcov_write_summary): Use gcov_write_tag_length.
406 * libgcov.c: Always #include gcov-io.h.
407 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
408 (GCOV_LINKAGE): Define to nothing for L_gcov.
409 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
410 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
411 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
412 (read_count_file): Likewise.
413 * gcov-dump.c (dump_file): Likewise.
414 * coverag.c (read_counts_file): Likewise.
415
6cbeaa7e
MM
4162003-05-06 Mark Mitchell <mark@codesourcery.com>
417
418 PR other/10658
419 * gcc.c (process_command): Update copyright date.
420
26979a17
PE
4212003-05-06 Phil Edwards <pme@gcc.gnu.org>
422
423 * doc/install.texi (mips-*-*): Add note about libstdc++.
424
14b56832
DD
4252003-05-06 DJ Delorie <dj@redhat.com>
426
427 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
428 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
429 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
430
2c2bc09b
NB
4312003-05-06 <neil@cat.daikokuya.co.uk>
432
433 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
434 and -Wstrict-prototypes if C++.
435
2f3f95e9
AH
4362003-05-06 Aldy Hernandez <aldyh@redhat.com>
437
046e4e36 438 * config/rs6000/linuxspe.h: New file.
2f3f95e9 439
046e4e36 440 * config.gcc: Add powerpc-*-linux-gnuspe* target.
2f3f95e9 441
8b689196
RH
4422003-05-06 Richard Henderson <rth@redhat.com>
443
046e4e36 444 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
8b689196
RH
445 previous frame didn't save sp. Clear sp for next frame.
446 (uw_install_context_1): Honor saved sp from frame.
447
5b0f0db6
RS
4482003-05-06 Richard Sandiford <rsandifo@redhat.com>
449
450 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
451 (mips_move_1word, mips_move_2words): Remove declaration.
452 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
453 (mips_restore_gp): Remove insn argument.
454 * config/mips/mips.h (FP_REG_RTX_P): New macro.
455 * config/mips/mips.c (volatile_buffer): Remove.
456 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
457 (mips_move_1word, mips_move_2words): Remove, replacing with...
458 (mips_output_move): ...this new function.
459 (mips_restore_gp): Remove insn argument. Adjust for above changes.
460 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
461 handling of floating-point constants. Handle zero CONST_DOUBLE
462 arguments.
463 (mips_annotate_frame_insn): Replace with...
464 (mips_set_frame_expr): ...this, which just takes one argument.
465 (mips_frame_set): Change the register argument to an rtx.
466 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
467 check whether moves should be split. Use mips_split_64bit_move
468 to split them. Use mips_subword to generate the high and low
469 parts of a paired FPR. Adjust calls to frame_set and
470 mips_set_frame_expr.
471 (mips_expand_prologue): Simplify due to above changes.
472 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
473 targets, replacing xisting register-only versions.
474 (UNSPEC_STORE_DF_HIGH): New unspec.
475 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
476 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
477 (*paradoxical_extendhidi2): Remove.
478 (movdi_internal, movdi_internal2): Use mips_output_move.
479 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
480 (movsf_internal1, movsf_internal2): Likewise.
481 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
482 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
483 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
484 Add m <- G alternative.
485 (load_df_low, load_df_high, store_df_low): New patterns.
486 (movhi_internal): Use @ template instead of calling a function.
487 Remove unnecessary 'z' alternatives.
488 (movqi_internal): Likewise.
489 (exception_receiver): Update call to mips_restore_gp.
490
e8b84d3d
RS
4912003-05-06 Richard Sandiford <rsandifo@redhat.com>
492
493 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
494 (mips_delegitimize_address): Declare.
495 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
496 (FIND_BASE_TERM): Define.
497 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
498 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
499 Handle small-data addresses.
500
e82a312b
RS
5012003-05-05 Roger Sayle <roger@eyesopen.com>
502
503 * real.c (real_powi): New function to calculate the value of
504 a real raised to an integer power, i.e. pow(x,n) for int n.
505 (real_sqrt): Convert to using the faster do_add, do_multiply
506 and do_divide API for consistency with the rest of real.c.
507 * real.h (real_powi): Prototype here.
508 * builtins.c (fold_builtin): Avoid local variable mode when
509 evaluating sqrt at compile time. Attempt to evaluate pow at
510 compile-time, by checking for an integral exponent.
511
905e8651
RH
5122003-05-05 Richard Henderson <rth@redhat.com>
513
514 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
515
88467101
DB
5162003-05-05 David O'Brien <obrien@FreeBSD.org>
517
518 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
519 other FreeBSD ports.
520 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
cb1f476f 521 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
88467101 522
6ccfe27c
JJ
5232003-05-05 Janis Johnson <janis187@us.ibm.com>
524
525 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
526 expanded variables.
527 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
528
10b6a274
ZW
5292003-05-05 Zack Weinberg <zack@codesourcery.com>
530
531 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
532 * varasm.c (struct varasm_status): Add deferred_constants field.
533 (n_deferred_strings): Delete variable.
534 (n_deferred_constants): New #define.
535 (struct constant_descriptor_tree): Kill next and label fields.
536 (const_hash_table, MAX_HASH_TABLE): Delete.
537 (const_desc_htab): New static variable.
538 (const_hash): Rename const_desc_hash, and make it fit the
539 hashtab.h interface.
540 (const_desc_eq): New.
541 (const_hash_1, compare_constant): Const-ify arguments.
542 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
543 SYMBOL_REFs. Clarify comments. Don't set desc->label.
544 (output_constant_def): Do the lookup/insert using the
545 hashtab.h interface. Don't muck with n_deferred_constants or
546 DEFERRED_CONSTANT_P here.
547 Always call maybe_output_constant_def_contents.
548 (maybe_output_constant_def_contents): Take a pointer to the
549 descriptor, not the EXP and RTL separately. Return
550 immediately if this constant is not deferred. Defer output of
551 everything, except writable string constants. Update
552 n_deferred_constants here.
553 (output_constant_def_contents): Now takes just one argument,
554 an rtx. Clear DEFERRED_CONSTANT_P here.
555 (mark_constant_pool): Update for rename of n_deferred_strings.
556 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
557
558 (init_varasm_status): Clear p->deferred_constants.
559 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
560
68ef8841
KG
5612003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
562
563 * builtins.c (expand_builtin_stpcpy): Only expand when the length
564 of the source string can be evaluated at compile-time.
565
9938b5d9
AH
5662003-05-05 Aldy Hernandez <aldyh@redhat.com>
567
10b6a274 568 * testsuite/gcc.c-torture/compile/simd-6.c: New.
9938b5d9 569
10b6a274 570 * c-typeck.c (digest_init): Handle arrays of vector constants.
9938b5d9 571
e3e9f108
JJ
5722003-05-05 Jakub Jelinek <jakub@redhat.com>
573
574 * builtins.c (expand_builtin_mempcpy): New function.
575 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
576 ignored into strcpy no matter what arguments it has.
577 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
578 expand_builtin_mempcpy.
579
6035d635
AH
5802003-05-05 Aldy Hernandez <aldyh@redhat.com>
581
10b6a274 582 * testsuite/gcc.dg/20030505.c: New.
6035d635 583
10b6a274
ZW
584 * c-typeck.c (convert_for_assignment): Opaque pointers can
585 interconvert.
6035d635 586
10b6a274
ZW
587 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
588 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
589 (spe_init_builtins): Rename all pv2si_type_node to
590 opaque_p_V2SI_type_node.
591 Remove declaration of pv2si_type_node.
592 (is_ev64_opaque_type): Accept opaque pointers.
6035d635 593
36b29d7d
GK
5942003-05-05 Geoffrey Keating <geoffk@apple.com>
595
bc9ec0e0
GK
596 * config/rs6000/rs6000.c (validate_condition_mode): Use
597 flag_finite_math_only.
598 (rs6000_reverse_condition): Never return UNKNOWN; use
599 flag_finite_math_only.
600 (rs6000_generate_compare): Use flag_finite_math_only.
601 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
602 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
10b6a274 603 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
bc9ec0e0 604
36b29d7d
GK
605 * toplev.c (check_global_declarations): Suppress not-used warning
606 for volatile variables.
607
9e5f281f
OH
6082003-05-05 Olivier Hainque <hainque@act-europe.fr>
609
10b6a274
ZW
610 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
611 usage of bitfield instructions for mode1 != BLKmode, only ignoring
612 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
613 (store_field): Likewise.
9e5f281f 614
f5119d10
AH
6152003-05-05 Aldy Hernandez <aldyh@redhat.com>
616
10b6a274
ZW
617 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
618 evsubifw to builtins accepting 5-bit unsigned constants.
619 (easy_vector_constant): Return if V1DImode. Fix typo.
f5119d10 620
25ecd459
AH
6212003-05-05 Aldy Hernandez <aldyh@redhat.com>
622
10b6a274 623 * config/rs6000/spe.h: Revert licensing change from last patch.
25ecd459 624
9be13211
DD
6252003-05-05 DJ Delorie <dj@redhat.com>
626
627 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
628 before reload, but defer the split until after.
629 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
630 to match.
631
2c9d95ef
DE
6322003-05-05 David Edelsohn <edelsohn@gnu.org>
633
634 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
635 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
636
1e77e673
ZD
6372003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
638
639 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
10b6a274 640 is defined.
1e77e673 641
00362064
KG
6422003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
643
644 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
645 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
646 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
647
648 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
649 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
650 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
651 New.
652
653 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
654 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
655
656 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
657 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
658 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
659 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
660 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
661 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
662 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
663 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
664 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
665 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
666 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
667 BUILT_IN_STRDUP): Add "nonnull" attribute.
668
ad26fb41
RK
6692003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
670
c1853da7
RK
671 * expr.c (store_field): Don't clobber TEMP in shift: it might be
672 a variable.
673 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
674 whose purpose is to step up the alignment.
675 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
676
ad26fb41
RK
677 * stor-layout.c (compute_record_mode): Relax restriction
678 on fields crossing word boundaries forcing BLKmode.
679
1fecc266
NB
6802003-05-04 Neil Booth <neil@daikokuya.co.uk>
681
682 * cppinit.c (cpp_create_reader, post_options): Warn about
683 trigraphs unless explicity set or -trigraphs.
684 * cpplex.c (warn_in_comment): New.
685 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
686 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
687 * doc/cppopts.texi, doc/cpp.texi: Update.
688
09780dfb
ZD
6892003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
690
691 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
692 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
693 namespace clash.
694 (GCOV_MERGE_FUNCTIONS): New.
695 (gcov_merge_fn): Declare.
696 (struct gcov_ctr_info): New field "merge".
697 (__gcov_merge_add): Declare.
698 * coverage.c (ctr_merge_functions): New.
699 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
700 of gcov_ctr_info type.
701 * libgcov.c (__gcov_merge_add): New.
702 (gcov_exit): Call a hook to merge values of counters.
703
c71f2ffd
GDR
7042003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
705
706 * toplev.h (pedwarn_with_file_and_line): Don't declare.
707 * diagnostic.c (pedwarn_with_file_and_line): Remove.
708
3d885683
GDR
7092003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
710
711 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
712
8c9b38d7
KG
7132003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
714
715 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
716 expand_builtin_frame_address): Update prototypes.
717 (expand_builtin_constant_p, expand_builtin_strlen,
718 expand_builtin_strcpy, expand_builtin_memset,
719 expand_builtin_bzero, expand_builtin_args_info,
720 expand_builtin_frame_address): Pass in just the argument(s)
721 needed, not the entire expression `exp'.
722 (expand_builtin): Update all calls to these functions.
723
9c80ff25
RH
7242003-05-03 Richard Henderson <rth@redhat.com>
725
726 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
727 <BUILT_IN_DWARF_SP_COLUMN>: New.
728 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
729 (BUILT_IN_DWARF_SP_COLUMN): New.
730 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
731 (expand_builtin_dwarf_sp_column): New.
732 * except.h: Update to match.
733 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
734 (execute_cfa_program): Record location expression address
735 before extracting length.
736 (uw_update_context_1): Install old CFA into stack pointer column.
737 (uw_init_context_1): Set cfa_reg to stack pointer column.
738
4d588c14
RH
7392003-05-03 Richard Henderson <rth@redhat.com>
740
741 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
742 return bool.
743 (toc_relative_expr_p): Likewise.
744 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
745 (legitimate_constant_pool_address_p): Move from rs6000.h, change
746 into a function, downcase all users.
747 (legitimate_small_data_p): Likewise.
748 (legitimate_offset_address_p): Likewise.
749 (legitimate_indexed_address_p): Likewise.
750 (legitimate_indirect_address_p): Likewise.
751 (legitimate_lo_sum_address_p): Likewise.
752 (rs6000_mode_dependent_address): Likewise.
753 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
754 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
755 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
756 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
757 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
758 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
759 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
760 * config/rs6000/rs6000-protos.h: Update.
761
8d90f9c0
GK
7622003-05-03 Geoffrey Keating <geoffk@apple.com>
763
b39358e1
GK
764 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
765 (REVERSE_CONDITION): Define.
766
b7053a3f
GK
767 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
768 to branch_positive_comparison_operator.
769 (ccr_bit): Check that sCOND conditions are actually a positive bit.
770 (print_operand): Remove %D substitution.
771 (rs6000_emit_sCOND): Generate complement operation to ensure that
772 sCOND input is a positive bit.
773 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
774 same order as bCOND, and add the missing ones. Remove the %D
775 substitutions from the scc patterns.
776
8d90f9c0
GK
777 * simplify-rtx.c (simplify_relational_operation): Add case for
778 ! (fabs(x) < 0.0).
779
8882ac3a
BK
7802003-05-03 Bruce Korb <bkorb@gnu.org>
781
782 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
783 in fixincl.x
784 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
785
bd879e9a
AH
7862003-05-03 Aldy Hernandez <aldyh@redhat.com>
787
4d588c14 788 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
bd879e9a 789
87f85ea0
ZW
7902003-05-03 Zack Weinberg <zack@codesourcery.com>
791
792 PR c/10604
793 * c-common.c (warn_sign_compare): Initialize to -1.
794 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
795 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
796 for C++ only.
797 (c_common_post_options): Set warn_sign_compare from extra_warnings
798 if it's still -1 at this point.
799
800 * toplev.c (maybe_warn_unused_parameter): New static variable.
801 (set_Wextra): New static function.
802 (W_options): Remove "extra".
803 (decode_W_option): Call set_Wextra.
804 (independent_decode_option): Likewise.
805 (set_Wunused): Cooperate with set_Wextra in setting
806 warn_unused_parameter.
807 (rest_of_compilation): No need to check extra_warnings as
808 well as warn_uninitialized.
809
810 * c-typeck.c (build_binary_op, build_conditional_expr):
811 No need to check extra_warnings as well as warn_sign_compare.
812 (internal_build_compound_expr): No need to check extra_warnings
813 as well as warn_unused_value.
814 * function.c (expand_function_end): No need to check extra_warnings
815 as well as warn_unused_parameter.
816 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
817 as well as warn_unused_value.
818
819 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
820
821 * Makefile.in: Disable -Werror for gengtype-lex.o.
822
ee960939
OH
8232003-05-03 Olivier Hainque <hainque@act-europe.fr>
824
825 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
826 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
827 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
828 * calls.c (emit_call_1): Likewise.
87f85ea0 829 (expand_call): For calls initializing constant memory, replace
ee960939
OH
830 emission of standalone mem /u clobber with function usage entry.
831 * expr.c (emit_block_move_via_libcall): Likewise.
832 * cse.c (count_reg_usage, case EXPR_LIST): New case.
833 * flow.c (propagate_one_insn): Pass entire operand of
834 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
835 * integrate.c (try_constants): For CALL_INSNs, substitute constants
836 within the FUNCTION_USAGE also.
837 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
838 FUNCTION_USAGE lists.
839 * reload1.c (replace_pseudos_in): Renamed.
840 (reload): Use it for clobbers surviving until the end of the reload.
841
3923e410
RK
8422003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
843
13cf99ec
RK
844 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
845 gen_lowpart on non-integer modes.
846
3923e410
RK
847 * stor-layout.c (place_field): When adjusting offset_align, use
848 desired_align, not DECL_ALIGN.
849
070588f0
NS
8502003-05-03 Nathan Sidwell <nathan@codesourcery.com>
851
852 * c-decl.c (pending_invalid_xref_file): Remove.
853 (pending_invalid_xref_line): Remove.
854 (pending_invalid_xref_location): New.
855 (lookup_label): Use location_t and input_location directly.
856 (lookup_tag): Likewise.
857 (pending_xref_error): Likewise.
858 (c_expand_body_1): Likewise.
859 * c-common.c (x_expand_start_cond): Likewise.
860 * c-semantics.c (genrtl_for_stmt): Likewise.
861 (find_reachable_label): Likewise.
862 * expr.c (expand_expr): Likewise.
863 * integrate.c (output_inline_function): Likewise.
864 * tree-inline.c (find_alloca_call): Likewise.
865 (find_builtin_longjmp_call): Likewise.
866 * gcc.c (input_filename): Make static.
87f85ea0 867
b259a9a6
RS
8682003-05-03 Richard Sandiford <rsandifo@redhat.com>
869
969c6c43
RS
870 * config/mips/mips.md: Fix comment typo.
871
b259a9a6
RS
872 * config/mips/mips.c (mips_integer_op): New structure.
873 (MIPS_MAX_INTEGER_OPS): Define.
874 (mips_const_insns): Use mips_build_integer to determine the number
875 of instructions needed to load a CONST_INT.
876 (move_operand): Reject compound CONST_INTs.
877 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
878 (mips_move_integer): New fn.
879 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
880 (mips_legitimize_move): Only legitimize constants when moving
881 word or subword values.
882
28068c2c
MK
8832003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
884
885 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
886
685828f7
KG
8872003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
888
889 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
890 modifying it.
891
d9e95c63
FH
8922003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
893 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
894
895 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
896 Hernandez, and Kazu Hirata. Update Richard Henderson.
897
7454096f
GK
8982003-05-02 Geoffrey Keating <geoffk@apple.com>
899
b86fe7b4
GK
900 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
901 to tentative declaration.
87f85ea0 902
20bfcd69
GK
903 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
904 (SYMBOL_FLAG_SMALL_V4): Delete.
905 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
906 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
907 (rs6000_elf_in_small_data_p): Add extra section names. Add
908 comment about TREE_PUBLIC test.
909
7454096f
GK
910 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
911 expand_stmt on result of expand_unreachable_stmt.
912
3f4a3170
GP
9132003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
914
915 * doc/contrib.texi (Contributors): Add Daniel Berlin.
916
473f51b6
DE
9172003-05-02 David Edelsohn <edelsohn@gnu.org>
918
919 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
920 number of automata.
921
922 * config/rs6000/rs6000.c (symbol_ref_operand): Check
923 SYMBOL_REF_FUNCTION_P on AIX.
924 (current_file_function_operand): Same.
925 * config/rs6000/rs6000.md (call,call_value): Force non-function
926 symbol_ref into register on AIX.
927
e7949876
AM
9282003-05-02 Alan Modra <amodra@bigpond.net.au>
929
930 * calls.c (struct arg_data): Move offset, slot_offset, size and
931 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
932 (initialize_argument_information): Adjust call to locate_and_pad_parm.
933 Delete alignment_pad var. Don't calculate slot_offset here.
934 (emit_library_call_value_1): Delete alignment_pad, offset and size
935 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
936 Adjust call to locate_and_pad_parm. Don't tweak arg size for
937 partial in-regs here. Formatting fixes.
938 * expr.h (struct locate_and_pad_arg_data): New struct.
939 (locate_and_pad_parm): Adjust declaration.
940 * function.c (assign_parms): Localize vars. Use "locate" instead of
941 other arg location vars. Don't invoke FUNCTION_ARG or
942 FUNCTION_INCOMING_ARG unless pretend_named is different from
943 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
944 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
945 Use slot_offset for stack home of reg parms. Correct test for
946 parm passed in memory. Formatting fixes.
947 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
948 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
949 Correct initial_offset_ptr handling. Localize vars. Always pad
950 locate->offset even when in_regs.
951
6060edcb
NS
9522003-05-02 Nathan Sidwell <nathan@codesourcery.com>
953
954 * Makefile.in (TREE_H): Replace location.h with input.h.
955 (GTFILES) Remove location.h
956 (gt-lists.h): Replace gt-location.h with gt-input.h
957 * input.h (input_filename, input_line): Remove variables.
958 (location_s, location_t): Move from location.h.
959 (input_location): New.
960 (input_filename, input_line): New #defines.
961 * location.h: Remove.
962 * tree.h: Replace location.h with input.h.
963 (input_filename, input_line): Remove.
964 * diagnostic.h: Replace location.h with input.h.
965 * gcc.h (input_filename, input_filename_length): Remove declarations.
966 * toplev.c (input_filename, input_line): Remove.
967 (input_location): Define.
968 (push_srcloc, pop_srcloc): Adjust.
969 * diagnostic.c (diagnostic_report_current_module): Adjust.
970
f8000836
NC
9712003-05-02 Nick Clifton <nickc@redhat.com>
972
973 * configure.in: Add xstormy16 to list of targets that has a nop
974 instruction and hence which can be tested to see if the
975 assembler supports the --gdwarf2 switch.
976 * configure: Regenerate.
977
409f52d3 9782003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
87f85ea0
ZW
979
980 PR target/8257
981 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
982 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
983 Avoid undefined shifts by making the shift operand unsigned.
984
57458e8a
DD
9852003-05-01 DJ Delorie <dj@redhat.com>
986
987 * reload.c (find_reloads): Also check that all of a multi-reg
988 value is in the class.
989
774cb6d1
NS
9902003-05-01 Nathan Sidwell <nathan@codesourcery.com>
991
992 * scan.h (lineno): Revert the rename here.
993
e1a4211d
SS
9942003-05-01 Stan Shebs <shebs@apple.com>
995
996 * config/darwin.c (darwin_encode_section_info): Call
997 default_encode_section_info.
998
02ca7595
DE
9992003-05-01 David Edelsohn <edelsohn@gnu.org>
1000
1001 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
1002 (movsi_internal1): Use new mfjmpr attribute.
1003 (movhi_internal): Same.
1004 (movqi_internal): Same.
1005 (movcc_internal1): Same.
1006 (movdi_internal64): Same.
1007 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
1008 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
1009 * config/rs6000/40x.md: Add fpu_405.
1010 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
1011 into power4misc automata. Remove extraneous parentheses.
1012 * config/rs6000/440.md: New file.
1013 * config/rs6000/rs6000.c (processor_target_table): Add 440,
1014 440fp. Rename 405f to 405fp.
1015 (function_arg_padding): Correct formatting.
1016 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
1017
3b895f8e
NS
10182003-05-01 Nathan Sidwell <nathan@codesourcery.com>
1019
d479d37f
NS
1020 * input.h (lineno): Rename to ...
1021 (input_line): ... here.
1022 * tree.h (lineno): Rename to ...
1023 (input_line): ... here.
1024 * scan.h (lineno): Rename to ...
1025 (input_line): ... here.
1026 * toplev.c (lineno): Rename to ...
1027 (input_line): ... here.
1028 (push_srcloc, pop_srcloc): Rename lineno to input_line.
1029 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
1030 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
1031 store_parm_decls, c_expand_body_1): Likewise.
1032 * c-errors.c (pedwarn_c99): Likewise.
1033 * c-format.c (status_warning): Likewise.
1034 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
1035 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
1036 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
1037 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
1038 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
1039 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
1040 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
1041 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
1042 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
1043 * coverage.c (create_coverage): Likewise.
1044 * diagnostic.c (pedwarn, sorry, error, fatal_error,
1045 internal_error, warning, diagnostic_report_current_module,
1046 inform): Likewise.
1047 * expr.c (expand_expr): Likewise.
1048 * integrate.c (expand_inline_function,
1049 output_inline_function): Likewise.
1050 * rtl-error.c (file_and_line_for_asm): Likewise.
1051 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
1052 walk_tree): Likewise.
1053 * tree.c (make_node): Likewise.
1054 * ada, cp, f, java, objc, treelang: Likewise.
1055 * objc/objc-act.c (objc_init): Rename lineno to input_line.
1056 (build_module_descriptor, build_selector_translation_table,
1057 build_protocol_template, build_method_prototype_list_template,
1058 build_category_template, build_selector_table,
1059 build_class_template, build_super_template, build_ivar_template,
1060 build_ivar_list_template, build_method_list_template,
1061 build_method_template, add_instance_variable): Likewise.
1062
3b895f8e
NS
1063 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
1064 name from input_filename.
1065
cafe096b
EC
10662003-04-30 Eric Christopher <echristo@redhat.com>
1067 Richard Sandiford <rsandifo@redhat.com>
1068
1069 * configure: Regenerate from patches below.
1070 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
1071 for all symbolic operands.
1072 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
1073 to function.
1074 * config/mips/linux.h: Fix typo.
1075 * Merge from mips-3_4-rewrite branch:
1076
1077 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
1078
87f85ea0
ZW
1079 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
1080 handling local labels when TARGET_ABICALLS.
cafe096b
EC
1081
1082 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
1083
87f85ea0
ZW
1084 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
1085 integer argument.
1086 (mips_expand_call): Likewise.
1087 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
1088 (FIXED_REGISTERS): Clear $31 entry.
1089 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
1090 (EPILOGUE_USES): Define.
1091 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
1092 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
1093 (override_options): Add a 'j' register class.
1094 (mips_expand_call): Handle sibcalls
1095 (mips_expand_epilogue): Handle epilogues for sibcalls.
1096 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
1097 (sibcall_epilogue): New pattern.
1098 (call, call_value): Adjust calls to mips_expand_call.
1099 (sibcall, sibcall_value): New expanders.
1100 (sibcall_internal, sibcall_value_internal): New patterns.
1101 (sibcall_value_multiple_internal): New pattern.
cafe096b
EC
1102
1103 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
1104
87f85ea0
ZW
1105 * config/mips/mips.md (extended_mips16): New attribute.
1106 (define_attr length): Default to 8 if extended_mips16 == yes.
1107 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
1108 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
1109 (call_internal): Set extended_mips16 to yes for direct jumps.
1110 Remove redundant mode attribute.
1111 (call_value_internal, call_value_multiple_internal): Likewise.
1112 (call_split): Remove redundant mode attribute.
1113 (call_value_split, call_value_multiple_split): Likewise.
cafe096b 1114
87f85ea0
ZW
1115 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
1116 of unaligned offsets.
cafe096b
EC
1117
1118 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
87f85ea0 1119 of SYMBOL_GENERAL.
cafe096b
EC
1120
1121 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
1122
87f85ea0
ZW
1123 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
1124 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
1125 for mips16 code.
cafe096b
EC
1126
1127 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
1128
87f85ea0 1129 * config/mips/mips.h (ADDRESS_COST): Define.
cafe096b
EC
1130
1131 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
1132
87f85ea0
ZW
1133 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
1134 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
1135 * config/mips/mips.md: Replace 'R' constraints with 'U'.
cafe096b
EC
1136
1137 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
1138
87f85ea0
ZW
1139 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
1140 of a two-instruction sequence. Add register->memory alternative.
1141 (truncdihi2, truncdiqi2): Likewise.
1142 Rework shift/truncate instructions so that they only handle right
1143 shifts of 32 (or more, in the case of arithmetic shifts).
1144 Add patterns for truncate/sign-extend.
cafe096b
EC
1145
1146 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
1147
87f85ea0
ZW
1148 * configure.in (mips*-*-*): Check for explicit relocation support.
1149 * configure: Regenerate.
cafe096b
EC
1150
1151 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
1152
87f85ea0
ZW
1153 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
1154 and -mno-explicit-relocs.
1155 (MASK_EXPLICIT_RELOCS): Define.
1156 (TARGET_EXPLICIT_RELOCS): Use it.
1157 (mips_split_addresses): Remove declaration.
1158 * config/mips/mips.c (override_options): Update comment for
1159 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
cafe096b
EC
1160
1161 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
1162
87f85ea0
ZW
1163 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
1164 a CONST as identity. Check the return value of gen_lowpart_common.
cafe096b
EC
1165
1166 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
1167
87f85ea0
ZW
1168 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
1169 references for TARGET_EXPLICIT_RELOCS.
1170 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
1171 !TARGET_MIPS16.
cafe096b
EC
1172
1173 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
1174
87f85ea0
ZW
1175 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
1176 (addsi3): Remove redundant constraints.
1177 (addsi3_internal): Use separate register & constant alternatives.
1178 Use a 'Q' constraint and "addiu" insn for the latter.
1179 (adddi3_internal_3, addsi3_internal_2): Likewise.
cafe096b
EC
1180
1181 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
1182
87f85ea0
ZW
1183 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
1184 (mips_expand_unaligned_store): Declare.
1185 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
1186 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
1187 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
1188 (UNSPEC_ULD, UNSPEC_USD): Remove.
1189 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
1190 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
1191 (extv, extzv): Use mips_expand_unaligned_load.
1192 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
1193 predicate for operand 3.
1194 (movsi_ulw, movsi_usw): Replace with...
1195 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
1196 (movdi_uld, movdi_usd): Likewise replace with...
1197 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
cafe096b
EC
1198
1199 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
1200
87f85ea0
ZW
1201 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
1202 * config/mips/mips.h (LEA_REGS): New register class.
1203 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
1204 (GR_REG_CLASS_P): Include LEA_REGS.
1205 (DANGEROUS_FOR_LA25_P): New macro.
1206 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
1207 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
1208 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
1209 entries to LEA_REGS.
1210 (mips_global_pic_constant_p): New function.
1211 (override_options): Add 'e' register constraint.
1212 (mips_secondary_reload_class): Return LEA_REGS when reloading
1213 a dangerous constant into a class containing $25.
1214 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
1215 (movsi_internal): Likewise.
cafe096b
EC
1216
1217 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
1218
87f85ea0
ZW
1219 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
1220 * config/mips/mips.md (call_split): New insn.
1221 (call_value_split, call_value_multiple_split): New insns.
1222 (call_internal): Turn into a define_insn_and_split. Split the
1223 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
1224 (call_value_internal, call_value_multiple_internal): Likewise.
cafe096b
EC
1225
1226 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
1227
87f85ea0
ZW
1228 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
1229 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
1230 (mips_encode_section_info): Don't take symbol visibility into
1231 account if TARGET_ABICALLS. Add more commentary.
1232 * config/mips/mips.md: Add commentary above reloc constants.
cafe096b
EC
1233
1234 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
1235
87f85ea0
ZW
1236 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
1237 from mips_legitimize_move. Legitimize constant pool references.
1238 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
1239 a REG_EQUAL note to the last instruction.
cafe096b
EC
1240
1241 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
1242
87f85ea0
ZW
1243 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
1244 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
1245 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
1246 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
1247 * config/mips/mips.md (UNSPEC_HIGH): New constant.
1248 (UNSPEC_RELOC_GPREL16): Rename to...
1249 (RELOC_GPREL16): ...this.
1250 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
1251 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
1252 (macro_calls): New attribute.
1253 (length): Use it to set the default length of calls. Don't allow
1254 calls to have delay slots if macro_calls is "yes".
1255 (luisi, luidi): New patterns.
1256 (lowsi, lowdi): Use '%R' to print the relocation.
1257 (lowdi_extend): Remove.
1258 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
1259 (call_internal): Merge alternatives. Always use "jal".
1260 (call_value_internal, call_value_multiple_internal): Likewise.
1261 (reloc_gprel16): Remove.
1262 * config/mips/mips.c (mips_got_alias_set): New variable.
1263 (mips_classify_constant): Handle the new relocation constants.
1264 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
1265 (mips_symbolic_address_p): Return false if generating explicit relocs.
1266 Otherwise allow local PIC symbols to have an offset.
1267 (mips_splittable_symbol_p): New function.
1268 (mips_classify_address): Use it to check whether a LO_SUM is valid.
1269 (mips_const_insns): Always accept HIGH.
1270 (call_insn_operand): Don't accept global symbols if using explicit
1271 relocs.
1272 (move_operand): Don't accept HIGH when generating PIC.
1273 (mips_reloc, mips_lui_reloc): New functions.
1274 (mips_force_temporary): Remove MODE argument. Expect VALUE to
1275 be a valid right-hand-side for a SET pattern.
1276 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
1277 (mips_emit_high): New function.
1278 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
1279 case. Use mips_splittable_symbol_p to check whether a LO_SUM
1280 address should be used. Use mips_emit_high to generate the
1281 high part of such an address. Adjust the global symbol + offset
1282 case to match the change to mips_force_temprorary.
1283 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
1284 If generating explicit-reloc PIC, load the address of global
1285 symbols from the GOT. Use mips_emit_high to emit the high part
1286 of an address.
1287 (mips_simplify_dwarf_addr): New function.
1288 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
1289 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
1290 (mips_expand_call): Load the addresses of global functions using
1291 %call* relocs if generating explicit-reloc PIC. Don't generate
1292 an exception_receiver pattern.
1293 (override_options): Initialize mips_got_alias_set.
1294 (print_relocation): Remove in favour of...
1295 (mips_reloc_string): ...this new function.
1296 (print_operand): Handle '%R'. Use mips_reloc_string.
1297 (print_operand_address): Use print_operand to print the symbolic
1298 part of a LO_SUM address.
1299 (mips_output_function_prologue): Use .cprestore, reverting last patch.
1300 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
1301 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
1302 for local symbols.
cafe096b
EC
1303
1304 2003-02-02 Eric Christopher <echristo@redhat.com>
1305
1306 * config/mips/mips.c (mips_sign_extend): Remove.
87f85ea0
ZW
1307 * config/mips/mips-protos.h: Ditto.
1308 * config/mips/mips.md (movdi_internal2_extend): Remove.
1309 (extendsidi2): Fix mode of convert_memory_address.
cafe096b
EC
1310
1311 2003-01-24 Eric Christopher <echristo@redhat.com>
1312
87f85ea0
ZW
1313 * config/mips/mips.md: Rewrite zero_extend* and extend*
1314 patterns. Use explicit instructions and split after reload
1315 for register extensions.
1316 (ashlsi3_internal1_extend): New combiner pattern for
1317 shift and extend combinations.
1318 * config/mips/mips.h: Change Pmode back to ptr_mode
1319 for performance enhancement.
1320 * combine.c (expand_compound_operation): Make sure
1321 that zero_extend operation is profitable.
cafe096b
EC
1322
1323 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
1324
87f85ea0
ZW
1325 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
1326 addresses depend on ptr_mode rather than Pmode.
1327 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
1328 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
1329 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
1330 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
1331 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
1332 condition for selecting cpaddsi or cpadddi: use cpadd instead.
1333 (tablejump_internal1): Remove condition.
1334 (tablejump_internal2): Change condition to TARGET_64BIT.
1335 (cpaddsi): Rename to...
1336 (cpadd): ...this.
1337 (cpadddi): Remove.
cafe096b
EC
1338
1339 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
1340
87f85ea0
ZW
1341 * config/mips/mips-protos.h (mips16_constant_after_function_p,
1342 mips_address_cost, mips_check_split, double_memory_operand,
1343 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
1344 pic_address_needs_scratch, symbolic_operand): Remove declarations.
1345 (mips_legitimate_address_p): Return bool.
1346 (mips_address_insns, mips_fetch_insns, mips_const_insns,
1347 mips_legitimize_address, mips_legitimize_move,
1348 mips_expand_call): Declare.
1349 (mips_return_addr): Move outside #ifdef RTX_CODE.
1350
1351 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
1352 (PIC_FN_ADDR_REG): New reg_class.
1353 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
1354 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
1355 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
1356 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
1357 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
1358 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
1359 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
1360 (LEGITIMATE_PIC_OPERAND): Undefine.
1361 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
1362 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
1363 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
1364 (FUNCTION_MODE): Change to SImode.
1365 (CONST_COSTS): Use mips_const_insns to calculate the cost of
1366 most constants. Treat const_artih_operands specially if they
1367 occur in a PLUS or MINUS.
1368 (CONSTANT_POOL_COST): New macro.
1369 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
1370 Add LO_SUM handling.
1371 (ADDRESS_COST): Undefine.
1372 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
1373 Add CONST to the list of codes for arith_operand. Add LABEL_REF
1374 to call_insn_operand and remove CONST_INT.
1375
1376 * config/mips/mips.c: Include integrate.h.
1377 (SINGLE_WORD_MODE_P): New macro.
1378 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
1379 (mips_constant_info, mips_address_info): New structs.
1380 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
1381 (mips_classify_constant, mips_classify_symbol,
1382 mips_valid_base_register_p, mips_symbolic_address_p,
1383 mips_classify_address, mips_symbol_insns,
1384 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
1385 mips_fetch_insns, mips_force_temporary, mips_add_offset,
1386 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
1387 mips_print_relocation): New functions.
1388 (const_arith_operand): New operand predicate.
1389 (arith_operand): Use it.
1390 (mips_const_double_ok, mips16_simple_memory_operand,
1391 simple_memory_operand, double_memory_operand, mips_check_split,
1392 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
1393 mips16_gp_offset_p, mips16_output_gp_offset,
cafe096b 1394 mips16_constant_after_function_p, mips16_constant): Remove.
87f85ea0
ZW
1395 (call_insn_operand): Be more fussy about symbolic constants.
1396 Use register_operand.
1397 (move_operand): Use mips_symbolic_address_p to check symbolic
1398 operands and general_operand to check the rest.
1399 (symbolic_operand): Use mips_classify_constant.
1400 (mips_legitimate_address_p): Use mips_classify_address.
1401 (mips_move_1word): Combine handling of symbolic addresses.
1402 Remove special treatment of gp-relative loads for TARGET_MIPS16.
1403 (move_move_2words): Likewise. Assume addresses are offsettable
1404 if they need to refer to more than one word. Add HIGH handling.
1405 (mips_restore_gp): Use ptr_mode for the GP save slot.
1406 (mips_expand_call): New function, combining the old mips.md
1407 call and call_internal define_expands. If the address isn't
1408 a call_insn_operand, force it into a register. For SVR4 PIC,
1409 emit an exception_receiver instruction after the call.
1410 (override_options): Only override flag_pic for TARGET_ABICALLS
1411 if it is currently zero. Allow mips_split_addresses when
1412 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
1413 Add new register class letter, 'c'.
1414 (print_operand): Use mips_classify_constant for constant operands.
1415 (print_operand_address): Use mips_classify_address.
1416 (mips_output_function_prologue): Don't use .cprestore.
1417 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
1418 via the frame pointer if current_function_calls_eh_return.
1419 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
1420 to mark whether a symbol is local or global.
1421 (build_mips16_call_stub): Expect the address of the function rather
1422 than a MEM reference to it. Update call generation sequences.
1423 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
1424 small-data adjustments.
1425
1426 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
1427 length for loads and stores.
1428 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
1429 (define_attr type): Add const and prefetch.
1430 (define_attr length): Use mips_const_insns for const instructions.
1431 Use mips_fetch_insns for load and store instructions.
1432 (define_attr single_insn): New.
1433 (define_attr can_delay): Use it.
1434 (define_attr abicalls): Remove.
1435 (define_delay): Use can_delay. Always allow calls to have delay slots.
1436 (addsi3_internal_2): Add 'Q' constraint.
1437 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
1438 (high): Remove.
1439 (lowsi): Renamed from low.
1440 (lowdi): New pattern.
1441 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
1442 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
1443 (loadgp): Change operand 0 to an immediate_operand.
1444 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
1445 beforehand.
1446 (cpaddsi, cpadddi): New patterns.
1447 (tablejump_internal3, tablejump_internal4): Remove define_expands
1448 and associated define_splits.
1449 (call, call_value): Use mips_expand_call.
1450 (call_internal): New, replacing all existing call_internal* insns.
1451 (call_value_internal): Likewise call_value_internal*.
1452 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
1453 (untyped_call): Remove if (operands[0]) magic.
1454 (prefetch_si_address, prefetch_si): Change type to "prefetch".
1455 (prefetch_di_address, prefetch_di): Likewise.
1456 (leasi, leadi): Remove.
1457 (reloc_gprel16): New.
1458
1459 * config/mips/5400.md (ir_vr54_hilo): Include const type.
1460 * config/mips/5500.md (ir_vr55_hilo): Likewise.
1461 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
cafe096b
EC
1462
1463 2003-01-08 Eric Christopher <echristo@redhat.com>
1464
87f85ea0
ZW
1465 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
1466 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
1467 configure check for libgloss.
1468 * config/mips/elf64.h: Ditto.
1469 * config/mips/mips.c: Remove ABI_MEABI.
1470 * config/mips/mips.h: Ditto.
cafe096b
EC
1471
1472 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
1473
87f85ea0
ZW
1474 Fix merge fallout.
1475 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
1476 (muldi3_internal): Remove outdated comment.
1477 (*muls_di, *umuls_di): Fix comment and 64-bitness.
1478 (*smsac_di, *umsac_di): Likewise. Reformat.
1479 (umulsi3_highpart): Minor formatting tweaks.
1480 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
1481 redundant scratch operand. Minor formatting tweak.
1482 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
1483 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
1484 (smulsi3_highpart): As for the unsigned version.
1485 (smulsi3_highpart_internal): Likewise.
1486 (smulsi3_highpart_mulhi_internal): Likewise.
1487 (smulsi3_highpart_neg_mulhi_internal): Likewise.
1488 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
1489 (*smul_acc_di): Remove duplicated pattern.
1490 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
1491 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
1492 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
cafe096b
EC
1493
1494 2002-10-22 Eric Christopher <echristo@redhat.com>
1495
87f85ea0
ZW
1496 * config/mips/mips-protos.h (mips_return_addr): New.
1497 * config/mips/mips.c (mips_return_addr): New.
1498 (movdi_operand): Remove.
1499 (se_register_operand): Ditto.
1500 (se_reg_or_0_operand): Ditto.
1501 (se_uns_arith_operand): Ditto.
1502 (se_arith_operand): Ditto.
1503 (se_nonmemory_operand): Ditto.
1504 (extend_operator): Ditto.
1505 (highpart_shift_operator): Ditto.
1506 (mips_initial_elimination_offset): Remove return address pointer
1507 elimination.
1508 (mips_reg_names): Remove $ra.
1509 (mips_regno_to_class): Ditto.
1510 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
1511 and TARGET_64BIT.
1512 (POINTER_BOUNDARY): Remove.
1513 (POINTERS_EXTEND_UNSIGNED): Define to 0.
1514 (PROMOTE_MODE): Promote to Pmode.
1515 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
1516 (Pmode): Define to TARGET_64BIT.
1517 (FUNCTION_MODE): Define as Pmode.
1518 (mips_args): Remove deleted functions.
1519 (SIZE_TYPE): Depend on POINTER_SIZE.
1520 (PTRDIFF_TYPE): Ditto.
1521 (FIXED_REGISTERS): Fix extra registers.
1522 (CALL_USED_REGISTERS): Ditto.
1523 (CALL_REALLY_USED_REGISTERS): Ditto.
1524 (RAP_REG_NUM): Remove.
1525 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
1526 (RETURN_ADDR_RTX): Define to mips_return_addr.
1527 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
1528 (CAN_ELIMINATE): Ditto.
1529 * config/mips/mips.md: For DImode patterns, take into account
1530 deletions above. Split mulsidi patterns into sign_extend and
1531 zero_extend.
cafe096b
EC
1532
1533 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
87f85ea0
ZW
1534 Michael Meissner <meissner@redhat.com>
1535
1536 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
1537 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
1538 mop up unnecessarly moves through LO.
1539 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
1540 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
1541 change mtlo/macc sequences into mul/add sequences when a three-
1542 address mul is available.
1543 (*macc2): New pattern. Add a define_peephole2 to generate it.
1544 (*mul_sub_si): Fix contraint for operand 5.
1545 (*muls): Use in 32-bit code as well.
1546 (*msac): Likewise. Use msub instead of msac in vr5500 code
1547 if the destination is LO. Remove duplicate define_split.
1548 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
1549 (*msac_di): Likewise. Fix formatting.
1550 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
1551 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
1552 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
1553 (*xmulsi3_neg_highpart_mulhi): Likewise.
1554 (*mul_acc_64bit_di): Remove.
1555 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
cafe096b
EC
1556
1557 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
1558
87f85ea0
ZW
1559 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
1560 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
1561 (MULTILIB_DIRNAMES): Remove long32.
1562 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
1563 (MULTILIB_REDUNDANT_DIRS): Remove.
cafe096b
EC
1564
1565 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
1566
87f85ea0
ZW
1567 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
1568 * gcc.c (driver_self_specs): New variable.
1569 (do_self_spec): New function.
1570 (main): Use it to process driver_self_specs.
cafe096b
EC
1571
1572 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
1573
87f85ea0
ZW
1574 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
1575 Remove DImode define_split for !TARGET_64BIT.
1576 (anddi3): Remove !TARGET_64BIT support from here as well.
1577 Change operand 2's predicate to se_uns_arith_operand.
1578 Add constant alternatives to define_insn.
1579 (iordi3, xordi3, *nordi3): Likewise.
1580 (anddi3_internal1, xordi3_immed): Remove.
cafe096b
EC
1581
1582 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1583
87f85ea0
ZW
1584 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
1585 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
1586 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
1587 * config/mips/mips.md: Apply same renaming here.
cafe096b
EC
1588
1589 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1590
87f85ea0
ZW
1591 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
1592 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
1593 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
1594 * config/mips/mips.md (define_attr cpu): Remove r4320.
1595 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
cafe096b
EC
1596
1597 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1598
87f85ea0
ZW
1599 * config/mips/mips.c (mips16_strings): New variable.
1600 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
1601 symbol in mips16_strings. Free the list.
1602 (mips_encode_section_info): Keep track of local strings.
cafe096b
EC
1603
1604 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1605
87f85ea0
ZW
1606 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
1607 (sordered_df, sordered_sf): Remove.
1608 * config/mips/mips.c (get_float_compare_codes): New fn.
1609 (gen_int_relational, gen_conditional_move): Use it.
cafe096b
EC
1610
1611 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
1612
87f85ea0
ZW
1613 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
1614 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
1615 * config/mips/mips.c (fcc_register_operand): New function.
1616 (mips_emit_fcc_reload): New function, extracted from reload_incc.
1617 (override_options): Allow TFmode values in float registers
1618 if ISA_HAS_8CC.
1619 * cnfig/mips/mips.md (reload_incc): Change destination prediate
1620 to fcc_register_operand. Remove misleading source constraint.
1621 Use mips_emit_fcc_reload.
cafe096b
EC
1622 (reload_outcc): Duplicate reload_incc.
1623
1624
44c8a5f8
DN
16252003-04-30 Diego Novillo <dnovillo@redhat.com>
1626
1627 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
1628
5d638f70
GK
16292003-04-30 Geoffrey Keating <geoffk@apple.com>
1630
1631 * tree-inline.c (inlinable_function_p): Back out last change, it's
1632 unnecessary.
1633
5e26df64
SB
16342003-04-30 Steven Bosscher <steven@gcc.gnu.org>
1635
1636 * ggc-page.c (TREE_EXP_SIZE): Define.
1637 (extra_order_size_table): New entry for expr trees with
1638 two operands.
1639
fba020b1
GDR
16402003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1641
1642 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
1643 (c_expand_start_cond): Adjust.
1644 (c_expand_end_cond): Don't use warning_with_file_and_file.
1645 (shadow_warning): Likewise.
1646
62216ea0
NS
16472003-04-30 Nathan Sidwell <nathan@codesourcery.com>
1648
1649 * tree.h (DECL_POINTER_DEPTH): Remove.
1650 (struct tree_decl): Remove pointer_depth.
cafe096b 1651
d1908feb
JJ
16522003-04-30 Janis Johnson <janis187@us.ibm.com>
1653
1654 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
1655 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
1656 (rs6000_xcoff_encode_section_info): Remove.
1657 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
1658 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
1659 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
1660 Use SYMBOL_REF_FLAGS.
1661 (rs6000_elf_encode_section_info): Call default_encode_section_info for
1662 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
1663 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
1664 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
1665 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
1666 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
1667
0e42348d
GDR
16682003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1669
1670 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
1671
dad78426
AS
16722003-04-30 Andreas Schwab <schwab@suse.de>
1673
1674 * doc/extend.texi (Other Builtins): Enclose multiple word data
1675 type in braces for @deftypefn.
1676
4c80872c
RK
16772003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1678
5826955d
RK
1679 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
1680
4c80872c
RK
1681 * doc/install.texi (--enable-threads): Document "gnat" option.
1682
10256cf5
GDR
16832003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1684
1685 * diagnostic.h (output_formatted_scalar): Tweak.
1686 * diagnostic.c (output_long_decimal): Likewise.
1687 (output_unsigned_decimal): Likewise.
1688 (output_long_unsigned_decimal): Likewise.
1689 (output_octal): Likewise.
1690 (output_long_octal): Likewise.
1691 (output_hexadecimal): Likewise.
1692 (output_long_hexadecimal): Likewise.
1693 (output_pointer): New function.
1694 (output_format): Use it. Recognize "%p" format specifier.
1695
b2a7fa89
ZD
16962003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1697
1698 * function.c (purge_addressof_1): Postpone insn in fewer cases.
1699
a6fdc086
GK
17002003-04-29 Geoffrey Keating <geoffk@apple.com>
1701
505b0fd6
GK
1702 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
1703 call abort() after running out of stack space.
1704
a6fdc086
GK
1705 * c-typeck.c (function_types_compatible_p): Ignore incompatible
1706 'volatile' qualifiers on a function's return type in GNU mode.
1707
9c0631a7
AH
17082003-04-29 Aldy Hernandez <aldyh@redhat.com>
1709
87f85ea0
ZW
1710 * expr.c (emit_group_load): Dump parallels of simd types to
1711 memory.
9c0631a7 1712
74719742
VM
17132003-04-29 Vladimir Makarov <vmakarov@redhat.com>
1714
1715 * genautomata.c (add_vect): Check undefined value for range type
1716 too.
1717
baade80b
PE
17182003-04-29 Phil Edwards <pme@gcc.gnu.org>
1719
1720 * configure.in: More general test for cmp --ignore-initial.
1721 * configure: Regenerate.
1722
84d8756d
RK
17232003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1724
0384674e
RK
1725 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
1726 (layout_decl, place_field): Likewise.
1727 Also make minor type and whitespace changes.
1728
84d8756d
RK
1729 * tree.c (save_expr): Don't fold a COMPONENT_REF.
1730
0219237c
OH
17312003-04-29 Olivier Hainque <hainque@act-europe.fr>
1732
1733 * calls.c (expand_call): When modes of target and valreg match, force
1734 sibcall failure when target is a MEM.
1735
b9538b2e
GK
17362003-04-29 Geoffrey Keating <geoffk@apple.com>
1737
b3d627e2
GK
1738 * tree-inline.c (inlinable_function_p): Don't support inlining
1739 functions using varargs.
1740
f4ddb75b
GK
1741 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
1742
0366359a
GK
1743 * dwarf2out.c (output_call_frame_info): No need to output EH
1744 unwind information if all_throwers_are_sibcalls.
1745
e55614ca
GK
1746 * c-semantics.c (expand_unreachable_stmt): Return a tree.
1747 (expand_stmt): Update for change to expand_unreachable_stmt.
1748 (expand_unreachable_if_stmt): Likewise.
1749
b9538b2e
GK
1750 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
1751
72e940d2
JM
17522003-04-29 Jason Merrill <jason@redhat.com>
1753
1754 PR middle-end/10336
cafe096b 1755 * jump.c (never_reached_warning): Really stop looking if we reach
72e940d2
JM
1756 the beginning of the function.
1757
9193479f
BW
17582003-04-29 Bob Wilson <bob.wilson@acm.org>
1759
1760 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
1761 Remove redundant macros.
1762 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
1763 (LOCAL_LABEL_PREFIX): Define unconditionally.
1764 (NO_DOT_IN_LABEL): Clarify comment.
1765 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
1766 definition to "long int".
1767
b0501ec1
AK
17682003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
1769
1770 bootstrap/10452
1771 * gengtype-yacc.y: Improve portability.
1772
8e720e8b
ZW
17732003-04-29 Zack Weinberg <zack@codesourcery.com>
1774
1775 * config.gcc: Install obsolete target list for GCC 3.3.
1776 * doc/install.texi: Mention in specific-target instructions
1777 that certain configurations are deprecated.
1778
1be3f80f
ZW
17792003-04-29 Zack Weinberg <zack@codesourcery.com>
1780
1781 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
1782
8e854b76
KL
17832003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1784
1785 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
1786 * gcc.c (display_help): Likewise.
1787 * toplev.c (f_options): Likewise.
1788 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
1789 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
1790 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
1791 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
1792 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
1793
267594f3
R
17942003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
1795
1796 * varasm.c (default_assemble_visibility): Use assemble_name.
1797
667b43dd
DB
17982003-04-29 David O'Brien <obrien@FreeBSD.org>
1799
1800 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
5b51b1f5
DB
1801 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
1802 (SIZE_TYPE): New macro.
fbf17dab
DB
1803 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
1804 (SET_ASM_OP): New macro.
1805 (HANDLE_SYSV_PRAGMA): New macro.
1806 (ASM_WEAKEN_LABEL): New macro.
667b43dd 1807
a833faa5
MM
18082003-04-28 Mark Mitchell <mark@codesourcery.com>
1809
1810 PR c++/10180
1811 * tree-inline.c (expand_call_inline): Call push_srcloc when
1812 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
1813
a72bf3e9
MS
18142003-04-28 Mike Stump <mrs@apple.com>
1815
1816 * gdbinit.in: Update to reflect new identifier structure.
1817
0864034e
ZW
18182003-04-28 Zack Weinberg <zack@codesourcery.com>
1819
1820 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
1821 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
1822 struct tree_complex, struct tree_vector): Remove RTL field.
1823 (CONSTRUCTOR_ELTS): Use elt 0.
1824 * tree.def (CONSTRUCTOR): Delete first of its two operands.
1825 * varasm.c (output_constant_def): Remove early exit if
1826 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
1827 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
1828 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
1829 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
1830
9661b15f
JJ
18312003-04-28 Jakub Jelinek <jakub@redhat.com>
1832
1833 * c-decl.c (finish_decl): When prototype with asmspec is found
1834 for built-in, adjust built_in_decls as well as expr.c decls.
1835 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
1836 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
1837 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
1838
8707fe93
RH
18392003-04-28 Richard Henderson <rth@redhat.com>
1840
0864034e
ZW
1841 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
1842 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
1843 integral constant mult operand.
1844 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
1845 (const_smulsi3_highpart_v8plus): Likewise.
1846 (const_smulsi3_highpart): Likewise.
1847 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
1848 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
1849 (const_umulsi3_highpart_v8plus): Likewise.
1850 (const_umulsi3_highpart): Likewise.
8707fe93 1851
ff4cb2e7
DB
18522003-04-28 David O'Brien <obrien@FreeBSD.org>
1853
1854 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
1855 Define as 1.
1856
495d8dd6
DB
18572003-04-28 David O'Brien <obrien@FreeBSD.org>
1858
1859 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
1860
e31603c4
JJ
18612003-04-28 Jakub Jelinek <jakub@redhat.com>
1862
1863 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
1864 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
1865 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
1866 functions.
1867 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
1868
dbe983a8
NC
18692003-04-28 Nick Clifton <nickc@redhat.com>
1870
1871 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
1872
afc6aaab
ZW
18732003-04-27 Zack Weinberg <zack@codesourcery.com>
1874
1875 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
1876 output_constant_def, use its result instead of TREE_CST_RTL (exp).
1877 Can assume it has the form (mem (symbol_ref ".LCxxx")).
1878 (expand_expr <COMPONENT_REF>): Can always just extract the
1879 relevant field of a CONSTRUCTOR.
1880 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
1881 ARRAY_RANGE_REF>): Make control flow explicit.
1882 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
1883 an INTEGER_CST.
1884
860992e6
KH
18852003-04-27 Kazu Hirata <kazu@cs.umass.edu>
1886
1887 * reload1.c (reg_set_luid): Fix a comment typo.
1888
32a61907
ZW
18892003-04-27 Zack Weinberg <zack@codesourcery.com>
1890
1891 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
1892 struct deferred_string, const_str_htab): Kill.
1893 (n_deferred_strings): New static variable.
1894 (build_constant_desc): Set SYMBOL_REF_DECL of the new
1895 symbol_ref to point to the constant.
1896 (output_constant_def): When a deferred string is forced out,
1897 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
1898 (mark_constant): Likewise.
1899 (maybe_output_constant_def_contents): When deferring a string
1900 constant, just set STRING_POOL_ADDRESS_P and increment
1901 n_deferred_strings.
1902 (mark_constant_pool): Check n_deferred_strings, not the size
1903 of const_str_htab.
1904 (init_varasm_once): No need to create const_str_htab.
1905
1906 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
1907 SYMBOL_REF_DECL points to a constant.
1908
293107d1
ZW
19092003-04-26 Zack Weinberg <zack@codesourcery.com>
1910
1911 * varasm.c (output_constant_def): Split out two new static
1912 functions, build_constant_desc and maybe_output_constant_def_contents.
1913 Restructure for comprehensibility. Don't call
1914 output_addressed_constants. Treat defstr being non-NULL for
1915 STRING_POOL_ADDRESS_P constants as an invariant.
1916 (struct deferred_string): Remove labelno field.
1917 (output_constant_def_contents): Kill labelno argument. Call
1918 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
1919 asm_out.internal_label.
1920 (mark_constant): Update call to output_constant_def_contents.
1921 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
1922 constants as an invariant.
1923
12969f45
RH
19242003-04-26 Richard Henderson <rth@redhat.com>
1925
1926 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
1927 (ix86_expand_call, ix86_rtx_consts): Likewise.
1928
5cc2f4f3
KG
19292003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1930
1931 * doc/md.texi (cmpstr): Document additional restrictions.
1932
09b04f2d
NB
19332003-04-26 Neil Booth <neil@daikokuya.co.uk>
1934
1935 * flags.h (time_report): Remove.
1936 * timevar.c (timevar_enable): New.
1937 (TIMEVAR_ENABLE): Remove, use timevar_enable.
1938 (timevar_init): Rename from init_timevar.
1939 * timevar.h (timevar_init): Rename from init_timevar.
1940 * toplev.c (time_report): Make static.
1941 (do_compile): Conditionally call init_timevar first.
1942 (preprocess_options): Move some code to do_compile.
1943
3e35d143
SC
19442003-04-26 Stephane Carrez <stcarrez@nerim.fr>
1945
1946 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
1947
e6dc0cc6
NB
19482003-04-26 Neil Booth <neil@daikokuya.co.uk>
1949
1950 * _cpp_lex_direct: Remove pointless code.
1951
5936c7e7
SC
19522003-04-26 Stephane Carrez <stcarrez@nerim.fr>
1953
1954 * doc/extend.texi (Function Attributes): Document "near" and "far"
1955 for 68HC11 and 68HC12.
1956
85a43a2f
RK
19572003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1958
1959 * expr.c (store_field): When making temporary for store, don't
1960 make it TYPE_QUAL_CONST.
1961
09e4ab56
PE
19622003-04-25 Phil Edwards <pme@gcc.gnu.org>
1963
1964 * toplev.c (read_integral_parameter): Use "argument" in error
1965 message to distinguish it from actual invalid options.
1966
ab409f1b
BW
19672003-04-25 Bob Wilson <bob.wilson@acm.org>
1968
1969 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
1970 addition of __PIC__ and __pic__ macros.
1971 * config/xtensa/xtensa.h: Clean up indentation.
1972
6a2b287f
BW
19732003-04-25 Bob Wilson <bob.wilson@acm.org>
1974
1975 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
1976 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
1977 (SUBTARGET_CPP_SPEC): Define.
1978 (LIB_SPEC): Delete.
1979 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
1980 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
1981 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
1982 Define.
1983 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
1984 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
1985
60986d64
L
19862003-04-25 H.J. Lu <hjl@gnu.org>
1987
1988 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
1989 for return mode.
1990 (ia64_expand_builtin): Set rmode to SImode for
1991 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
1992 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
1993 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
1994 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
1995
c7a5cf61
PE
19962003-04-25 Phil Edwards <pme@gcc.gnu.org>
1997
1998 * configure.in (make_compare_target): Test for GNU cmp and set this
1999 variable appropriately.
2000 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
2001 compare4-lean): Rename actual targets to slowcompare*. New compare*
2002 targets depend on names based on make_compare_target.
2003 * configure: Regenerated.
2004
f5bdba44
RH
20052003-04-25 Richard Henderson <rth@redhat.com>
2006
2007 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
2008 to clobber ar.pfs and ar.unat.
2009 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
2010 fix test for spilling ar.pfs to the stack.
2011
20122003-04-25 Richard Henderson <rth@redhat.com>
8f4e6caf 2013
293107d1
ZW
2014 PR opt/10315
2015 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
2016 checks during reload; use validize_mem instead of adjust_address.
8f4e6caf 2017
eda833e3
BE
20182003-04-26 Ben Elliston <bje@wasabisystems.com>
2019
2020 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
2021 return values from recog_memoized().
2022
9feff114
JDA
20232003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2024
2025 PR opt/8705
2026 * gcse.c (try_replace_reg): On a successful substitution of a constant
2027 into a single set, try to simplify the source of the set.
2028 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
2029 constant source.
2030
59325650
NB
20312003-04-24 Neil Booth <neil@daikokuya.co.uk>
2032
2033 * cpplex.c (cpp_token_len): Tighten up.
2034 (cpp_token_as_text): Need extra byte now.
2035 * cpplib.c (glue_header_name): Need extra 2 bytes.
2036 * cppmacro.c (cpp_macro_definition): Need extra byte.
2037
b746b8cb
AK
20382003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
2039
2040 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
293107d1 2041 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
b746b8cb
AK
2042 where they might be not present. Use their _sp64 equivalent
2043 instead.
2044
019238b7
JH
2045Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
2046
2047 * i386.md (cvtsi2sdq): Fix typo in previous patch.
293107d1 2048
39f6c4c8
KW
20492003-04-24 Krister Walfridsson <cato@df.lth.se>
2050
2051 * configure.in: Check whether mbstowcs works.
2052 * configure, config.in: Regenerate.
2053 * intl.c: Use HAVE_WORKING_MBSTOWCS.
2054
0c79f08b
L
20552003-04-24 H.J. Lu <hjl@gnu.org>
2056
2057 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
2058 for __sync_bool_compare_and_swap_di for int return type.
2059
2060 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
2061 Change return type to int.
2062 (__sync_bool_compare_and_swap): Likewise.
2063
26f74aa3
JH
2064Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
2065
2066 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
2067 looking for fallthru edge.
2068
2069 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
2070 Fix.
2071 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
2072 athlon-fvector): New.
2073 (athlon_*): Revisit to match new optimization guide.
2074 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
2075 * i386.md (cvt??2?? patterns): Fix modes.
2076 (fistp patterns): Set modes.
2077
2078 Accidentaly commited with my earlier reload patch:
2079 PR c/10308
2080 * reload.c (find_reloads_address_1): Reload plus at the place of
2081 index register.
293107d1 2082
796621e8
NS
20832003-04-24 Nathan Sidwell <nathan@codesourcery.com>
2084
2085 New GCOV_TAG_FUNCTION layout
2086 * coverage.c (struct function_list): Replace name with ident.
2087 (struct counts_entry): Likewise.
2088 (fn_ident): New.
2089 (htab_counts_entry_hash, htab_counts_entry_eq,
2090 htab_counts_entry_del): Adjust.
2091 (reads_count_file, get_coverage_counts,
2092 coverage_begin_output, coverage_end_function): Adjust.
2093 (build_fn_info_type, build_fn_info_value): Likewise.
2094 * gcov-dump.c (tag_function): Adjust.
2095 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
2096 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
2097 * gcov.c (struct function_info): Add ident.
2098 (read_graph_file, read_count_file): Adjust.
2099 * libgcov.c (gcov_exit): Adjust.
2100
6ff76c36
RH
21012003-04-23 Richard Henderson <rth@redhat.com>
2102
2103 PR opt/8300
2104 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
2105 after initialize_uninitialized_subregs; update reg info assuming
2106 new pseudos were created.
2107
6338b358
NB
21082003-04-23 Neil Booth <neil@daikokuya.co.uk>
2109
2110 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
2111 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
2112 (lex_string): Take cpp_string with full spelling.
2113 (cb_ident): Update.
2114 (c_lex): Update diagnostics.
2115 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
2116 (create_literal): New.
2117 (lex_string): Unterminated literals have type CPP_OTHER.
2118 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
2119 for CPP_OTHER.
2120 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
2121 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
2122 * cpplib.c (parse_include, do_line, do_linemarker,
2123 destringize_and_run): Update for token storing full spelling.
2124 * cpplib.h: Update token spelling types.
2125 * cppmacro.c (stringify_arg, check_trad_stringification):
2126 Update for token storing full spelling.
2127
011fd56b
UW
21282003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
2129
2130 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
2131
7052a099
RE
21322003-04-23 Richard Earnshaw <rearnsha@arm.com>
2133
2134 * arm.h (TARGET_OPTIONS): Add value field.
2135
f0ddce84
MM
21362003-04-23 Mark Mitchell <mark@codesourcery.com>
2137
2138 * doc/extend.texi: Remove duplicate 2003 copyright date.
2139
cdb23767
NS
21402003-04-23 Nathan Sidwell <nathan@codesourcery.com>
2141
2142 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
2143 (libgcov.a): Depends on LIBGCC_DEPS.
2144 * basic-block.h (profile_info): Moved here from coverage.h. Made
2145 a pointer.
2146 * coverage.c (struct function_list): Fixed array of counter types.
2147 (struct counts_entry): Keyed by counter type, contains summary.
2148 (profile_info): Moved to profile.c.
2149 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
2150 vars.
2151 (profiler_label): Remove.
2152 (ctr_labels): New.
2153 (set_purpose, label_for_tag, build_counter_section_fields,
2154 build_counter_section_value, build_counter_section_data_fields,
2155 build_counter_section_data_values, build_function_info_fields,
2156 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
2157 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
2158 build_ctr_info_value, build_gcov_info): New.
2159 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
2160 (reads_counts_file): Adjust.
2161 (get_coverage_counts): Takes counter number. Add summary
2162 parameter. Adjust.
2163 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
2164 create counter array labels.
2165 (coverage_end_function): Adjust.
2166 (create_coverage): Adjust.
2167 (find_counters_section): Remove.
2168 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
2169 (struct section_info, struct profile_info): Remove.
2170 (profile_info): Moved to basic-block.h.
2171 (coverage_counter_ref): Takes a counter number.
2172 (get_coverage_counts): Takes a counter number. Added summary
2173 parameter.
2174 (find_counters_section): Remove.
2175 * gcov-dump.c (tag_arc_counts): Rename to ...
2176 (tag_counters): ... here. Adjust.
2177 (tag_table): Move tag_counters to 3rd entry. Remove
2178 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
2179 (dump_file): Check for counter tag values here.
2180 (tag_summary): Adjust.
2181 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
2182 * gcov-io.h (GCOV_LOCKED): New.
2183 (GCOV_TAG_ARC_COUNTS): Rename to ...
2184 (GCOV_TAG_COUNTS_BASE): ... here.
2185 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
2186 Remove.
2187 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
2188 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
2189 GCOV_TAG_IS_COUNTER): New.
2190 (struct gcov_ctr_summary): New.
2191 (struct gcov_summary): Adjust.
2192 (struct gcov_counter_section): Remove.
2193 struct gcov_counter_section_data): Remove.
2194 (struct gcov_function_info): Rename to ...
2195 (struct gcov_fn_info): ... here. Adjust.
2196 (struct gcov_ctr_info): New.
2197 (struct gcov_info): Adjust.
2198 * gcov.c (read_count_file): Adjust.
2199 (output_lines): Adjust.
2200 * libgcov.c (gcov_exit): Adjust.
2201 (__gcov_flush): Adjust.
2202 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
2203 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
2204 probably_never_executed_bb_p, compute_frequency_function): Adjust
2205 profile_info use.
2206 * profile.c (struct counts_entry): Remove.
2207 (profile_info): Define here.
2208 (get_exec_counts): Adjust get_coverage_counts call.
2209 (compute_branch_probablilities): Remove find_counters_section
2210 call.
2211 (gen_edge_profiler): Adjust coverage_counter_ref call.
2212 * tracer.c (tail_duplicate): Adjust profile_info use.
2213
2be3b5ce
RS
22142003-04-23 Roger Sayle <roger@eyesopen.com>
2215
2216 PR optimization/10339
2217 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
2218 directly instead of unsafely transforming call into a memcmp.
2219 (expand_builtin_strncmp): Likewise.
2220
c57ddcf1
RS
22212003-04-22 Roger Sayle <roger@eyesopen.com>
2222
2223 * alias.c (mark_constant_function): Check for constancy and
2224 purity even of void functions. Update both the function decl
2225 and the cgraph RTL info with the results.
2226
c1a19acb
RS
22272003-04-22 Roger Sayle <roger@eyesopen.com>
2228
2229 * real.c (do_add): Change to return a bool indicating that the
2230 result of the operation may be inexact due to loss of precision.
2231 (do_multiply): Likewise.
2232 (do_divide): Likewise.
2233
c2e9147c
GK
22342003-04-22 Geoffrey Keating <geoffk@apple.com>
2235 Loren James Rittle <ljrittle@acm.org>
2236
2237 * dwarf2out.c (fde_table_allocated): Mark with GTY.
2238 (decl_die_table_allocated): Likewise.
2239 (abbrev_die_table_allocated): Likewise.
2240 (line_info_table_allocated): Likewise.
2241 (separate_line_info_table_allocated): Likewise.
2242 (pubname_table_allocated): Likewise.
2243 (arange_table_allocated): Likewise.
2244 (ranges_table_allocated): Likewise.
2245 (decl_die_table_in_use): Unconditionalize; mark with GTY.
2246 (abbrev_die_table_in_use): Likewise.
2247 (line_info_table_in_use): Likewise.
2248 (separate_line_info_table_in_use): Likewise.
2249 (pubname_table_in_use): Likewise.
2250 (arange_table_in_use): Likewise.
2251 (ranges_table_in_use): Likewise.
2252 (have_location_lists): Likewise.
2253 (emitcount): New GTY-marked static, moved...
2254 (maybe_emit_file): ...from here.
2255 (label_num): New GTY-marked static, moved...
2256 (gen_internal_sym): ...from here.
2257
4da2eb6b
RH
22582003-04-22 Richard Henderson <rth@redhat.com>
2259
293107d1
ZW
2260 PR 8866
2261 * rtl.h (MEM_NOTRAP_P): New.
2262 (MEM_COPY_ATTRIBUTES): Copy it.
2263 * rtlanal.c (may_trap_p): Check it.
2264 * expr.c (do_tablejump): Set it.
4da2eb6b
RH
2265 * doc/rtl.texi (Flags): Document it.
2266
293107d1 2267 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
4da2eb6b 2268
c1238896
OH
22692003-04-22 Olivier Hainque <hainque@act-europe.fr>
2270
2271 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
2272 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
2273
6d412a7b
VC
22742003-04-22 Vincent Celier <celier@gnat.com>
2275
293107d1
ZW
2276 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
2277 --enable-threads=gnat.
2278 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
2279 * configure.in: Add gnat to the list of thread packages
2280 * configure: Rebuild.
2281 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
6d412a7b 2282
b78f9414
NB
22832003-04-22 Neil Booth <neil@daikokuya.co.uk>
2284
2285 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
f945b4e0
DP
2286
22872003-04-22 Devang Patel <dpatel@apple.com>
2288
b78f9414
NB
2289 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
2290 parameter count.
f945b4e0 2291 (_cpp_copy_replacement_text): Same.
293107d1 2292
1067694a
NB
22932003-04-22 Neil Booth <neil@daikokuya.co.uk>
2294
2295 * c-lex.c (c_lex): Handle CPP_OTHER differently.
2296 * cppexp.c (_cpp_parse_expr): Similarly.
2297 * cpplex.c (SPELL_CHAR): Remove.
2298 (_cpp_lex_direct): Stray chars are saved as byte strings.
2299 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
2300 handle SPELL_CHAR.
2301 (cpp_avoid_paste): Update handling of CPP_OTHER.
2302 * cpplib.h: Spell CPP_OTHER like a number.
2303 (struct cpp_token): Remove member c.
2304 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
2305
77c915d8
DT
23062003-04-22 David Turner <novalis@gnu.org>
2307
2308 * gbl-ctors.h: Add special license exception.
2309 * libgcc2.h: Likewise.
2310 * tsystem.h: Likewise.
2311 * gcov-io.h: Likewise.
2312
85e50b6b
DE
23132003-04-22 David Edelsohn <edelsohn@gnu.org>
2314
2315 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
2316 macro defaulting to original BRANCH_COST heuristic.
2317 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
2318
2319 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
2320
00c060a4
AH
23212003-04-22 Aldy Hernandez <aldyh@redhat.com>
2322
293107d1 2323 * config/rs6000/t-spe: Merge in t-fprules into file.
00c060a4 2324
293107d1 2325 * config.gcc: Add t-spe to powerpc-eabispe.
00c060a4 2326
e4d72771
KJ
23272003-04-22 Kean Johnston <jkj@sco.com>
2328
2329 * tlink.c (recompile_files): Add missing '=' to putenv calls
2330
ad27e65a
NS
23312003-04-22 Nathan Sidwell <nathan@codesourcery.com>
2332
2333 * ginclude/stddef.h: Provide C++ safe offsetof.
2334
277b3b18
R
23352003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
2336
2337 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
2338 for reg notes, if there are no substitutions, just use a SUBREG.
2339
b2dd096b
MM
23402003-04-21 Mark Mitchell <mark@codesourcery.com>
2341
2342 * Makefile.in (calls.o): Depend on except.h.
2343 * calls.c: Include except.h.
2344 (emit_call_1): Call note_eh_region_may_contain_throw if
2345 appropriate.
2346 * except.c (eh_region): Add may_contain_throw.
2347 (expand_eh_region_end_cleanup): Do not include handler code when
2348 it cannot be reached.
2349 (note_eh_region_may_contain_throw): New function.
2350 * except.h (note_eh_region_may_contain_throw): New function.
2351
bfc6c67e
MM
23522003-04-21 Mark Mitchell <mark@codesourcery.com>
2353
2354 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
2355 changes.
2356
95b1c7b6
AH
23572003-04-21 Aldy Hernandez <aldyh@redhat.com>
2358
293107d1
ZW
2359 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
2360 64-bit long doubles.
95b1c7b6 2361
6a48df45
OH
23622003-04-21 Olivier Hainque <hainque@act-europe.fr>
2363
3cd58fd7
OH
2364 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
2365 a number of conversions required for type consistency and previously
2366 stripped off by STRIP_NOPS.
2367
6a48df45
OH
2368 * calls.c (expand_call): Prevent sibcall optimization for calls to
2369 nested subprograms.
2370
0d2f38ee 2371 * expmed.c (extract_bit_field): Reverse operands of && condition to
293107d1 2372 prevent a potential division by zero in the previously first branch.
0d2f38ee
OH
2373 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
2374
c3cdeef4
JB
23752003-04-21 Joel Brobecker <brobecker@gnat.com>
2376
2377 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
2378 (subrange_type_die): Likewise.
2379 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
2380 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
2381
ca29da43
NS
23822003-04-21 Nathan Sidwell <nathan@codesourcery.com>
2383
293107d1
ZW
2384 Break out coverage routines to new file.
2385 * Makefile.in (COVERAGE_H): New variable
2386 (C_OBJS): Add coverage.o
2387 (coverage.o): New target.
2388 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
2389 dependencies.
2390 (GTFILES): Adjust.
2391 (gt-coverage.h): New target.
2392 (gt-profile.h): Remove.
2393 * profile.h: Remove. Move to ...
2394 * coverage.h: ... here. New. #include gcov-io.h.
2395 * gcov-io.h: Move function definitions to ...
2396 * gcov-io.c: ... here. New.
2397 * profile.c: Move coverage routines to coverage.c.
2398 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
2399 end_branch_prob): Adjust.
2400 * coverage.c: New. Coverage routines from profile.c
2401 (coverage_counter_ref, coverage_init, coverage_finish,
2402 coverage_end_function, coverage_begin_output,
2403 coverage_counter_ref, get_coverage_counts): Define.
2404 * gcov-dump.c, gcov.c: #include gcov-io.c.
2405 * libgcov.c: Likewise. Adjust.
2406 * loop-init.c: Don't #include profile.h
2407 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
2408 * rtl.h: Add coverage prototypes.
2409 * toplev.c (compile_file): Init coverage, not branch_prob.
2410 Always call coverage_finish.
2411 (rest_of_compilation): Call coverage_end_function.
ca29da43 2412
1774b213 24132003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
dd0fbae2
MK
2414
2415 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
2416
74eb4b3e
NB
24172003-04-21 Neil Booth <neil@daikokuya.co.uk>
2418
2419 * c-ppoutput.c (cb_include): Don't take a cpp_token.
2420 * cppfiles.c: Don't undef strcmp.
2421 (find_include_file): Don't take a cpp_token. Check for empty
2422 file names.
2423 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
2424 (cpp_push_include): Simplify.
2425 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
2426 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
2427 (parse_include): Similary. Don't check for zero-length filenames.
2428 (do_include_common, do_pragma_dependency): Update accordingly.
2429 * cpplib.h (struct cpp_callbacks): Change prototype of include.
2430
337f4314 24312003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
293107d1 2432
9e91ce11
RK
2433 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
2434 details of conflict handling.
293107d1 2435
26b84487
RK
2436 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
2437 when conversion overflows.
2438
1a96dc46
RK
2439 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
2440
337f4314
RK
2441 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
2442 before clearing.
2443
3819b963
MM
24442003-04-21 Mark Mitchell <mark@codesourcery.com>
2445
2446 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
2447 have the same form as the old RTL.
2448
0e7a8c4b
AJ
24492003-04-21 Andreas Jaeger <aj@suse.de>
2450
293107d1 2451 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
0e7a8c4b 2452
b39b8084
CL
24532003-04-20 Chris Lattner <sabre@nondot.org>
2454 Zack Weinberg <zack@codesourcery.com>
2455
2456 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
2457 genrtl_cleanup_stmt. Correct comment at head of
2458 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
2459
2460 * stmt.c (struct nesting): Kill n_function_calls.
2461 (expand_start_bindings): Don't set
2462 thisblock->data.block.n_function_calls.
2463 (expand_end_bindings): Compare function_call_count against 0.
2464 (expand_cleanups): Kill DONT_DO argument; all callers passed
2465 NULL_TREE. All callers updated to match.
2466
b20cbca2
ZW
24672003-04-20 Zack Weinberg <zack@codesourcery.com>
2468
2469 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
2470 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
2471 (output_constant_def): Remove code predicated on
2472 defer_addressed_constants_flag.
2473
2474 * output.h: Remove prototypes of deleted functions.
2475 * c-typeck.c (constructor_subconstants_deferred): Kill.
2476 (struct initializer_stack): Remove 'deferred' field.
2477 (start_init): Remove all references to the above.
2478 (finish_init): Likewise. Also remove never-executed call to
2479 output_deferred_addressed_constants. Pull assignment to
2480 defstr out of if expression.
2481
41c32c98
NB
24822003-04-20 Neil Booth <neil@daikokuya.co.uk>
2483
2484 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
2485 NOTE_NEWLINE): Remove.
2486 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
2487 to handle new form of line note type.
2488
c6a2438a
ZW
24892003-04-20 Zack Weinberg <zack@codesourcery.com>
2490
2491 * target.h (encode_section_info): Add new argument carrying
2492 the RTL to be modified by the hook.
2493
2494 * varasm.c (make_decl_rtl, output_constant_def): Update calls
2495 to encode_section_info.
2496 (default_encode_section_info): Take and use RTL argument,
2497 don't use TREE_CST_RTL or DECL_RTL.
2498 * output.h: Update prototype of default_encode_section_info.
2499 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
2500 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
2501 Update calls to encode_section_info.
2502
2503 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
2504 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
2505 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
2506 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
2507 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
2508 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
2509 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
2510 except for PE dllimport/dllexport. Update calls to
2511 default_encode_section_info.
2512
2513 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
2514 Update prototypes.
2515
2516 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
2517
8c7d377f
JDA
25182003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2519
2520 PR/8705
2521 * pa.md (movccfp): New expander.
2522 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
2523 Reverse fcmp conditions.
2524
1052bb09
MM
25252003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
2526
2527 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
2528 of operand 1 correctly.
2529
299f79b5
NS
25302003-04-20 Nathan Sidwell <nathan@codesourcery.com>
2531
2532 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
2533 * gcov.c (output_lines): Don't be so fussy about going past EOF.
2534
1613e52b
NB
25352003-04-20 Neil Booth <neil@daikokuya.co.uk>
2536
2537 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
2538 (cppcharset.o): New target.
2539 * c-lex.c (is_extended_char): Move to cppcharset.c.
2540 (utf8_extend_token): Delete.
2541 * cppcharset.c: New file.
2542 * cpphash.h (_cpp_valid_ucn): New.
2543 * cpplex.c (lex_identifier): Update prototype.
2544 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
2545 escapes.
2546 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
2547 in cppcharset.c.
2548 (lex_number, lex_identifier, cpp_parse_escape): Update.
2549 (_cpp_lex_direct): Update to handle UCNs.
2550 (cpp_avoid_paste): Don't paste to form a UCN.
2551
0a45ec5c
RS
25522003-04-19 Roger Sayle <roger@eyesopen.com>
2553
2554 * builtins.c (expand_builtin): Don't expand a pure or const
2555 built-in function if the result will be ignored and none of
2556 its arguments are volatile.
2557
16477cc5
KJ
25582003-04-19 Kean Johnston <jkj@sco.com>
2559
2560 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
2561 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
2562 target fragment now: t-sco5; dont compile crti.o.
2563 * config/i386/sco5.h: major overhaul to remove all COFF remnants
2564 and to use elfos.h for most definitions.
2565 (BSS_SECTION_ASM_OP): set correct segment attributes.
2566 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
2567 (DWARF2_UNWIND_INFO): Always set to 1.
2568 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
2569 (MD_STARTFILE_PREFIX_1): Define.
2570 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
2571 (DEFAULT_LINKER): Define if not specified to configure.
2572 (CTORS_SECTION_ASM_OP): Remove COFF crud.
2573 (DTORS_SECTION_ASM_OP): Remove COFF crud.
2574 (WINT_TYPE): Define.
2575 (SDB_DEBUGGING_INFO): Remove.
2576 (EXTRA_SECTIONS): Likewise.
2577 (EXTRA_SECTION_FUNCTIONS): Likewise.
2578 (CTOR_LIST_BEGIN): Likewise.
2579 (CTOR_LIST_END): Likewise.
2580 (INIT_SECTION_FUNCTION): Likewise.
2581 (FINI_SECTION_FUNCTION): Likewise.
2582 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
2583 (LOCAL_LABEL_PREFIX): Likewise.
2584 (NON_SAVING_SETJMP): Likewise.
2585 (RETURN_POPS_ARGS): Likewise.
2586 (ASM_OUTPUT_SKIP): Likewise.
2587 (TARGET_ASM_NAMED_SECTION): Likewise.
2588 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2589 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
2590 (ASM_OUTPUT_IDENT): Likewise.
2591 (ASM_OUTPUT_CASE_LABEL): Likewise.
2592 (ASM_OUTPUT_ASCII): Likewise.
2593 (ASM_OUTPUT_LIMITED_STRING): Likewise.
2594 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2595 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2596 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2597 (ASM_FINISH_DECLARE_OBJECT): Likewise.
2598 (ASM_DECLARE_OBJECT_NAME): Likewise.
2599 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
2600 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2601 (ASM_DECLARE_RESULT): Likewise.
2602 (ASM_WEAKEN_LABEL): Likewise.
2603 (SUPPORTS_WEAK): Likewise.
2604 (APPLY_RESULT_SIZE): Likewise.
2605 (LPREFIX): Likewise.
2606 (ALIGN_ASM_OP): Likewise.
2607 (ASCII_DATA_ASM_OP): Likewise.
2608 (IDENT_ASM_OP): Likewise.
2609 (ASM_SHORT): Likewise.
2610 (ASM_LONG): Likewise.
2611 (TYPE_ASM_OP): Likewise.
2612 (SIZE_ASM_OP): Likewise.
2613 (STRING_ASM_OP): Likewise.
2614 (SKIP_ASM_OP): Likewise.
2615 (EH_FRAME_SECTION_ASM_OP): Likewise.
2616 (READONLY_DATA_SECTION_ASM_OP): Likewise.
2617 (INIT_SECTION_ASM_OP): Likewise.
2618 (FINI_SECTION_ASM_OP): Likewise.
2619 (TEXT_SECTION_ASM_OP): Likewise.
2620 (DATA_SECTION_ASM_OP): Likewise.
2621 (TYPE_OPERANT_FORMAT): Likewise.
2622 (ASM_SPEC): Remove COFF code.
2623 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
2624 cause -pg to emit an error; use pcrt1elf.o with -pp
2625 (ENDFILE_SPEC): Likewise.
2626 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
2627 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
2628 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
2629 add -z alt_resolve to support weak symbols the way GCC wants them.
2630 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
2631 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
2632 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
2633 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
2634 (CRTSTUFF_T_CFLAGS_S): Define.
2635 (MULTILIB_OPTIONS): Likewise.
2636 (MULTILIB_DIRNAMES): Likewise.
2637 (MULTILIB_MATCHES): Likewise.
2638 (MULTILIB_EXTRA_OPTS): Likewise.
2639 (LIBGCC): Likewise.
2640 (INSTALL_LIBGCC): Likewise.
2641 (crti.o): Remove.
2642 * config/i386/t-sco5gas: Remove.
2643 * doc/install.texi: Updated for new OpenServer instructions.
2644 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
2645
de0656cf
KJ
26462003-04-19 Kean Johnston <jkj@sco.com>
2647
2648 * fixinc/check.tpl: Allow user to over-ride diff program.
2649 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
2650 (sco_math): Added test for SCO math header files.
2651 (sco_regset): Added check for conflicts with ieeefp.h.
2652 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
2653 * fixinc/fixincl.x: Regenerated
2654 * fixinc/tests/base/math.h: Added sco_math tests.
2655 * fixinc/tests/base/string.h: New file.
2656 * fixinc/tests/base/sys/regset.h: New file.
2657
6f572ac2
NB
26582003-04-19 Neil Booth <neil@daikokuya.co.uk>
2659
2660 * cpphash.h (struct cpp_buffer): Remove backup_to.
2661 * cpplex.c (BACKUP, get_effective_char): Die.
2662 (_cpp_skip_block_comment): Assume '*' is location on entry.
2663 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
2664 (IF_NEXT_IS): Update.
2665 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
2666
ced2ad76
MK
26672003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
2668
2669 * README.Portability: Move to a new section and obsolete K+R
2670 portability issues.
2671
07015444
JH
2672Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
2673
2674 * rtlanal.c (subreg_offset_representable_p): Fix call of
2675 subreg_lowpart.
2676
bced6edf
NB
26772003-04-19 Neil Booth <neil@daikokuya.co.uk>
2678
2679 * cpphash.h (struct cpp_reader): New member warned_dollar.
2680 * cpplex.c (continues_identifier_p): New function.
2681 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
2682 lex_number and lex_string, and simplify.
2683 (parse_slow, unescaped_terminator_p): Die.
2684 (_cpp_lex_direct): Update.
2685
a259f218
RK
26862003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2687
2688 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
2689
8555daff
NS
26902003-04-19 Nathan Sidwell <nathan@codesourcery.com>
2691
2692 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
2693 fork behaviour.
2694
4e1f0f8e
NB
26952003-04-19 Neil Booth <neil@daikokuya.co.uk>
2696
2697 * cppexp.c (eval_token): Permit true and false even if pedantic.
2698
bf805def
NB
26992003-04-19 Neil Booth <neil@daikokuya.co.uk>
2700
2701 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
2702
26aea073
NB
27032003-04-19 Neil Booth <neil@daikokuya.co.uk>
2704
2705 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
2706 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
2707 (struct include_file): Remove fefcnt, mapped members.
2708 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
2709 (read_include_file): Don't use mmap, terminate buffers in '\r'.
2710 (purge_cache): Don't use munmap.
2711 * cpphash.h (CPP_BUF_COLUMN): Update.
2712 (lexer_state): Remove lexing_comment.
2713 (struct _cpp_line_note): New.
2714 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
2715 next_line and need_line. Remove col_adjust and saved_flags.
2716 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
2717 _cpp_skip_block_comment, scan_out_logical_line): New.
2718 (_cpp_init_mbchar): Remove.
2719 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
2720 (cpp_read_main_file): Set line to 1 earlier.
2721 (post_options): -traditional-cpp doesn't want trigraphs.
2722 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
2723 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
2724 _cpp_get_fresh_line): New.
2725 (handle_newline, skip_escaped_newlines, trigraph_p,
2726 continue_after_nul, _cpp_init_mbchar): Remove.
2727 (get_effective_char): Update.
2728 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
2729 (skip_line_comment): Simplify.
2730 (skip_whitespace, parse_identifier, parse_slow, parse_number,
2731 parse_string): Update.
2732 (cpp_lex_direct): Use clean lines and process line notes. Update.
2733 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
2734 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
2735 directly.
2736 (_cpp_handle_directive): Don't set saved_flags.
2737 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
2738 cpp_undef, handle_assertion, cpp_push_buffer): Update.
2739 (_cpp_pop_buffer): Free notes.
2740 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
2741 * cpppch.c (cpp_read_state): \n terminate buffer.
2742 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
2743 (copy_comment): Use _cpp_skip_block_comment.
2744 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
2745 Simplify.
2746 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
2747 save_replacement_text): Update.
2748 (scan_out_logical_line): Update to use clean lines and process
2749 line notes.
2750 * fix-header.c (read_scan_file): Update.
2751
7008a11b
DR
27522003-04-18 Douglas B Rupp <rupp@gnat.com>
2753
2754 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
2755 null begin parameter (as well as pointer to null).
2756 (__deregister_frame_info_bases): Likewise.
2757
21102f25
RK
27582003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2759
34d21fe3
RK
2760 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
2761 hard or virtual register and copy into pseudo if replacement fails.
2762
2763 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
dd4ff203 2764
21102f25
RK
2765 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
2766
e59baa1f
OH
27672003-04-18 Olivier Hainque <hainque@act-europe.fr>
2768
38afb23f
OH
2769 * calls.c (expand_call): Move special case for constructor calls
2770 to right place. Ensures constructor calls used to initialize
c6a2438a 2771 arguments get a clean outgoing argument block for themselves.
38afb23f
OH
2772 Move check for stack deallocation completeness until after last
2773 deallocation. Add stack_pointer_delta to set of state
2774 variables saved and restored along with current stack_level.
c6a2438a
ZW
2775
2776 * integrate.c (expand_inline_function): Ensure non-const actuals
2777 don't end up const in the caller's flow after conversion to possibly
2778 const formal type.
e59baa1f 2779
8dcea3f3
VC
27802003-04-18 Vincent Celier <celier@gnat.com>
2781
c6a2438a
ZW
2782 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
2783 and *_DIV_EXPR as TRUNC_*_EXPR.
8dcea3f3 2784
3e378f14
MM
27852003-04-18 Mark Mitchell <mark@codesourcery.com>
2786
2787 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
2788 for orphaned jump tables.
2789
1b0d0e84
KH
27902003-04-18 Kazu Hirata <kazu@cs.umass.edu>
2791
2792 * reload1.c: Revert my previous patch on 2002-04-17.
2793
906042f5
GP
27942003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2795
2796 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
2797 Add Segher Boessenkool.
2798
38a31425
AS
27992003-04-18 Alexander Sotirov <sluncho@mirizma.org>
2800
2801 PR c/9177
2802 * c-decl.c (c_expand_body): Don't garbage collect the function
2803 body if we are going to dump it later.
2804
59c60a98
RH
28052003-04-18 Richard Henderson <rth@redhat.com>
2806
2807 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
2808 (alpha_end_function): Don't set them.
2809 (decl_in_text_section): Remove.
2810 (alpha_encode_section_info): Remove.
2811 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
2812 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
2813 sections, rather than decl_in_text_section results.
2814
c553b702
RS
28152003-04-18 Roger Sayle <roger@eyesopen.com>
2816
2817 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
2818 and SIGN_EXTRACT.
2819
6a29edea
EB
28202003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2821
2822 PR optimization/7675
2823 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
2824 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
2825 nested functions if they refer to declarations from parent functions.
2826 * stmt.c (expand_decl): Don't put automatic variables in registers
2827 if the DECL_NONLOCAL flag is set.
2828
4d3eb89a
HPN
28292003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
2830
2831 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
2832 consider those to be movable where the source matches
2833 want_to_gcse_p.
2834 (update_ld_motion_stores): In comment, refer to
2835 compute_ld_motion_mems for validity of replacement.
2836
04c5580f
JH
2837Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
2838
d101590b 2839 * gcov-dump.c (tag_summary): Remove max_sum
ca29da43
NS
2840 * gcov-io.h (gcov_summary, gcov_write_summary,
2841 gcov_read_summary): Kill max_sum.
2842 * libgcov.c (gcov_exit): Do one pass over the data. Make error
2843 message more verbose.
2844
2845 * emit-rtl.c (subreg_hard_regno): Check that register is
2846 representable.
293107d1 2847
04c5580f
JH
2848 * reload.c (reload_inner_reg_of_subreg): When register is not
2849 representable, reload the whole thing.
2850 (find_reloads): Likewsie.
2851 * rtlanal.c (subreg_representable_p): New function.
2852
2853 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
2854 allow negative probabilities for edges from the call to exit.
ca29da43
NS
2855 (branch_prob): Do not add fake edges for functions that may return
2856 twice.
04c5580f 2857
c409ea0d
DD
28582003-04-17 DJ Delorie <dj@redhat.com>
2859
2860 * toplev.c (target_options): Add value field.
2861 (set_target_switch): Handle target options with values.
2862 * doc/tm.texi: Document how fixed vs variable target
2863 options work.
2864 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
2865 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
2866 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
2867 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
2868 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
2869 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
2870 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
2871 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
2872 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
2873 Add value initializer to target options.
2874
36801818
LR
28752003-04-07 Loren James Rittle <ljrittle@acm.org>
2876
2877 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
2878
a211395b
KH
28792003-04-17 Kazu Hirata <kazu@cs.umass.edu>
2880
2881 * reload1.c (move2add_last_cc0): New.
2882 (reload_cse_move2add): Detect implicit sets.
2883 (move2add_note_store): Notice a store into cc0.
2884
220a35cc
RS
28852003-04-17 Roger Sayle <roger@eyesopen.com>
2886
2887 PR c/10375
2888 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
2889 function attributes.
2890
7ed0620a 28912003-04-17 Janis Johnson <janis187@us.ibm.com>
46b2356d
JJ
2892
2893 * doc/sourcebuild.texi (Test Suites): Document support for testing
2894 binary compatibility (moved from testsuite/README.compat).
2895
3907500b
RH
28962003-04-17 Richard Henderson <rth@redhat.com>
2897
2898 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
2899
d22b2e54
SL
29002003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
2901
c6a2438a
ZW
2902 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
2903 the one provided by the FSF.
d22b2e54 2904
616de62f
GP
29052003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2906
2907 * doc/install.texi (Binaries): Update URL and list of platforms
2908 provided by ftp.thewrittenword.com.
2909
f2dd0c42
RH
29102003-04-17 Richard Henderson <rth@redhat.com>
2911
2912 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
2913 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
2914 * config/xtensa/xtensa.md (call, call_value): Likewise.
2915
50d1ff6a
RH
29162003-04-17 Richard Henderson <rth@redhat.com>
2917
2918 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
2919 (print_operand_address): Likewise.
2920 (ep_memory_operand): Likewise.
2921 (special_symbolref_operand): Likewise.
2922 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
2923 (v850_encode_section_info): Call default_encode_section_info.
2924 (v850_strip_name_encoding): Remove.
2925 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
2926 (ASM_OUTPUT_LABELREF): Remove.
2927 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
2928 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
2929 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
2930 (ENCODED_NAME_P): Remove.
2931 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
2932 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
2933 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
2934
e7d687bb
RH
29352003-04-17 Richard Henderson <rth@redhat.com>
2936
2937 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
2938 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
2939 SYMBOL_REF_FUNCTION_P.
2940
72628c61
RH
29412003-04-17 Richard Henderson <rth@redhat.com>
2942
2943 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
2944 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
2945 (text_segment_operand): Likewise.
2946
675ff4c7
RH
29472003-04-17 Richard Henderson <rth@redhat.com>
2948
2949 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
2950 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
2951 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
2952 (sh_encode_section_info): Remove.
2953 (sh_strip_name_encoding): Remove.
2954 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
2955 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
2956 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
2957 (ASM_OUTPUT_LABELREF): Remove.
2958 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
2959 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
2960
114278e7
RH
29612003-04-17 Richard Henderson <rth@redhat.com>
2962
2963 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
2964 (tls_model_chars): Remove.
2965 (larl_operand): Use SYMBOL_REF_FLAGS.
2966 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
c6a2438a 2967 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
114278e7
RH
2968 (s390_output_mi_thunk): Likewise.
2969 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
2970 (s390_function_profiler): Likewise.
2971 (s390_encode_section_info): Use default_encode_section_info
2972 and SYMBOL_FLAG_ALIGN1.
2973 (s390_strip_name_encoding): Remove.
2974 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
2975 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
2976 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
2977
e95ef187
RH
29782003-04-17 Richard Henderson <rth@redhat.com>
2979
2980 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
2981 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
2982 (print_operand_address): Likewise.
2983
2984 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
2985 * config/ns32k/ns32k.c (expand_block_move): Don't check
2986 flag_unroll_loops.
2987
6cd4a764
RH
29882003-04-17 Richard Henderson <rth@redhat.com>
2989
2990 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
2991 SYMBOL_REF_FLAG.
2992
89e6b702
RH
29932003-04-17 Richard Henderson <rth@redhat.com>
2994
2995 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
2996
2997 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
2998 (SYMBOL_REF_MODEL): New.
2999 (LIT_NAME_P): Move from m32r.h.
3000 (m32r_select_section): Remove.
3001 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
3002 (m32r_strip_name_encoding): Remove.
3003 (m32r_in_small_data_p): New.
3004 (small_data_operand): Use SYMBOL_REF_SMALL_P.
3005 (addr24_operand): Use SYMBOL_REF_MODEL.
3006 (call26_operand): Likewise.
3007 (addr32_operand): Tidy.
3008 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
3009 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
3010 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
3011 (READONLY_DATA_SECTION_ASM_OP): Remove.
3012 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
3013 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
3014 (TARGET_ASM_SELECT_SECTION): Remove.
3015 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
3016 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
3017 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
3018 (ASM_OUTPUT_LABELREF): Remove.
3019
ec94fc00
RH
30202003-04-17 Richard Henderson <rth@redhat.com>
3021
3022 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
3023 (encode_section_info): Remove.
3024 * config/ip2k/ip2k-protos.h: Update.
3025
1b8135a4
RH
30262003-04-17 Richard Henderson <rth@redhat.com>
3027
c6a2438a 3028 * varasm.c (default_encode_section_info): Don't set
1b8135a4
RH
3029 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
3030 * config/i370/i370.c (i370_encode_section_info): Remove.
3031 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
3032 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
3033 * config/i370/i370.md (movsi): Likewise.
3034
3035 * config/i370/t-i370: Add missing backslash.
3036
6d7fe8b3
EB
30372003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
3038
3039 * doc/invoke.texi (inline-limit): Fix pasto.
3040
dc66a1c4
RH
30412003-04-17 Richard Henderson <rth@redhat.com>
3042
3043 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
3044 (small_call_insn_operand): Use it.
3045 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
3046 (h8300_eightbit_constant_address_p): Use it.
3047 (SYMBOL_FLAG_TINY_DATA): New.
3048 (h8300_tiny_constant_address_p): Use it.
3049 (h8300_encode_label, h8300_strip_name_encoding): Remove.
3050 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
3051 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
3052 (ASM_OUTPUT_LABELREF): Remove.
3053
90a63880
RH
30542003-04-16 Richard Henderson <rth@redhat.com>
3055
0f6e5d45
RH
3056 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
3057 all users with SYMBOL_REF_SMALL_P.
3058 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
3059 (frv_encode_section_info): Remove.
3060 (frv_strip_name_encoding): Remove.
3061 (frv_in_small_data_p): Merge tests from encode_section_info.
3062 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
3063 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
3064 (SDATA_NAME_P): Remove.
3065 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
3066 (ASM_OUTPUT_LABELREF): Remove.
3067 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
3068
90a63880
RH
3069 * config/frv/frv.c (frv_asm_out_constructor): New.
3070 (frv_asm_out_destructor): New.
3071 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
3072 (DTORS_SECTION_ASM_OP): New.
3073 (ASM_OUTPUT_CONSTRUCTOR): Remove.
3074 (ASM_OUTPUT_DESTRUCTOR): Remove.
3075
5c93e01b
RH
30762003-04-16 Richard Henderson <rth@redhat.com>
3077
3078 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
3079 SYMBOL_REF_LOCAL_P; abort if not pic.
3080 (cris_encode_section_info): Remove.
3081
11467df2
RH
30822003-04-16 Richard Henderson <rth@redhat.com>
3083
3084 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
3085 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
3086
3087 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
3088 flag_inline_trees.
3089
74b66b3c
RH
30902003-04-16 Richard Henderson <rth@redhat.com>
3091
3092 * config/avr/avr.c (avr_encode_section_info): Remove.
3093 (avr_insert_attributes): New.
3094 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
3095 (avr_assemble_integer): Likewise.
3096
8cbd5ce0
RH
30972003-04-16 Richard Henderson <rth@redhat.com>
3098
3099 * arc.c (arc_encode_section_info): Remove.
c6a2438a 3100 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
8cbd5ce0
RH
3101 (arc_print_operand, arc_print_operand_address): Likewise.
3102 * arc.h (EXTRA_CONSTRAINT): Likewise.
3103
96c6931d
RS
31042003-04-16 Roger Sayle <roger@eyesopen.com>
3105
3106 * c-semantics.c (find_reachable_label): New function to find a
3107 potentially reachable label in an expression.
3108 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
3109 assumes the start of the IF_STMT is unreachable (dead) code.
3110 (expand_unreachable_stmt): Similar to expand_stmt but assumes
3111 the start of the statement list is unreachable (dead) code.
3112 (genrtl_if_stmt): If the controlling expression of the IF
3113 is constant, use expand_unreachable_stmt for the THEN or ELSE
3114 clause as appropriate.
3115 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
3116 the body of a SWITCH statement.
3117 (expand_stmt): The code immediately following a "return",
3118 "break", "continue" or "goto" is unreachable.
3119 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
3120
3568b0ef
RH
31212003-04-16 Richard Henderson <rth@redhat.com>
3122
3123 * rtl.h (MEM_ALIAS_SET): Update documentation.
3124 * doc/rtl.texi (Special Accessors): New node.
3125 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
3126
60fa6660
AO
31272003-04-16 Alexandre Oliva <aoliva@redhat.com>
3128
3129 * reload1.c (reload_cse_noop_set_p): Return false if mode of
3130 SET_DEST is not the same as that returned by...
3131 * cselib.h (cselib_reg_set_mode): ... new function.
3132 * cselib.c (cselib_reg_set_mode): Define it.
3133 (REG_VALUES): Document semantics of first element as set mode.
3134 (cselib_subst_to_values): Skip first element if ELT is NULL.
3135 (cselib_lookup): Likewise. Insert past the first element.
3136 (cselib_invalidate_regno): NULLify first element.
3137 (cselib_record_set): Set first element.
3138
15b19a7d
OH
31392003-04-16 Olivier Hainque <hainque@act-europe.fr>
3140
c6a2438a
ZW
3141 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
3142 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
3143 * tree.h: Add prototypes for the two new functions.
3144 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
3145 updates introduced in the previous revision by call to saved_expr_p.
3146 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
a9ecacf6 3147
c6a2438a
ZW
3148 * expr.c (store_field): Force usage of bitfield instructions when
3149 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
3150 (expand_expr, case BIT_FIELD_REF): likewise.
15b19a7d 3151
f2d80e7e
MM
31522003-04-16 Mark Mitchell <mark@codesourcery.com>
3153
3154 PR middle-end/8866
3155 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
3156 jumptables.
3157
1cdbd630
RH
31582003-04-16 Richard Henderson <rth@redhat.com>
3159
3160 * config/ia64/ia64.c (sdata_symbolic_operand): Use
3161 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
3162 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
3163 (function_operand): Use SYMBOL_REF_FUNCTION_P.
3164 (ia64_expand_load_address): Likewise.
3165 (ia64_assemble_integer): Likewise.
3166 (ia64_encode_section_info): Remove.
3167 (ia64_strip_name_encoding): Remove.
3168 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
3169 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
3170
d055668e
RH
31712003-04-16 Richard Henderson <rth@redhat.com>
3172
3173 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
3174 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
3175 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
3176 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
3177 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
3178 (global_symbolic_operand): Similarly.
3179 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
3180 (tls_symbolic_operand_type): Likewise.
3181 (alpha_encode_section_info): Use default_encode_section_info.
3182 (alpha_strip_name_encoding): Remove.
3183 (get_tls_get_addr): Split out from ...
3184 (alpha_legitimize_address): ... here.
3185 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
3186 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
3187 (alpha_initialize_trampoline): Use init_one_libfunc.
3188 (alpha_setup_incoming_varargs): Mark unused parameters.
3189 (alpha_initial_elimination_offset): Likewise.
3190 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
3191 (unicosmk_unique_section): Use default_strip_name_encoding.
3192 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
3193
ffd25996
AH
31942003-04-16 Aldy Hernandez <aldyh@redhat.com>
3195
c6a2438a 3196 * config.gcc: Add t-spe for eabispe.
ffd25996 3197
c6a2438a 3198 * config/rs6000/t-spe: New.
ffd25996 3199
7f0ea82e
R
32002003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
3201
3202 Re-apply this patch:
3203
3204 2002-05-16 Dale Johannesen <dalej@apple.com>
3205 * combine.c (cant_combine_insn_p): Reenable combinations
3206 involving hard regs unless CLASS_LIKELY_SPILLED_P.
3207
c328adfa
JDA
32082003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3209
3210 PR/10271
3211 * pa-protos.h (function_arg): Remove last argument.
3212 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
c6a2438a 3213 * pa.h (struct hppa_args): Add member incoming.
c328adfa
JDA
3214 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
3215 member incoming.
3216 (FUNCTION_ARG): Revise call to function_arg.
3217 (FUNCTION_INCOMING_ARG): Delete.
3218
f9c1196a
ZW
32192003-04-15 Zack Weinberg <zack@codesourcery.com>
3220
3221 * configure.in: Unify the code which creates symlinks to a
3222 just-built as, ld, objdump, and nm with the code that detects
3223 their presence for purposes of feature tests.
3224 * configure: Regenerate.
3225
0b78a9b6
ZW
32262003-04-15 Zack Weinberg <zack@codesourcery.com>
3227
3228 * varasm.c (output_constant_def): Do not consult
3229 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
3230 (after_function_constants, output_after_function_constants): Delete.
3231 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
3232 * config/mips/mips-protos.h, config/mips/mips.c
3233 (mips16_constant_after_function_p): Delete.
3234 * config/mips/mips.h: Delete #if-0-ed definition of
3235 CONSTANT_AFTER_FUNCTION_P.
3236 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
3237 mention of CONSTANT_AFTER_FUNCTION_P in comment.
3238
03907fbd
GK
32392003-04-15 Geoffrey Keating <geoffk@apple.com>
3240
3241 * tree.c (next_decl_uid): Mark with GTY.
3242 (next_type_uid): Likewise.
3243
9959c8c7
R
32442003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
3245
3246 PR target/9594:
3247 * sh.c (barrier_align): Also recognize stuff_delay_slot as
3248 an indicator that a barrier was created by branch splitting.
3249
c8b718ba
MM
32502003-04-15 Mark Mitchell <mark@codesourcery.com>
3251
3252 * c-decl.c (implicitly_declare): Copy declarations that are going
3253 to be placed in a local scope.
3254
f5034c5e
JM
32552003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
3256
3257 * invoke.texi (Spec Files): Wrap if-exists-else example.
3258 (MCore): Remove duplicate @itemx entries and @opindex entries.
3259
7344f3d7
UW
32602003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
3261
3262 * unwind.inc (_Unwind_Backtrace): New function.
3263 * unwind.h (_Unwind_Backtrace): Declare it.
3264 * libgcc-std.ver (_Unwind_Backtrace): Export it.
3265
9547e8fd
JM
32662003-04-14 Jason Merrill <jason@redhat.com>
3267
3268 PR middle-end/10336, c++/10401
0b78a9b6 3269 * jump.c (never_reached_warning): Also stop looking if we reach the
9547e8fd
JM
3270 beginning of the function.
3271
55adc7bd
KG
32722003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3273
3274 PR target/10338
3275 PR bootstrap/10198
3276 PR bootstrap/10140
3277 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
3278
d2b54839
R
32792003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
3280
3281 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
3282
d0ccc658
RK
32832003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3284
3285 * optabs.c (expand_binop): In multi-word add cases, ensure
3286 XTARGET is copied to TARGET if they are different.
3287
29921faf
OH
32882003-04-15 Olivier Hainque <hainque@act-europe.fr>
3289
3290 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
3291 to region, possible after integration of function with unreachable
3292 regions that were optimized away.
3293
ff3867ae
JJ
32942003-04-15 Jakub Jelinek <jakub@redhat.com>
3295
3296 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
3297 instead of TOC_REGISTER in epilogue in
3298 current_function_calls_eh_return functions.
3299
f4e92987
MM
33002003-04-14 Mark Mitchell <mark@codesourcery.com>
3301
db0b376e
MM
3302 * doc/extend.texi (Empty Structures): Correct description of G++'s
3303 handling of these structures.
3304
f4e92987
MM
3305 * c-decl.c (grokdeclarator): Reject extern redeclarations of
3306 static variables.
3307
629f6514
JJ
33082003-04-14 Janis Johnson <janis287@us.ibm.com>
3309
615158e2
JJ
3310 * config/rs6000/rs6000.md (define_constants): Define constants for
3311 all UNSPEC usage, including new values for TLS support.
3312 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
3313 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
3314 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
3315 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
3316 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
3317 eh_set_lr_di): Use them.
3318 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
3319 rs6000_emit_epilogue) Use them.
3320
629f6514
JJ
3321 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
3322
8951a635
NB
33232003-04-14 Neil Booth <neil@daikokuya.co.uk>
3324
3325 * Makefile.in (c-opts.o): Use custom action.
3326
798a3935
DR
33272003-04-14 Douglas B Rupp <rupp@gnat.com>
3328
3329 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
3330
2443af37
RK
33312003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3332
0d3c8800
RK
3333 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
3334 handle "superflat arrays" in Ada.
3335
2443af37
RK
3336 * integrate.c (expand_inline_function): Don't inline if would
3337 lose /u on a BLKmode TARGET.
3338
8cb5fbbf
JB
33392003-04-14 Joel Brobecker <brobecker@gnat.com>
3340
39d658e3
JB
3341 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
3342 extracted from dbxout_type.
3343 (dbxout_range_type): print large bounds in octal format.
3344 (dbxout_type): Replace extracted code by call to
3345 print_int_cst_bounds_in_octal_p.
3346
0b78a9b6
ZW
3347 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
3348 of DW_LANG_Ada83 for Ada units.
8cb5fbbf 3349
9ceca302
OH
33502003-04-14 Olivier Hainque <hainque@act-europe.fr>
3351
41ee3204
OH
3352 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
3353 temporary used to round CONST_INT sizes.
3354
4694840a
OH
3355 * tree.c (int_fits_type_p): Extract generic checks from the case
3356 of constant type bounds. Refine the checks against constant type
3357 bounds to allow for possible decisions against each of these bounds
3358 without requiring both bounds to be constant.
3359 (tree_int_cst_msb): Put back.
3360 * tree.h (tree_int_cst_msb): Likewise.
3361
4147232b
OH
3362 * global.c (global_conflicts): Prevent allocation of call clobbered
3363 hard regs to pseudos live across abnormal edges, as later passes are
3364 not ready to handle them.
3365
0b78a9b6
ZW
3366 * fold-const.c (fold): Reorder tests for conditional expressions.
3367
3368 * expr.c (highest_pow2_factor): Return unsigned.
3369 * expr.h (offset_address): Likewise.
3370 * emit-rtl.c (offset_address): POW2 argument now unsigned.
cbcafd35 3371
712b7a05
RS
33722003-04-14 Roger Sayle <roger@eyesopen.com>
3373
3374 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
3375 string literals at compile-time.
3376
15d4fd98
RS
33772003-04-14 Roger Sayle <roger@eyesopen.com>
3378
3379 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
3380 comparison operation and c1/c2 are floating point constants into
3381 x swap(cmp) (c1 - c2).
3382
2fcb395c
VM
33832003-04-14 Vladimir Makarov <vmakarov@redhat.com>
3384
3385 * genautomata.c (output_translate_vect): Fix a typo in loop
3386 condition.
3387
747a0d9d
HPN
33882003-04-14 Hans-Peter Nilsson <hp@axis.com>
3389
3390 PR target/10377
3391 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
3392 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
3393 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
3394 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
3395 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
3396 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
3397 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
3398 ("*extopqihi_swap_side", "*extopqisi_swap_side")
3399 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
3400 When next to constraint R, replace constraint i with n.
3401
58e6ae30
JH
3402Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
3403
3404 PR opt/10024
3405 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
3406
88657a26
KL
34072003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
3408
3409 * doc/contrib.texi (Contributors): Correct my entry.
3410
7f685e17
RS
34112003-04-13 Roger Sayle <roger@eyesopen.com>
3412
3413 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
3414 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
3415 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
3416 implies DECL_BUILT_IN to simplify logic.
3417 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
3418
1331d16f
RS
34192003-04-13 Roger Sayle <roger@eyesopen.com>
3420
3421 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
3422 (BT_FN_PTR_SIZE_SIZE): Likewise.
3423 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
3424 New built-in functions for malloc, calloc and strdup respectively.
3425 * calls.c (special_function_p): No need to handle malloc-like
3426 functions any longer. ECF_MALLOC is set via built-in attributes.
3427
3428 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
3429
3430 * doc/extend.texi: Document these new built-in functions.
3431
9cb65f92
KG
34322003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3433
3434 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
3435 (expand_builtin_stpcpy): New.
3436 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
3437 * builtins.def: Add mempcpy & stpcpy support.
3438 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
3439
5de601cf
NC
34402003-04-13 Nick Clifton <nickc@redhat.com>
3441
3442 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
3443 "GCC".
3444 * config/rs6000/40x.md, config/rs6000/603.md,
3445 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
3446 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
3447 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
3448 config/rs6000/aix43.h, config/rs6000/aix51.h,
3449 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
3450 config/rs6000/altivec.h, config/rs6000/altivec.md,
3451 config/rs6000/beos.h, config/rs6000/darwin.h,
3452 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
3453 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
3454 config/rs6000/freebsd.h, config/rs6000/gnu.h,
3455 config/rs6000/host-darwin.c, config/rs6000/linux.h,
3456 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
3457 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
3458 config/rs6000/netbsd.h, config/rs6000/power4.md,
3459 config/rs6000/rios1.md, config/rs6000/rios2.md,
3460 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
3461 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
3462 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3463 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
3464 config/rs6000/spe.md, config/rs6000/sysv4.h,
3465 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
0b78a9b6 3466 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
5de601cf 3467
50d440bc
NC
34682003-04-13 Nick Clifton <nickc@redhat.com>
3469
3470 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
3471 support for -mcall-aix switch.
3472 * config/rs6000/eabiaix.h: Delete.
3473 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
3474 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
3475 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
3476 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
3477 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
3478 debug_stack_info, output_function_profiler,
3479 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
3480 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
3481 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
3482 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
3483 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
3484 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
3485 multilibs.
3486 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
3487 (MULTILIB_EXCEPTIONS): Delete.
3488 (MULTILIB_MATCHES): Remove mcall-aix matches.
3489
3490 * doc/fragments.texi: Replace -mcall-aix example with an ARM
3491 one.
3492 * doc/install.texi: Delete powerpc-*-eabiaix target.
3493 * doc/invoke.texi: Remove documentation of mcall-aix switch.
3494 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
3495 * config.gcc: Delete powerpc-*-eabiaix target.
3496
62b9c42c
KH
34972003-04-13 Kazu Hirata <kazu@cs.umass.edu>
3498
3499 * doc/invoke.texi: Fix typos.
3500 * doc/tm.texi: Likewise.
3501
6d0c8bb1
ZW
35022003-04-12 Zack Weinberg <zack@codesourcery.com>
3503
3504 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
3505
dcf92453
ZW
35062003-04-12 Zack Weinberg <zack@codesourcery.com>
3507
3508 * tree.c (build_constructor): New function.
3509 * tree.h: Prototype it.
3510
3511 * c-typeck.c (build_c_cast, pop_init_level)
3512 * profile.c (build_function_info_value, build_gcov_info_value)
3513 (create_profiler):
3514 Use build_constructor.
3515
3516 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
3517
3518 * objc/objc-act.c (build_constructor):
3519 Rename objc_build_constructor. Use build_constructor.
3520 (build_objc_string_object, objc_add_static_instance)
3521 (init_def_list, init_objc_symtab, init_module_descriptor)
3522 (generate_static_references, build_selector_translation_table)
3523 (build_descriptor_table_initializer, generate_descriptor_table)
3524 (build_protocol_initializer, build_ivar_list_initializer)
3525 (generate_ivars_list, build_dispatch_table_initializer)
3526 (generate_dispatch_table, generate_protocol_list)
3527 (build_category_initializer, build_shared_structure_initializer):
3528 Update to match.
3529
c85b28e8
ZW
35302003-04-12 Zack Weinberg <zack@codesourcery.com>
3531
3532 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
3533
cebcfdc8
SC
35342003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3535
dcf92453 3536 * config/m68hc11/m68hc11-protos.h
cebcfdc8
SC
3537 (m68hc11_eq_compare_operator): Declare
3538 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
3539 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
3540 (d_register_operand): Check the operand mode.
3541 (hard_addr_reg_operand): Likewise.
3542
0ae32ec0
SC
35432003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3544
3545 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
3546 pattern for dbcc/ibcc generation for 68HC12.
3547 ("doloop_end"): New pattern.
3548 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
3549 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
3550 ("m68hc12_dbcc_dec_qi"): New pattern.
3551 ("m68hc12_dbcc_inc_qi"): New pattern.
3552 (split): Add split for the above when we can't use dbcc/ibcc due to
3553 reloading.
3554 (peephole2): Add peephole2 to generate the above when possible.
3555
a67bac5f
SC
35562003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3557
3558 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
3559 mode of operand 0.
3560 (peephole2 optimize const load): Likewise for operand 2.
3561 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
3562 clobbers CC_REGNUM.
3563 ("*rotrhi3_with_carry"): Likewise.
3564 (ashift:DI 1 split): Update pattern to create the above rotate.
3565 (lshiftrt:DI 1 split): Likewise.
3566
09214424
SC
35672003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3568
3569 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
3570 ("tstqi_z_used" split): Use it.
3571 ("cmphi_z_used"): Likewise.
3572 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
3573 ("cmpqi_z_used"): Likewise.
3574
355b81d5
MM
35752003-04-12 Mark Mitchell <mark@codesourcery.com>
3576
3577 PR c++/7910
3578 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
3579
2bd02043
ZW
35802003-04-12 Zack Weinberg <zack@codesourcery.com>
3581
3582 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
3583 * configure, config.in: Regenerate.
3584 * intl.c (gcc_gettext_width): New function.
3585 * intl.h: Prototype it.
3586
96cd9069
SC
35872003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3588
3589 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
3590 recognize -mnorelax.
3591 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
3592 (REG_CLASS_NAMES): Add its name.
3593 (REG_CLASS_CONTENTS): Define its content.
3594
c364c3a6
SC
35952003-04-12 Stephane Carrez <stcarrez@nerim.fr>
3596
3597 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
3598 parameters so that offsets are valid for far definition.
3599 (__mulsi3): Likewise and use ret to return.
3600 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
3601
09501938
DE
36022003-04-12 David Edelsohn <edelsohn@gnu.org>
3603
3604 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
3605
ff3d4e83
AO
36062003-04-12 Alexandre Oliva <aoliva@redhat.com>
3607
17a15c67
AO
3608 * mklibgcc.in (libgcc-stage-start): For every multilib directory
3609 containing a libgcc.a, move lib* to the corresponding stage dir.
3610
ff3d4e83
AO
3611 * Makefile.in (stage1-start, stage2-start, stage3-start,
3612 stage4-start): Move $(SPECS) to specs in stage dir.
3613 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
3614 back as $(SPECS).
3615
9e6ccb98
AO
3616 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
3617 object files from the non-libgcc/ multilib directories as well.
3618
ba05abd3
GK
36192003-04-11 Geoffrey Keating <geoffk@apple.com>
3620
0aaafe73
GK
3621 * profile.c (read_counts_file): Initialise 'checksum'.
3622
d5b9108c
GK
3623 * emit-rtl.c (gen_rtx): Really correct typo.
3624
a37db56b
GK
3625 PR c++/9393
3626 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
3627 * configure.in: Check for gettimeofday.
3628 * tree.c (flag_random_seed): Define.
3629 (default_flag_random_seed): New.
3630 (append_random_chars): Use flag_random_seed rather than trying
3631 to acquire randomness here.
3632 * tree.h (default_flag_random_seed): Declare.
3633 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
3634 descriptions.
3635 (decode_f_option): Handle -frandom-seed.
3636 (print_switch_values): Call default_flag_random_seed.
3637 * flags.h (flag_random_seed): Declare.
3638 * configure: Regenerate.
3639 * config.in: Regenerate.
3640 * config/alpha/t-crtfm: Use -frandom-seed.
2bd02043 3641
ba05abd3
GK
3642 * doc/extend.texi (Empty Structures): New.
3643
df026186
GK
3644 * c-pch.c: Include flags.h. Add comments to routines.
3645 (struct c_pch_validity): New.
3646 (get_ident): Update PCH file version number.
3647 (pch_init): Output current debugging type.
3648 (c_common_valid_pch): Check debugging type.
3649 * Makefile.in (c-pch.o): Update dependencies.
3650 * flags.h (debug_type_names): Declare.
3651 * toplev.c (debug_type_names): Move out of decode_g_option.
3652
15c812e3
EC
36532003-04-11 Eric Christopher <echristo@redhat.com>
3654
3655 * emit-rtl.c (gen_rtx): Fix typos.
3656
a73071bc
RH
36572003-04-11 Richard Henderson <rth@redhat.com>
3658
3659 * emit-rtl.c (gen_rtx): Zero '0' fields.
3660
ca06cfe6
RH
36612003-04-11 Richard Henderson <rth@redhat.com>
3662
3663 PR c++/10202
3664 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
3665 not COMPLETE_TYPE_P for re-invoking layout_decl.
3666
d2d42a91
SL
36672003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
3668
3669 * doc/bugreport.texi: Fix paragraph breaking between sections
3670 in preparation for TeXinfo's paragraph indentation fixes.
3671 * doc/extend.texi: Ditto.
3672 * doc/invoke.texi: Ditto.
3673 * doc/objc.texi: Ditto.
3674 * doc/gcov.texi: Wrap 'gcov' in @command{}.
3675 * doc/invoke.texi (Darwin Options): Add a preamble.
3676
2ae5ae57
RH
36772003-04-11 Richard Henderson <rth@redhat.com>
3678
3679 * config/i386/i386.c (tls_model_chars): Remove.
3680 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
3681 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
3682 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
3683 (tls_symbolic_operand_1): Likewise.
3684 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
3685 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
3686 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
3687 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
3688 bits "copied from i386.h" with default_encode_section_info.
3689
52859c77
RH
36902003-04-11 Richard Henderson <rth@redhat.com>
3691
3692 * rtl.def (SYMBOL_REF): Add two 0 fields.
3693 * gengtype.c (adjust_field_rtx_def): Handle them.
3694 * print-rtl.c (print_rtx): Print them.
3695 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
3696 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
3697 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
3698 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
3699 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
3700 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
3701 (SYMBOL_FLAG_MACH_DEP): New.
3702 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
3703 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
3704 (assemble_static_space): Set SYMBOL_REF_FLAGS.
3705 (assemble_trampoline_template): Likewise.
3706 (output_constant_def, force_const_mem): Likewise.
3707 (default_encode_section_info): New.
3708 * output.h: Declare it.
3709 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
3710
68d28100
RH
37112003-04-11 Richard Henderson <rth@redhat.com>
3712
3713 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
3714 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
3715 * optabs.c (init_optabs): Initialize them.
3716 (init_libfuncs): Use init_one_libfunc.
3717 * calls.c (expand_call): Use gcov_flush_libfunc.
3718 * expr.c (store_constructor): Use setbits_libfunc.
3719 * function.c (expand_main_function): Use init_one_libfunc.
3720 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
3721
11fe27a5
MM
37222003-04-11 Mark Mitchell <mark@codesourcery.com>
3723
3724 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
3725 documentation; add DECL_FRIEND_CONTEXT.
3726
f401d0f5
JDA
37272003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3728
3729 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
3730 notes on linker selection and configuration for 64-bit HP-UX port.
3731 * doc/invoke.texi (hppa): Remove hppa text from description for
3732 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
3733 and -threads options.
3734
3735 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
3736 libc.a on libdld.sl when -static is specified and -nolibdld is not
3737 specified.
3738 * pa64-hpux.h (LIB_SPEC): Likewise.
3739 * pa-hpux11.h (LIB_SPEC): Likewise.
3740 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
3741 is not specified.
3742
43451169
ZW
37432003-04-11 Zack Weinberg <zack@codesourcery.com>
3744
3745 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
3746 not IDENTIFIER_LOCAL_VALUE.
3747
a46666a9
RH
37482003-04-11 Richard Henderson <rth@redhat.com>
3749
3750 PR c/10201
3751 * expr.c (expand_expr): Move DECL_RTL frobbing ...
3752 * stor-layout.c (layout_decl): ... here.
3753
6d2f9dd3
JM
37542003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
3755
3756 * doc/invoke.texi: Eliminate extra white-space caused by
3757 @gccoptlist{ on its own line.
3758 * doc/invoke.texi: Ensured there are two spaces between each option.
3759 * doc/invoke.texi: Re-wrapped option lines that were too wide.
3760 Added @gol to options that didn't have them.
3761
94de45d9
NS
37622003-04-11 Nathan Sidwell <nathan@codesourcery.com>
3763
3764 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
3765 gcov-iov.h.
3766
3767 Simplify interface to gcov reading and writing.
3768 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
3769 gcov_alloc, gcov_modified, gcov_errored): Move into ...
3770 (struct gcov_var gcov_var): ... this static structure.
3771 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
3772 Return void.
3773 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
3774 read object.
3775 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
3776 (gcov_reserve_length): Remove.
3777 (gcov_write_tag): New.
3778 (gcov_write_length): Adjust.
3779 (gcov_read_summary, gcov_write_summary): Adjust.
3780 (gcov_eof, gcov_ok): Rename to ...
3781 (gcov_is_eof, gcov_is_error): ... here. Return error code.
3782 (gcov_save_position, gcov_resync): Rename to ...
3783 (gcov_position, gcov_seek): ... here.
3784 (gcov_skip, gcov_skip_string): Remove.
3785 (gcov_error): Remove.
3786 (gcov_open, gcov_close): Adjust.
3787 * gcov.c (find_source): Take const char *, copy it on allocation.
3788 (read_graph_file): Adjust.
3789 (read_count_file): Adjust.
3790 * libgcov.c (gcov_exit): Adjust.
3791 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
3792 tag_arc_counts, tag_summary): Return void. Adjust.
3793 (struct tag_format): Adjust proc member.
3794 (dump_file): Adjust gcov calls.
3795
7a615b25
AO
37962003-04-11 Alexandre Oliva <aoliva@redhat.com>
3797
3798 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
3799 mkfixinc.sh.
3800 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
3801 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
3802 build != host sysrooted builds.
3803 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
3804 TARGET_SYSTEM_ROOT even on sysrooted natives.
3805 * configure: Rebuilt.
3806
339a28b9
ZW
38072003-04-10 Zack Weinberg <zack@codesourcery.com>
3808
3809 * c-decl.c (struct binding_level): Add shadowed_tags and
3810 function_body; remove this_block, tag_transparent, and
3811 subblocks_tag_transparent; update comments.
3812 (clear_binding_level, lookup_tag_reverse): Kill.
3813 (make_binding_level): Use ggc_alloc_cleared or memset.
3814 (lookup_tag): Remove struct binding_level* parameter. All
3815 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
3816 current_binding_level->tags if asked for thislevel_only or if
3817 we might have to diagnose "struct foo; union foo;"
3818 (pushlevel): Ignore argument. Do not push another binding
3819 level on the transition from the parameters to the top level
3820 of the function body; just tweak the flags and proceed.
3821 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
3822 a function body, separate the parameter list from the
3823 top-level local variables.
3824 (set_block): Do nothing.
3825 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
3826 shadowed_tags if necessary.
3827 (warn_if_shadowing): Nuke the special case for local shadowing
3828 parameter.
3829 (pushdecl): Do not create a shadow entry if we are replacing
3830 an older decl in the same binding level.
3831 (pushdecl_function_level): Tweak for new way of indicating
3832 function scope.
3833 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
3834 (start_function): Don't set subblocks_tag_transparent.
3835 (finish_function): Fix up the binding_level stack for totally
3836 empty functions. Otherwise, don't call poplevel.
3837
3838 * c-common.c (shadow_warning): MANDATORY argument is no longer
3839 necessary. Always use plain warning.
3840 * c-common.h: Update to match.
3841
3842 * cfglayout.c (scope_to_insns_initialize): Clear block when we
3843 hit the FUNCTION_DECL.
3844 * function.c: Do not create cyclic tree structure.
3845
38462003-04-10 Zack Weinberg <zack@codesourcery.com>
3847
3848 * c-tree.h (struct lang_identifier): Replace global_value,
3849 local_value members with symbol_value, tag_value. Kill
3850 implicit_decl and limbo_value.
3851 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
3852 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
3853 C_MISSING_PROTOTYPE_WARNED): Kill.
3854 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
3855 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
3856 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
3857 (implicit_decl_warning, lookup_name_current_level,
3858 record_function_scope_shadow): Don't prototype.
3859 (pushdecl_function_level): Prototype.
3860
3861 * c-decl.c (truly_local_externals): New variable.
3862 (struct binding_level): Adjust commentary.
3863 (get_function_binding_level, clear_limbo_values,
3864 record_function_scope_shadow): Kill.
3865 (lookup_name_current_level, implicit_decl_warning): Are now static.
3866 (any_external_decl, record_external_decl): New static functions.
3867 (clone_underlying type): Split out of pushdecl.
3868 (c_print_identifier): Update to match changes to struct
3869 lang_identifier.
3870 (poplevel): Delete #if 0 block. Make externals invisible
3871 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
3872 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
3873 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
3874 (duplicate-decls): For real parm decl after a forward decl,
3875 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
3876 foo(...) { } with only a warning. Say whether a previous
3877 declaration was implicit.
3878 (warn_if_shadowing): Now handles all shadowing, not just
3879 local-over-local. Clarify comments.
3880 (pushdecl): Rewritten. There is no longer a distinction
3881 between global and local symbol values; they're all
3882 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
3883 DECL_EXTERNAL decls, and use any_external_decl to check
3884 against previous externals. Kill #if 0 blocks. Don't
3885 tolerate error_mark_node being NULL.
3886 (pushdecl_top_level): Handle only those cases which
3887 Objective C (the only user) needs.
3888 (pushdecl_function_level): New function.
3889 (implicitly_declare): Create ordinary decls with
3890 C_DECL_IMPLICIT set. Recycle old decls, however they got
3891 created.
3892 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
3893 for C_DECL_INVISIBLE symbols.
3894 (lookup_name_current_level): Likewise. Use chain_member.
3895 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
3896 Use pushdecl_function_level.
3897 (builtin_function): Use C_DECL_INVISIBLE.
3898 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
3899 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
3900 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
3901 (identifier_global_value): Same. Must scan
3902 global_binding_level in extremis.
3903
3904 * c-typeck.c (undeclared_variable): New static function, split
3905 from build_external_ref.
3906 (build_external_ref): Use DECL_CONTEXT, not
3907 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
3908 an instance variable. Restructure for clarity.
3909 * objc/objc-act.c: Use identifier_global_value, not
3910 IDENTIFIER_GLOBAL_VALUE.
3911
6d9c4c83
JW
39122003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
3913
3914 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
3915 not Working Paper.
3916 * doc/invoke.texi (C++ Dialect Options): Same.
3917
06790e5f
ZW
39182003-04-10 Zack Weinberg <zack@codesourcery.com>
3919
3920 * tree.c (tree_operand_check_failed): New function.
3921 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
3922 TREE_RTL_OPERAND_CHECK): New checking macros.
3923 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
3924 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
3925 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
3926 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
3927 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
3928 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
3929 checking macros.
3930
f90e4dea
JH
3931Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
3932
3933 PR inline-asm/8803
3934 * function.c (instantate_virtual_regs): Verify that all ASM statements
3935 match after the virutal regs instantiation.
3936
08744705
SE
39372003-04-10 Steve Ellcey <sje@cup.hp.com>
3938
3939 * ia64-protos.h (addp4_optimize_ok): New.
3940 * ia64.c (addp4_optimize_ok): New.
3941 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
3942 (*ptr_extend_plus_2): Ditto.
3943
267b28bd
SE
39442003-04-10 Steve Ellcey <sje@cup.hp.com>
3945
3946 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
3947 not with convert_memory_address.
3948 (store_constructor): Ditto, and same for copy_size_rtx.
3949 (expand_expr): Ditto.
3950
021bad8e
DR
39512003-04-10 Douglas B Rupp <rupp@gnat.com>
3952
3953 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
3954
1839841c
BW
39552003-04-10 Bob Wilson <bob.wilson@acm.org>
3956
3957 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
3958 even if it is configured to be write-through.
3959
e23795ea
UW
39602003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
3961
3962 * config/s390/s390.c (larl_operand): Do not allow symbols
3963 marked with '@'.
3964 (s390_encode_section_info): Mark symbols with forced 1-byte
3965 alignment with '@'.
3966 (s390_strip_name_encoding): Strip '@'.
3967 (legitimize_pic_address): Handle symbols that are not valid
3968 LARL operands in 64-bit mode.
3969
0bb7378d
AH
39702003-04-10 Andrew Haley <aph@redhat.com>
3971
3972 * tree-inline.c (inlinable_function_p): Disable inlining for
3973 synchronized methods.
3974
009ed910
SB
39752003-04-09 Steven Bosscher <steven@gcc.gnu.org>
3976
3977 * c-common.h (lang_statement_code_p): Remove declaration.
3978 (statement_code_p): Ditto.
3979 (c_common_stmt_codes): Define; list of c-common statement codes.
3980 (statement_code_p): New extern declaration.
3981 (STATEMENT_CODE_P): Define.
3982 (INIT_STATEMENT_CODES): Define.
3983 * c-common.c (statement_code_p): Kill the function, declare
3984 as an array of bools instead.
3985 (lang_statement_code_p): Remove.
3986 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
3987 (c_safe_from_p): Ditto.
3988 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
3989 to initialize the statement_code_p array.
3990 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
3991 statement_code_p.
3992 (copy_tree_r): Ditto.
3993 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
3994 statement tree codes.
3995 * cp/lex.c (cxx_init): Add missing print line break. Use
3996 INIT_STATEMENT_CODES to initialize the statement_code_p array.
3997 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
3998 instead of statement_code_p.
3999 * cp/pt.c (tsubst_expr): Ditto.
4000 * cp/tree.c (verify_stmt_tree_r): Ditto.
4001 (cp_statement_code_p): Remove.
4002 (init_tree): Don't set lang_statement_code_p, it's gone.
4003
496324d0
DN
40042003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
4005 Zack Weinberg <zack@codesourcery.com>
4006
4007 * regrename.c (struct du_chain): Use a bitfield for reg_class.
4008 * cse.c (struct qty_table_elem, struct table_elt, struct set):
4009 Use bitfields for fields holding enum rtx_code or
4010 enum machine_mode values. Add comments explaining size choices.
4011
9c951124
AO
40122003-04-09 Alexandre Oliva <aoliva@redhat.com>
4013
4014 * config/fp-bit.c (unpack_d): Handle pair of doubles with
4015 different signs correctly.
4016
d1c9693e
VM
40172003-04-09 Vladimir Makarov <vmakarov@redhat.com>
4018
4019 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
4020 (reg_pending_barrier): Make it of the enumeration type.
4021 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
4022 TRUE_BARRIER.
4023 (sched_analyze): Ditto.
4024 (sched_analyze_insn): Ditto. Use anti-dependencies for
4025 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
4026 (init_deps_global): Initialize the barrier as NO_BARRIER.
06790e5f 4027
f32360c7
VM
40282003-04-09 Vladimir Makarov <vmakarov@redhat.com>
4029
4030 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
4031 Check that asm insn starts on a new cycle. Add nops after asm
4032 insn to end bundle.
4033 (bundling): Move insn type evaluation from the loop. Call
4034 issue_nops_and_insn with the new parameter. Ignore changing
4035 position for nops after asm insn.
4036
0913e4b4
AO
40372003-04-09 Alexandre Oliva <aoliva@redhat.com>
4038
4039 * optabs.c: Comment that gen_add2_insn and others may actually
4040 return emitted insns, if the gen functions turn out to return
4041 emitted insns.
4042 * reload1.c (reload_cse_move2add): Cope with emitted insns from
4043 gen_add2_insn.
4044
21515593
RH
40452003-04-09 Richard Henderson <rth@redhat.com>
4046
4047 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
4048 but not tls_symbolic_operand.
4049 (ia64_expand_load_address): Remove scratch operand.
4050 (ia64_expand_tls_address): Split out from ia64_expand_move.
4051 (ia64_expand_move): Split symbolics only after reload.
4052 (ia64_emit_cond_move): New.
4053 * config/ia64/ia64-protos.h: Update.
4054 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
4055 (symbolic splitter): Accept SImode operands too.
4056 (cmove splitter): Use ia64_emit_cond_move.
4057
66d6bf1f
NC
40582003-04-09 Nick Clifton <nickc@redhat.com>
4059
4060 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
4061 newer.
4062 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
4063 instead of -mno-fpu.
4064 * config/arm/semi.h (ASM_SPEC): Likewise.
4065 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
4066 but only if -msoft-float is specified pass. Otherwise pass
4067 -mfpu=softvfp.
06790e5f 4068
22659ac9
ZD
40692003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4070
4071 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
4072 free_EXPR_LIST_node.
4073
5fce2c65
RS
40742003-04-08 Roger Sayle <roger@eyesopen.com>
4075
4076 * fold-const.c (fold): Use "fold" following build in more places.
4077 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
4078 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
4079
531878a6
RS
40802003-04-08 Roger Sayle <roger@eyesopen.com>
4081
4082 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
4083 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
4084 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
4085 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
4086 Delete function scope "fcode" variable to avoid shadowing.
4087
c583e7c3
KB
40882003-04-08 Kevin Buettner <kevinb@redhat.com>
4089
4090 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
4091 Take into account DWARF_INITIAL_LENGTH_SIZE.
4092
5a82c0b1
HPN
40932003-04-08 Hans-Peter Nilsson <hp@axis.com>
4094
4095 * reorg.c (fill_slots_from_thread): When considering changing the
4096 insn following a reg-to-reg copy insn to use the source reg of the
4097 copy, bail out if there's overlap between the registers.
4098
8a5275eb
ZD
40992003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4100
4101 * function.c (postponed_insns): New.
4102 (purge_addressof_1): Postpone processing of insns if addressofs
4103 are not put into stack.
06790e5f 4104 (purge_addressof): Process postponed insns.
8a5275eb 4105
ac55736a
R
41062003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
4107
4108 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
4109 this is FP_MODE_DOUBLE .
4110 * sh.c (ra.h): #include.
4111 (push_regs): Add second parameter. Changed all callers.
4112 If necessary, set fpscr before saving floating point registers.
4113 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
4114 do saves / restores with SZ == 1.
4115 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
4116 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
4117 registers are being restored, restore FPSCR only after restoring them.
4118
3fdaa45a
AH
41192003-04-08 Aldy Hernandez <aldyh@redhat.com>
4120
496324d0
DN
4121 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
4122 regardless of architecture.
4123 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
3fdaa45a 4124
490dbac7
R
41252003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
4126
4127 * sh.c (push_regs, calc_live_regs): Return int. Take single
4128 HARD_REG_SET * parameter. Changed all callers.
4129
799b33a0
JH
4130Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
4131
4132 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
4133 GOTOFF operand.
4134 (legitimize_pic_address): Move plus outside the unspec.
4135 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
4136 for validity.
4137
3e71e002
NS
41382003-04-08 Nathan Sidwell <nathan@codesourcery.com>
4139
4140 * gcov-io.h (gcov_save_position): Remove __inline__ from
4141 declaration.
4142
7ba4ca63
MK
41432003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
4144
4145 * doc/install.texi: Use @command and @samp for single- and
4146 multi-word commands respectively.
4147 * doc/makefile.texi: Likewise.
4148 * doc/sourcebuild.texi: Likewise.
4149
f8d4be57 41502003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
496324d0 4151 Richard Henderson <rth@redhat.com>
f8d4be57 4152
496324d0
DN
4153 PR c/9516
4154 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
4155 favour of looping and tail recursion for TREE_LIST and binops.
f8d4be57 4156
760e8e42
ZD
41572003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4158
4159 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
4160 for insns without luid.
4161
b0a3412c
GN
41622003-04-07 Glen Nakamura <glen@imodulo.com>
4163
4164 PR opt/8634
4165 * explow.c (maybe_set_unchanging): Don't flag non-static const
4166 aggregate type initializers with RTX_UNCHANGING_P.
4167
c5a1e3d6
RH
41682003-04-07 Richard Henderson <rth@redhat.com>
4169
496324d0
DN
4170 PR opt/8634
4171 * function.c (purge_addressof_1): Don't try arithmetics for
4172 unchanging memories.
c5a1e3d6 4173
138d4703
JJ
41742003-04-07 Janis Johnson <janis187@us.ibm.com>
4175
4176 * doc/sourcebuild.texi (Test Suites): Document testing support for
4177 gcov and profile-directed optimizations; describe gcc.misc-tests.
4178
1d5b4e0b
JH
4179Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
4180
4181 PR target/10077
4182 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
4183
60ba917e
EB
41842003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
4185
4186 * doc/rtl.texi (Comparison operations): Update to
4187 record the allowed comparison modes.
4188
2abe3e28
AH
41892003-04-07 Aldy Hernandez <aldyh@redhat.com>
4190
496324d0
DN
4191 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
4192 V2SI_type_node to opaque_V2SI_type_node. Rename all
4193 V2SF_type_node to opaque_V2SF_type_node.
4194 (rs6000_init_builtins): Define opaque_V2SI_type_node and
4195 opaque_V2SF_type_node.
4196 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
4197 opaque_V2SF_type_node are opaque types.
2abe3e28 4198
9a318d30
R
41992003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
4200
4201 * gcse.c (replace_store_insn): Use single_set.
4202
546d2adb
NS
42032003-04-07 Nathan Sidwell <nathan@codesourcery.com>
4204
4205 Change gcov file interface to single file at a time.
4206 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
4207 Convert to C89 prototypes.
4208 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
4209 gcov_error, gcov_modified): New static variables.
4210 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
4211 functions.
4212 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
4213 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
4214 (gcov_read_summary, gcov_write_summary): Adjust.
4215 (gcov_save_position, gcov_reserve_length, gcov_write_length):
4216 Adjust.
4217 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
4218 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
4219 (da_file_position, da_file_seek, da_file_write, da_file_read):
4220 Remove.
4221 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
4222 * gcov.c (gcov_type): Don't typedef here.
4223 (IN_GCOV): #define
4224 (read_graph_file, read_count_file): Adjust.
4225 * gcov-dump.c (gcov_type): Don't typedef here.
4226 (IN_GCOV): #define.
4227 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
4228 Remove FILE parameter, adjust.
4229 (struct tag_format): Adjust proc member.
4230 (dump_file): Adjust.
4231 * libgcov.c (IN_LIBGCOV): #define.
4232 (gcov_exit): Adjust.
4233 * loop-init.c: Don't #include gcov-io.h
4234 * profile.c (struct counts_entry): New structure to hold counter
4235 values.
4236 (struct section_reference, struct da_index_entry): Remove.
4237 (bbg_file, da_file): Remove.
4238 (htab_counts_index_hash, htab_counts_index_eq,
4239 htab_counts_index_del): Replace with ...
4240 (htab_counts_entry_hash, htab_counts_entry_eq,
4241 htab_counts_entry_del): ... these.
4242 (cleanup_counts_index, index_counts_file): Remove.
4243 (read_counts_file): New function.
4244 (get_exec_counts): Adjust.
4245 (compute_branch_probabilities): Don't free the exec counts here.
4246 (branch_prob): Adjust.
4247 (init_branch_prob): Adjust.
4248 (end_branch_prob): Adjust.
4249
5da702b1
AH
42502003-04-07 Aldy Hernandez <aldyh@redhat.com>
4251
496324d0
DN
4252 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
4253 -mfloat-gprs.
5da702b1 4254
496324d0
DN
4255 * config/rs6000/rs6000.c: Delete rs6000_fprs.
4256 Declare rs6000_float_gprs.
4257 Declare rs6000_float_gprs_string.
4258 (rs6000_parse_float_gprs_option): New.
4259 (rs6000_override_options): Genericize rs6000_parse_* calls to use
4260 rs6000_parse_yes_no_option.
4261 Change check for cpu=8540, to use TARGET_E500.
4262 (rs6000_parse_isel_option): Delete.
4263 (rs6000_parse_spe_option): Delete.
4264 (rs6000_parse_vrsave_option): Delete.
5da702b1 4265
496324d0
DN
4266 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
4267 Define rs6000_float_gprs_string.
4268 (TARGET_OPTIONS): Add rs6000_float_gprs option.
5da702b1 4269
496324d0 4270 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
5da702b1 4271
496324d0 4272 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
5da702b1 4273
cde1d5bf
JH
4274Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
4275
4276 PR opt/10024
4277 * cfglayout.c (cfg_layout_redirect_edge):
4278 Redirect any branch edges unified with the fallthru one.
4279 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
4280 case fallthru edges when called via cfglayout.c
4281
d5019ba3
R
42822003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
4283
4284 * c-typeck.c (output_init_element): Check for type == error_mark_node.
4285
093b05b6
KH
42862003-04-07 Kazu Hirata <kazu@cs.umass.edu>
4287
4288 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
4289 split.
4290 (a splitter): Do zero-extension via HImode.
4291
9a94f7f3
JM
42922003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
4293
4294 * doc/invoke.texi: Eliminate extra white-space caused by
4295 @gccoptlist{ on its own line.
4296 * doc/invoke.texi: Ensured there are two spaces between each option.
4297 * doc/invoke.texi: Re-wrapped option lines that were too wide.
4298 Added @gol to options that didn't have them.
4299
85ebf0c6
JM
43002003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
4301
4302 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
4303
d78e771d
ZW
43042003-04-06 Zack Weinberg <zack@codesourcery.com>
4305
4306 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
4307 at the sizes of the relevant structures, rather than relying
4308 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
4309 sizes of any such we don't know about. Use
4310 lang_hooks.identifier_size for IDENTIFIER_NODE.
4311
4312 (initializer_zerop): Use CONSTRUCTOR_ELTS.
4313 * tree.def: Update commentary. Make fourth element of
4314 the definition for all 'c' and 'x' nodes zero.
4315
4316 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
4317 * langhooks-def.h: Update to match.
4318 * langhooks.c: New default, lhd_tree_size.
4319
4320 * c-common.def (SRCLOC): Kill.
4321 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
4322 Remove entirely - was already #if-ed out.
4323
4324
48a79342
ZW
43252003-04-06 Zack Weinberg <zack@codesourcery.com>
4326
4327 * mklibgcc.in: Use a here document to avoid running afoul of
4328 shells that generate control-A from "echo \1".
4329
993f19a8
AH
43302003-04-06 Aldy Hernandez <aldyh@redhat.com>
4331
d78e771d
ZW
4332 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
4333 option.
993f19a8 4334
d78e771d
ZW
4335 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
4336 rs6000_spe.
993f19a8 4337
d78e771d 4338 * config/rs6000/eabi.h (TARGET_E500): Define.
993f19a8 4339
d78e771d
ZW
4340 * config/rs6000/rs6000.h (TARGET_E500): Define.
4341 (TARGET_OPTIONS): Add spe= option.
4342 Declare rs6000_spe and rs6000_spe_string extern.
993f19a8 4343
d78e771d
ZW
4344 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
4345 Change TARGET_SPE to TARGET_E500.
4346 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
4347 !TARGET_FPRS.
4348 (print_operand): Same.
4349 (rs6000_generate_compare): Same.
4350 (output_cbranch): Same.
4351 (rs6000_spe): Declare.
4352 (rs6000_spe_string): Declare.
4353 (rs6000_override_options): Call rs6000_parse_spe_option.
4354 (rs6000_parse_spe_option): New.
993f19a8 4355
95ec27aa
SB
43562003-04-06 Steven Bosscher <steven@gcc.gnu.org>
4357
4358 * hashtable.c (gcc_obstack_init): Delete this function
4359 and everything related to it.
4360 * hashtable.h: Remove prototype.
4361 * bitmap.c (bitmap_element_allocate): Cleanup redundant
4362 defines. Cleanup some unnecessary whitespace.
4363 * defaults.h (obstack_chunk_alloc): Redefine with
4364 appropriate casts for libiberty obstacks.
4365 (obstack_chunk_free): Ditto.
4366 (OBSTACK_CHUNK_SIZE): Define, default to 0.
4367 (gcc_obstack_init): Define as a call to _obstack_begin.
4368 * tree.c (print_obstack_statistics): Delete this unused
4369 function.
4370 * tree.h (obstack): Don't forward-declare.
4371 (print_obstack_statistics): Delete prototype.
4372 (print_obstack_name): Ditto.
4373 (gcc_obstack_init): Ditto.
4374 * rtl.h (gcc_obstack_init): Ditto.
4375 * java/jv-scan.c (gcc_obstack_init): Delete this
4376 function, its prototype and related defines.
4377 * java/jvgenmain.c (gcc_obstack_init): Delete this
4378 function, and related defines.
4379 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
4380 (obstack_chunk_free): Ditto
4381
62e64b0b
GK
43822003-04-06 Geoffrey Keating <geoffk@apple.com>
4383
4384 * dbxout.c (dbxout_handle_pch): Move prototype out from
4385 #if defined DBX_DEBUGGING_INFO.
4386
10b7602f
NS
43872003-04-05 Nathan Sidwell <nathan@codesourcery.com>
4388
4389 * gcov.c (struct arc_info): Replace local_span with cycle.
4390 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
4391 (solve_flow_graph): Set is_call_return.
4392 (add_line_counts): Adjust. In block mode, blocks attach to last line.
4393 (accumulate_line_counts): Find graph cycles, not spanning tree.
4394 (output_branch_count): Adjust.
4395 (output_lines): Adjust.
4396 * doc/gcov.texi: Update.
4397
910c46b5
KH
43982003-04-06 Kazu Hirata <kazu@cs.umass.edu>
4399
4400 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
4401 the second alternative to "#".
4402
ef378bbe
KH
44032003-04-05 Kazu Hirata <kazu@cs.umass.edu>
4404
4405 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
4406 (single_zero_operand): Likewise.
4407
873ceaab
DB
44082003-04-05 Daniel Berlin <dberlin@dberlin.org>
4409
4410 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
4411 * df.c: Include alloc-pool.h, not obstack.h.
4412 (df_ref_obstack): Remove.
4413 (df_ref_pool, df_link_pool): Add pools.
4414 (df_alloc): Init the new pools.
4415 (df_free): And free them.
4416 (df_link_create): Use the pools.
4417 (df_ref_create): Ditto.
4418
5be86fec
KH
44192003-04-05 Kazu Hirata <kazu@cs.umass.edu>
4420
4421 * simplify-rtx.c: Fix formatting.
4422
984e25ac
DE
44232003-04-05 Andrew Pinski <apinski@apple.com>
4424
4425 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
4426 reg with reg1 == reg2 and offset1 = -8.
4427
44282003-04-05 David Edelsohn <edelsohn@gnu.org>
4429
4430 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
4431 multiply costs. Correct Power4 divide costs.
4432 * config/rs6000/power4.md: Restore multiply and FP latency.
4433
94f24ddc
ZD
44342003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4435
4436 * alias.c (find_base_term): Export.
4437 * rtl.h (find_base_term): Declare.
4438 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
4439 instead of flag_exceptions. Move test for parameter passing ...
4440 (store_killed_in_insn): ... here.
4441
92441f83
GP
44422003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4443
4444 PR bootstrap/10267
4445 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
4446 for configuring.
4447
33b49800
GK
44482003-04-04 Geoffrey Keating <geoffk@apple.com>
4449
4450 * dbxout.c (scope_labelno): Add GTY.
4451 (have_used_extensions): Add GTY.
4452 (source_label_number): Add GTY.
4453 (lastfile): Add GTY.
4454 (lastfile_is_base): New.
4455 (base_input_file): New.
4456 (dbxout_handle_pch): New.
4457 (dbx_debug_hooks): Add handle_pch.
4458 (xcoff_debug_hooks): Likewise.
4459 (dbxout_function_end): Remove scope_labelno.
4460 (dbxout_init): Set base_input_file.
4461 (dbxout_handle_pch): New.
4462 (dbxout_source_file): Honour lastfile_is_base.
4463 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
4464 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
4465 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
4466 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
4467 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
4468 * debug.h (struct gcc_debug_hooks): Add handle_pch.
4469 * c-pch.c (pch_init): Don't call start_source_file, but do call
4470 handle_pch.
4471 (c_common_write_pch): Call handle_pch.
4472 (c_common_read_pch): Don't call start_source_file,
06790e5f 4473 or end_source_file.
33b49800 4474
bb056a77
OH
4475Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
4476
d78e771d
ZW
4477 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
4478 use of default attributes to agree MEM_ALIGN macro.
bb056a77 4479
08b0f5f9
JB
4480Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
4481
d78e771d 4482 * dbxout.c (dbxout_type): When printing type index of range type
08b0f5f9
JB
4483 whose bounds are printed in octal format, print type of parent type if
4484 it exists so enumerated type descriptions are not transformed
d78e771d 4485 into unsigned types.
08b0f5f9 4486
45ca2106
KH
44872003-04-04 Kazu Hirata <kazu@cs.umass.edu>
4488
4489 * config/h8300/h8300-protos.h: Add a prototype for
4490 compute_a_shift_cc.
4491 * config/h8300/h8300.c (shift_one): Update the CC status.
4492 (shift_two): Likewise.
4493 (output_a_shift_cc): Set cc_inline and cc_special.
4494 (compute_a_shift_cc): New.
4495 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
4496
7c2aa9d7
RH
44972003-04-04 Richard Henderson <rth@redhat.com>
4498
4499 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
4500
0705a2a2
LR
45012003-04-04 Loren James Rittle <ljrittle@acm.org>
4502
4503 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
4504 * fixinc/fixincl.x: Rebuilt.
4505 * fixinc/tests/base/stdio.h: Regenerated.
4506
1a482881
NS
45072003-04-04 Nathan Sidwell <nathan@codesourcery.com>
4508
4509 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
4510
5d806217
R
4511Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
4512
4513 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
4514 (NORMAL_MODE).
4515 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
4516
0dc5ac92 45172003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
06790e5f 4518
0dc5ac92
GP
4519 * doc/contrib.texi (Contributors): Add entries for Wolfgang
4520 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
4521 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
4522 Danny Smith, and Ulrich Weigand.
4523 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
4524 entry.
4525
5eb7ad07
NC
45262003-04-04 Nick Clifton <nickc@redhat.com>
4527
4528 * config/sparc/sol2-bi.h: Revert previous delta.
4529 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
4530
fdf3bb57
NC
45312003-04-04 Nick Clifton <nickc@redhat.com>
4532
4533 * config/v850/v850.c (expand_prologue): Only use register save
4534 helper functions if long calls are not being used.
4535 Add a clobber of r11 id using long calls.
4536 (pattern_is_ok_for_prologue): Account for the extra clobber.
4537 (construct_save_jarl): Likewise.
4538 * config/v850/v850.md (prolog pattern): Do not use this pattern
4539 for v850e's.
4540
ad3f5759
AS
45412003-04-04 Andreas Schwab <schwab@suse.de>
4542
4543 * stor-layout.c (layout_decl): Avoid syntax error in last change
4544 when PCC_BITFIELD_TYPE_MATTERS is defined but not
4545 EMPTY_FIELD_BOUNDARY.
4546
ed2e5902
JM
45472003-04-03 Jason Merrill <jason@redhat.com>
4548
4549 PR c/10175
4550 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
4551 Look backwards for a line note.
4552
7b43d104
NB
45532003-04-03 Neil Booth <neil@daikokuya.co.uk>
4554
4555 * fix-header.c (read_scan_file): Defer switch processing.
4556
d24ecd21
MA
45572003-04-03 Matt Austern <austern@apple.com>
4558
4559 * cpppch.c (reset_ht): Remove.
4560 (cpp_read_state): Remove loop to reset hashtable identifiers.
4561 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
4562 after pch file is written.
4563 * ggc.h (gt_pch_fixup_stringpool): Declare.
4564 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
4565 hashnode's value to another hashtable, then clear the original.
4566 (saved_ident_hash): Define.
4567 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
4568 store definitions in ident_hash, and clear ident_hash.
4569 (gt_pch_fixup_stringpool): Define. Restore definitions from
4570 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
4571
bcc53e2a
JH
4572Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
4573
4574 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
4575
773eae39
EB
45762003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
4577
4578 PR optimization/10157
4579 * gcse.c (can_copy_p): Rename it to can_copy.
4580 (can_copy_init_p): Remove.
4581 (compute_can_copy): Use can_copy instead of can_copy_p.
4582 (can_copy_p): New exported function. Call compute_can_copy.
4583 (hash_scan_set): Use it.
4584 (gcse_main): Don't call compute_can_copy.
4585 (bypass_jumps): Don't call compute_can_copy.
4586 * rtl.h (can_copy_p): Declare.
4587 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
4588 copy if the mode doesn't support copy operations.
4589
78d55cc8
JM
45902003-04-03 Jason Merrill <jason@redhat.com>
4591
613fa146
JM
4592 * Makefile.in (unstrap): Also remove stage_last.
4593
7bf6b23d
JM
4594 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
4595 (dwarf2out_source_line): Don't do anything if line==0.
4596
78d55cc8 4597 * stor-layout.c (do_type_align): New fn, split out from...
06790e5f 4598 (layout_decl): ...here. Do all alignment calculations for
78d55cc8
JM
4599 FIELD_DECLs here.
4600 (update_alignment_for_field): Not here.
4601 (start_record_layout, debug_rli): Remove unpadded_align.
4602 * tree.h (struct record_layout_info_s): Remove unpadded_align.
4603 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
4604 or DECL_MODE on the CONST_DECLs.
4605 (finish_struct): Don't mess with DECL_ALIGN.
4606
d10f5ecf
JH
4607Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
4608
4609 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
4610
4611Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
8d3b0953 4612
70aadfcc
R
4613 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
4614 function is an interrupt handler.
4615
4616 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
4617 restoring target registers with EH_RETURN_STACKADJ_RTX; use
4618 multiple registers in round-robin fashion.
8d3b0953 4619
de94b46c
KG
46202003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4621
4622 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
4623 * system.h (CHAR_BITFIELD): New.
4624
203dcb74
KH
46252003-04-03 Kazu Hirata <kazu@cs.umass.edu>
4626
4627 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
4628 and LE.
4629 (another peephole2): Likewise.
4630
dc00aebd
NC
46312003-04-03 Nick Clifton <nickc@redhat.com>
4632
4633 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
d78e771d 4634 (DEF_ARCH64_SPEC): Likewise.
dc00aebd 4635
a94f136b
JH
4636Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
4637
4638 * i386.c (constant_address_p): Use legitimate_constant_p.
4639 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
4640
9a2dd2dd
KH
46412003-04-02 Kazu Hirata <kazu@cs.umass.edu>
4642
4643 * config/h8300/h8300-protos.h: Add a prototype for
4644 gtle_operator.
4645 * config/h8300/h8300.c (gtle_operator): New.
4646 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
4647 gtle_operator.
4648 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
4649 and LE.
4650
378683cf
RH
46512003-04-02 Richard Henderson <rth@redhat.com>
4652
4653 * libgcc-std.ver (_Unwind_GetCFA): New.
4654 * unwind-dw2.c (_Unwind_GetCFA): New.
4655 * unwind-libunwind.c (_Unwind_GetCFA): New.
4656 * unwind-sjlj.c (_Unwind_GetCFA): New.
4657 * unwind.h: Declare it.
4658
a67a3220
JH
4659Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
4660
4661 PR inline-asm/8088
4662 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
4663 when MMX/SSE is not available.
4664
11292480
MS
46652003-04-02 Mike Stump <mrs@apple.com>
4666
4667 * doc/install.texi (Specific): Update pointers to apple.com.
4668
a94f136b 4669Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
a5b378d6
JH
4670
4671 * i386.c (override_options): Disable red zone by default on i386.
06790e5f 4672 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
a5b378d6
JH
4673 Do not test TARGET_64BIT together with TARGET_RED_ZONE
4674
8fc9a7ba
KH
46752003-04-02 Kazu Hirata <kazu@cs.umass.edu>
4676
4677 * config/h8300/h8300.md (a peephole2): Tighten the condition.
4678
496e1c4b
RH
46792003-04-02 Richard Henderson <rth@redhat.com>
4680
4681 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
4682
d98cd543
KH
46832003-04-02 Kazu Hirata <kazu@cs.umass.edu>
4684
4685 * config/h8300/h8300.md (a peephole2): New.
4686
b30abdf2
RH
46872003-04-02 Richard Henderson <rth@redhat.com>
4688
4689 * except.c (sjlj_find_directly_reachable_regions): Recognize when
4690 must-not-throw region has been deleted.
4691
ad5eeaa9
RH
46922003-04-02 Richard Henderson <rth@redhat.com>
4693
d78e771d
ZW
4694 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
4695 optimization when flag_exceptions not enabled.
ad5eeaa9 4696
be12c2b0
VM
46972003-04-02 Vladimir Makarov <vmakarov@redhat.com>
4698
4699 * config/rs6000/rs6000.c
4700 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
4701 macros.
4702 (rs6000_issue_rate): Add case for 8540.
4703 (rs6000_use_sched_lookahead): New function.
4704
4705 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
4706 units into MU ones.
4707 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
4708 reservation before retirement.
4709 (ppc8540_multiply, ppc8540_load, ppc8540_store,
4710 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
4711 Remove additional cycle in the reservation before retirement.
4712 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
4713 reservation of ppc8540_issue.
06790e5f 4714
f875310e
AS
47152003-04-02 Andreas Schwab <schwab@suse.de>
4716
4717 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
4718
125ca8fd
RH
47192003-04-01 Richard Henderson <rth@redhat.com>
4720
d78e771d
ZW
4721 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
4722 notes for nothrow calls if flag_forced_unwind_exceptions.
4723 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
4724 (sjlj_find_directly_reachable_regions): Likewise.
4725 (reachable_handlers): Likewise.
4726 (can_throw_external): Likewise.
4727 (collect_one_action_chain): Record cleanups after catch-all and
4728 must-not-throw if flag_forced_unwind_exceptions.
4729 * flags.h (flag_forced_unwind_exceptions): Declare.
4730 * toplev.c (flag_forced_unwind_exceptions): New.
4731 (lang_independent_options): Add it.
125ca8fd
RH
4732 * doc/invoke.text: Add it.
4733
8f744ea9
DM
47342003-04-01 David Mosberger <davidm@hpl.hp.com>
4735
d78e771d
ZW
4736 * config/ia64/crti.asm: Clean up trailing whitespace.
4737 Remove trailing hashes (#) from identifiers.
8f744ea9 4738
d78e771d 4739 * config/ia64/crtn.asm: Ditto.
8f744ea9 4740
d78e771d
ZW
4741 * config/ia64/crtend.asm: Remove trailing hashes (#) from
4742 identifiers.
4743 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
4744 directives. Drop explicit bundling---it just makes the code
4745 harder to read. Don't save/restore gp needlessly.
8f744ea9 4746
d78e771d
ZW
4747 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
4748 identifiers (they're only needed if the identifier would clash
4749 with a register name otherwise).
4750 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
4751 directives. Drop explicit bundling---it just makes the code
4752 harder to read.
4753 (__do_jv_register_classes): Ditto.
4754 (.fini_array): Remove "progbits" (newer
4755 assemblers don't like wrong section-types).
4756 (.init_array): Ditto.
8f744ea9 4757
e129b3f9
RS
47582003-04-01 Roger Sayle <roger@eyesopen.com>
4759
4760 PR fortran/9974
15d4fd98 4761 * gcse.c (reg_killed_on_edge): New function to test whether the
e129b3f9
RS
4762 given reg is overwritten by any instruction queued on an edge.
4763 (bypass_block): Ignore substitutions killed on incoming edges.
4764 Don't bypass outgoing edges that have queued instructions.
4765
fe0002ee
AO
47662003-04-01 Alexandre Oliva <aoliva@redhat.com>
4767
4768 * real.h (EXP_BITS): Make room for...
4769 (struct real_value): ... added canonical bit.
4770 (struct real_format): Added pnan.
4771 (mips_single_format, mips_double_format, mips_extended_format,
4772 mips_quad_format): New.
4773 * real.c: Copy p to pnan in all formats.
4774 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
4775 (real_nan): Use pnan to compute significand's shift.
4776 (real_identical): Disregard significand in canonical
4777 NaNs.
4778 (real_hash): Likewise. Take signalling into account.
4779 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
4780 Disregard significand bits in canonical NaNs. Set all bits of
4781 canonical NaN if !qnan_msb_set.
4782 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
4783 qnan_msb_set to tell the base double format.
4784 (ibm_extended_format): Use 53 as pnan.
4785 (mips_single_format, mips_double_format, mips_extended_format,
4786 mips_quad_format): Copied from the corresponding ieee/ibm
4787 formats, with qnan_msb_set false.
4788 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
4789 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
4790 * config/mips/mips.c (override_options): Use mips_single_format
4791 and mips_double_format. Default TFmode to mips_quad_format.
4792 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
4793 * config/mips/t-irix6: Likewise.
4794 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
4795 * config/fp-bit.c (pack_d, unpack_d): Obey it.
4796
481a8181
GK
47972003-04-01 Geoffrey Keating <geoffk@apple.com>
4798
4799 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
4800 (live_image_destructor): Reset image to initial state.
4801 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
4802
375ffbe6
EB
48032003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
4804
4805 * config/sparc/sparc.c (input_operand): Accept bare
4806 CONSTANT_P_RTX operands.
4807
47a3dae1
ZD
48082003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4809
4810 * gcse.c (struct ls_expr): Added pattern_regs field.
4811 (ldst_entry): Initialize it.
4812 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
4813 (store_ops_ok): Use regs precomputed by them.
4814 (find_loads, store_killed_in_insn, load_kills_store): Change return
4815 type to bool.
4816 (store_killed_before, store_killed_after): Take position of register
4817 set in account.
4818 (reg_set_info): Store position of the setter.
4819 (gcse_main): Enable store motion.
4820 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
4821 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
4822 sharing.
4823 (simple_mem): Enable store motion of non-symbol mems.
4824 (regvec): Type changed.
4825 (LAST_AVAIL_CHECK_FAILURE): New.
4826 (compute_store_table_current_insn): New.
4827 (build_store_vectors): Computation of availability and anticipatability
4828 moved ...
4829 (compute_store_table, find_moveable_store): ... here.
4830 (delete_store): Remove senseless comment.
4831 (store_motion): Reorganize.
4832
77d4f3a4
KB
48332003-04-01 Kevin Buettner <kevinb@redhat.com>
4834
4835 * config/mips/mips.c (override_options): Provide mappings for
4836 HI_REGNUM and LO_REGNUM.
4837 * config/mips/mips.h (MD_DBX_FIRST): Define.
4838
7d4444ea
FS
48392003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4840
4841 * combine.c (merge_outer_ops): Fix typo.
4842
4843 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
4844
9259f3b0
DE
48452003-04-01 David Edelsohn <edelsohn@gnu.org>
4846
4847 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
4848 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
4849 imul_compare. Add lmul_compare.
4850 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
4851 in second pair of dispatch slots. Model stores more accurately.
4852 Tweak multiply model. Add bypasses for CR instructions dependent
4853 on complicated compares.
4854 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
4855 (muldi3): Add lmul_compare patterns.
4856 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
4857 and FPSTORE_UX to split instructions and add COMPARE,
4858 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
4859 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
4860 (rs6000_rtx_costs): Separate POWER4 multiply case.
4861
7fe317e4
UW
48622003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
4863
4864 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
4865 Do nothing if __builtin_return_address was not used.
4866
e1fea6ee
JH
4867Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
4868
4869 * i386.md (test patterns): Allow memory operand in operand1.
4870
d744e06e
AH
48712003-02-31 Aldy Hernandez <aldyh@redhat.com>
4872
d78e771d
ZW
4873 * testsuite/gcc.c-torture/execute/simd-3.c: New.
4874
4875 * expr.c (expand_expr): Handle VECTOR_CST.
4876 (const_vector_from_tree): New.
4877
4878 * varasm.c (output_constant): Handle VECTOR_CST.
4879
4880 * c-typeck.c (digest_init): Build a vector constant from a
4881 VECTOR_TYPE.
4882
4883 * config/rs6000/rs6000.c: Remove prototype for
4884 easy_vector_constant.
4885 (easy_vector_constant): Add mode parameter. Rewrite to handle
4886 more easy constants.
4887 (rs6000_emit_move): Pass mode to easy_vector_constant.
4888 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
4889 (emit_easy_vector_insn): New.
4890 (easy_vector_same): New.
4891 (EASY_VECTOR_15): New macro.
4892 (EASY_VECTOR_15_ADD_SELF): New macro.
4893 (bdesc_2arg): Rename to xorv2si3.
4894 (easy_vector_constant_add_self): New.
4895 (input_operand): Allow vector constants.
4896
4897 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
4898 easy_vector_constant, easy_vector_constant_add_self.
4899 (EXTRA_CONSTRAINT): Add 'W'.
4900
4901 * config/rs6000/rs6000-protos.h: Add prototype for
4902 easy_vector_constant, emit_easy_vector_insn.
4903
4904 * config/rs6000/altivec.md (xorv8hi3): New.
4905 (xorv16qi3): New.
4906 Remove all _const0 patterns.
4907 (movv4si_internal): Rewrite to use code. Add vector constant to
4908 vector alternative. Add splitter.
4909 (movv8hi_internal): Same.
4910 (movv16qi_internal): Same.
4911 (movv4sf_internal): Same.
4912 Change the unspecs for vspltis* to use constants.
4913
4914 * config/rs6000/spe.md ("xorv4hi3"): New.
4915 ("spe_evxor"): Rename to xorv2si3.
4916 ("xorv1di3"): New.
4917 Remove all _const0 patterns.
4918 (movv2si_internal): Rewrite to use code. Add vector constant to
4919 alternatives. Add splitter.
4920 (movv4hi_internal): Add vector constant to alternatives.
4921 (movv1di_internal): Same.
4922 (movv2sf_internal): Same.
d744e06e 4923
46e33d43
MM
49242003-03-31 Mark Mitchell <mark@codesourcery.com>
4925
4926 PR c/9936
4927 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
4928 variably-sized arrays in parameters.
4929 (set_save_expr_context): New function.
4930 (c_expand_body): Use it, via walk_tree.
4931
73a39fc4
EC
49322003-03-31 Eric Christopher <echristo@redhat.com>
4933
4934 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
4935 (combinable_i3pat): Remove call to expand_field_assignment and
4936 #if 0'd code.
4937
6b665219
MM
49382003-03-31 Mark Mitchell <mark@codesourcery.com>
4939
4940 PR c++/10278
4941 * c-common.c (finish_label_address_expr): Handle the
4942 error_mark_node.
4943
6c06208f
RH
49442003-03-31 Richard Henderson <rth@redhat.com>
4945
4946 * real.c (real_identical): Reorg so as to not compare
4947 signalling for normals.
4948
11789584
SC
49492003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4950
4951 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
4952
c25292ce
SC
49532003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4954
4955 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
4956 notes as they are boggus.
4957 (m68hc11_gen_movqi): Likewise.
4958
07faf2d6
SC
49592003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4960
4961 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
4962 save the soft registers after the frame pointer so that gdb can unwind
4963 the frame more easily.
4964 (expand_epilogue): Likewise in opposite order; allow to use X register
4965 as scratch if the return value is by reference.
4966
adff28c3
JM
49672003-03-31 Jason Merrill <jason@redhat.com>
4968
4969 PR java/10145
4970 * stor-layout.c (update_alignment_for_field): Respect
4971 DECL_USER_ALIGN for zero-length bitfields, too.
4972 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
4973 fields.
4974
c419b113
MA
49752003-03-31 Matt Austern <austern@apple.com>
4976
4977 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
4978 (count_defs): Keep track of number of defs as well as total size.
4979 (write_defs): Put every definition in cpp_savedstate's defs array.
4980 (comp_hashnode): Define. Comparison function for qsort.
4981 (cpp_write_pch_deps): Sort definitions before writing them.
4982 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
4983 (collect_ht_nodes): Define.
4984 (cpp_valid_state): When verifying that undefined identifiers in
4985 the pch file are still undefined, read a sorted list of undefined
4986 identifiers, collect all defined identifiers into a sorted list,
4987 and walk through both lists to make sure there's no match.
73a39fc4 4988
ef3a7d56
KH
49892003-03-31 Kazu Hirata <kazu@cs.umass.edu>
4990
4991 * config/h8300/h8300.md (a peephole2): New.
4992
5ccd517a
MM
49932003-03-31 Michael Matz <matz@suse.de>
4994
4995 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
4996
49972003-03-31 Segher Boessenkool <segher@koffie.nl>
c8ae788f
SB
4998
4999 PR target/10177
5000 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
5001 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
5002 all call-clobbered registers as used.
5003
7f1fc38e
MM
50042003-03-31 Michael Matz <matz@suse.de>
5005
5006 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
5007 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
5008
27283c73
NS
50092003-03-31 Nathan Sidwell <nathan@codesourcery.com>
5010
5011 * gcov.c: Add -a & -u options.
5012 (struct arc_info): Add local_span, is_call_non_return,
5013 is_nonlocal_return, is_unconditional flags, remove is_call flag.
5014 (struct block_info): Add flags, is_call_site, is_nonlocal_return
5015 members. Make encodings a union with span member.
5016 (struct function_info): Add blocks_executed, line, src, line_next
5017 members.
5018 (struct coverage_info): Make branches a union with blocks member.
5019 (struct source_info): Add functions member.
5020 (object_summary, program_count): New global variables.
5021 (flag_all_blocks, flag_unconditional): New flags.
5022 (find_source, output_branch_count): New functions.
5023 (print_usage): Adjust.
5024 (options): Adjust.
5025 (process_args): Adjust.
5026 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
5027 <GCOV_TAG_BLOCKS>: Read flags.
5028 <GCOV_TAG_LINES>: Adjust.
5029 (read_count_file): Process SUMMARY tags.
5030 (solve_flow_graph): Set is_unconditional and clear is_call_site
5031 appropriately.
5032 (add_branch_counts): Adjust. Don't count unconditional branches.
5033 (add_line_counts): Deal with all-blocks mode, accumulate block
5034 coverage.
5035 (accumulate_line_counts): Adjust, generate local spanning tree for
5036 all-blocks mode.
5037 (output_lines): Adjust.
5038 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
5039 * doc/gcov.texi: Document.
5040
212d9313
KH
50412003-03-31 Kazu Hirata <kazu@cs.umass.edu>
5042
63855aa6 5043 * config/h8300/h8300.md: Organize peephole2's that transform
212d9313
KH
5044 (compare (reg:HI) (const_int)).
5045
03f2ea93
RS
50462003-03-31 Roger Sayle <roger@eyesopen.com>
5047
5048 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
5049 (init_emit_once): Initialize dconstm2 and dconsthalf here.
5050 * real.h (dconstm2, dconsthalf): Add prototypes here.
5051 * real.c (real_sqrt): Use dconsthalf rather than local copy.
5052 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
5053 exp(x/2.0) remember to fold the division if possible.
5054 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
5055 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
5056 1.0/(x*x) and pow(x,0.5) as sqrt(x).
5057
155de338
KH
50582003-03-31 Kazu Hirata <kazu@cs.umass.edu>
5059
5060 * config/h8300/h8300.md (a new peephole2): New.
5061
98d3d336
RS
50622003-03-31 Richard Sandiford <rsandifo@redhat.com>
5063
5064 * gcse.c (simple_mem): Return false for floating-point accesses
5065 if flag_float_store is true.
5066
6b2d1c9e
RS
50672003-03-30 Roger Sayle <roger@eyesopen.com>
5068
5069 * gcse.c (gcse_constant_p): New function to identify constants
5070 suitable for constant propagation, including COMPARE with two
5071 integer constant arguments.
5072 (hash_scan_set): Use gcse_constant_p.
5073 (find_avail_set): Likewise.
5074 (cprop_insn): Likewise.
5075 (do_local_cprop): Likewise.
5076 (find_implicit_sets): Likewise.
5077 (find_bypass_set): Likewise.
5078
af829441
MK
50792003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
5080
5081 * except.h: Remove definition of varray_type.
5082
3d1f4922
RH
50832003-03-30 Richard Henderson <rth@redhat.com>
5084
5085 PR opt/10011, opt/10252:
d78e771d
ZW
5086 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
5087 before post-gcse cse pass.
3d1f4922 5088
9311f3f6
RS
50892003-03-30 Roger Sayle <roger@eyesopen.com>
5090
5091 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
5092
ececa172
DD
50932003-03-30 DJ Delorie <dj@redhat.com>
5094
5095 * profile.c (instrument_edges): Make sure any newly created
5096 jump insns have correct jump label info.
5097
e1233a7d
RH
50982003-03-30 Richard Henderson <rth@redhat.com>
5099
5100 * cfgbuild.c (make_edges): Use tablejump_p.
5101 * cfgcleanup.c (label_is_jump_target_p): Likewise.
5102 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
5103 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
5104 (try_redirect_by_replacing_jump): Likewise.
5105 (redirect_edge_and_branch): Likewise.
5106 * cse.c (fold_rtx): Likewise.
5107 * jump.c (delete_related_insns): Likewise.
5108 * rtlanal.c (get_jump_table_offset): Likewise.
5109 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
5110
78e68f88
GDR
51112003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5112
d78e771d
ZW
5113 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
5114 (STRICT2_WARN): Likewise.
73a39fc4 5115
15dda4d3
KG
51162003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5117
5118 PR other/6955
5119 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
5120 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
5121
5bf92e20
RH
51222003-03-30 Richard Henderson <rth@redhat.com>
5123
5124 PR c/10083
5125 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
5126 don't zero_extend const inputs.
5127
9a8075a1
KH
51282003-03-30 Kazu Hirata <kazu@cs.umass.edu>
5129
5130 * reload1.c (reload_cse_move2add): Fix a comment typo.
5131
f3926c48
KH
51322003-03-30 Kazu Hirata <kazu@cs.umass.edu>
5133
5134 * config/h8300/h8300.md (a peephole2): Remove useless code.
5135
39ecf301
KH
51362003-03-29 Kazu Hirata <kazu@cs.umass.edu>
5137
5138 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
5139 (*iorsi3_and_lshiftrt): Likewise.
5140 (*iorsi3_zero_extract): Likewise.
5141
d4048ff6
KH
51422003-03-29 Kazu Hirata <kazu@cs.umass.edu>
5143
5144 * config/h8300/h8300.md (*insv_si_8_8): New.
5145 (*insv_si_8_8_lshiftrt_8): Likewise.
5146 (a peephole2): Likewise.
5147
62d08205
GP
51482003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5149
60ef8bdd 5150 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
73a39fc4 5151 Uniformly use bugfix instead of bug fix.
60ef8bdd
GP
5152
51532003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
73a39fc4 5154
62d08205
GP
5155 PR doc/895
5156 * ONEWS: Remove those items that already appear in the EGCS
5157 release notes on our web pages.
5158
e87a88d3
AM
51592003-03-29 Alan Modra <amodra@bigpond.net.au>
5160
5161 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
5162 TARGET_HARD_FLOAT. Reformat.
5163 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
5164
ce4a8f7d
ACY
51652003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
5166
5167 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
5168 work on Solaris 2.5.1.
5169
12f76820
KH
51702003-03-28 Kazu Hirata <kazu@cs.umass.edu>
5171
5172 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
5173 section of h8300.md
5174 (*addsi3_and_nor_r_1): Likewise.
5175
7d798969
UW
51762003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
5177
5178 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
5179 set up before any trapping memory access if flag_non_call_exceptions.
5180
00dcfe80
AM
51812003-03-29 Alan Modra <amodra@bigpond.net.au>
5182
5183 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
5184
5185 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
5186
d869a8c4
NN
51872003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
5188
5189 * configure.in: Clarify comments.
5190 * configure: Regenerate.
5191
5c033b9f
UW
51922003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
5193
73a39fc4 5194 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
5c033b9f
UW
5195 label even if pool empty when generating PIC.
5196 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
5197
d18ad191
KH
51982003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
5199 Dhananjay Deshpande <dhananjayd@kpit.com>
5200
5201 PR target/10205
5202 * config/h8300/h8300.c (h8300_initial_elimination_offset):
5203 Correct the offset computation when TARGET_NORMAL.
5204
0c85dbfd
EB
52052003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
5206
5207 PR target/10067
5208 * config/sparc/sparc.md (jump pattern): Correct order
5209 when issuing the annuling marker.
5210
f7670e7b
EB
52112003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
5212
5213 PR c/8281
5214 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
5215 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5216
c9280dfe
AM
52172003-03-28 Alan Modra <amodra@bigpond.net.au>
5218
5219 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
5220 globalize_label.
5221 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
73a39fc4 5222 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
c9280dfe
AM
5223 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
5224 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
5225 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
5226 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
5227 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
5228
e81eb37f
AM
52292003-03-28 Alan Modra <amodra@bigpond.net.au>
5230
5231 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
5232 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
5233 notes after hoisting.
5234 (load_mems): Adjust replace_loop_mems call.
5235
1ce324c3 52362003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
d78e771d 5237 Richard Henderson <rth@redhat.com>
1ce324c3
EB
5238
5239 PR target/10114 and PR target/10084
5240 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
5241
c6cf19a8
RH
52422003-03-27 Richard Henderson <rth@redhat.com>
5243
5244 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
5245
9ddae796
RS
52462003-03-27 Roger Sayle <roger@eyesopen.com>
5247
5248 * fold-const.c (fold_inf_compare): New function to simplify FP
5249 comparisons against +Infinity or -Infinity.
5250 (fold): Optimize floating point comparisons against Infs and NaNs.
5251
01e60c33
JJ
52522003-03-27 Janis Johnson <janis187@us.ibm.com>
5253
5254 * libgcov.c: Provide only dummy functions if libc is not available.
5255
ad59ba20
RH
52562003-03-27 Richard Henderson <rth@redhat.com>
5257
5258 * real.h (struct real_value): Add signalling.
5259 (EXP_BITS): Decrement.
5260 * real.c (get_canonical_qnan): Don't set MSB-1.
5261 (get_canonical_snan): Likewise. Set signalling.
5262 (real_identical): Compare signalling.
5263 (round_for_format): Remove force-one-bit on code.
5264 (real_nan): Likewise. Set signalling.
5265 (encode_ieee_single): Add force-one-bit code; honor signalling.
5266 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
5267 (decode_ieee_single): Set signalling.
5268 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
5269
940bbb74
OH
52702003-03-27 Olivier Hainque <hainque@act-europe.fr>
5271
5272 PR ada/9953
5273 * ada/Makefile.in (gnatlib configuration for HPUX): Split
5274 the general section for HPUX into specific sections for
5275 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
5276 11 case.
5277
c7d325c8
GN
52782003-03-27 Glen Nakamura <glen@imodulo.com>
5279
5280 PR opt/10087
5281 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
5282 while incrementing giv.
5283 (record_biv): Check for duplicate biv locations and
5284 set (struct induction *) v->same if found.
5285
f18ab437
DM
52862003-03-27 David Mosberger <davidm@hpl.hp.com>
5287
d78e771d
ZW
5288 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
5289 v0.9 API change: replace read of UNW_REG_HANDLER with
5290 unw_get_proc_info().
5291 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
5292 with unw_get_proc_info().
5293 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
5294 unw_get_proc_info().
f18ab437 5295
eaff4b90
VM
52962003-03-27 Vladimir Makarov <vmakarov@redhat.com>
5297
5298 * config/rs6000/8540.md: Use presence_set instead of absence_set.
5299
3684a055
RH
53002003-03-26 Richard Henderson <rth@redhat.com>
5301
5302 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
5303
de132314
RS
53042003-03-26 Roger Sayle <roger@eyesopen.com>
5305
5306 PR bootstrap/10051, PR bootstrap/10169.
5307 * mips-tfile.c (init_file): Don't provide a static initializer.
5308 (initialize_init_file): Initialize the contents of init_file.
5309 (add_file): Call initialize_init_file if not already initialized.
5310
6f84708a
UW
53112003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
5312
5313 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
5314 registers used for global asm variables.
5315 (s390_frame_info, s390_arg_frame_offset): Likewise.
5316 (s390_emit_prologue, s390_emit_epilogue): Likewise.
5317
5e8006fa
VM
53182003-03-26 Vladimir Makarov <vmakarov@redhat.com>
5319
d78e771d 5320 * config/rs6000/8540.md: New file.
73a39fc4 5321
5e8006fa
VM
5322 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
5323 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
5324 reservations for imul.
5325
5326 * config/rs6000/rs6000.md: Include 8540.md. Change
5327 delayed_compare onto mult_compare for insns generating
5328 multiplication.
5329 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
5330 New type attribute values.
5331
5332 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
5333 fpsimple instead of fp.
5334 (*divsf3_gpr): Use type vecfdiv instead of fp.
5335 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
5336 instead of vecfloat.
5337 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
5338 (spe_brinc): Use type brinc instead of veccomplex.
5339 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
5340 veccomplex.
5341 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
5342 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
5343 *movv2sf_internal): Define type attribute values for all
5344 alternatives.
5345 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
5346 of fpcompare.
5347 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
5348 instead of fpcompare.
73a39fc4 5349
29ae9364
DE
53502003-03-26 David Edelsohn <edelsohn@gnu.org>
5351
5352 * config/rs6000/power4.md: Allow delay between dispatch and
5353 function units for simple instructions. Correct store units.
5354 Allow branch to occupy as many dispatch slots as necessary.
5355
be565ad7
JJ
53562003-03-26 Jakub Jelinek <jakub@redhat.com>
5357
5358 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
5359 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
5360 zero extend old to it.
5361 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
5362 operand.
5363
27e484bc
EB
53642003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
5365
5366 PR target/7784
5367 * reload.c (find_reloads_address): Handle
5368 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
5369 all base registers.
5370
b47161ec
MA
53712003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
5372
5373 PR other/10203
5374 * version.c: Reference the GCC web site in the URL.
5375
611f0729
AM
53762003-03-26 Alan Modra <amodra@bigpond.net.au>
5377
5378 * c-incpath.c (add_standard_paths): Add both "translated" and
5379 non-translated header paths.
5380
e4e7d312
LR
53812003-03-25 Loren James Rittle <ljrittle@acm.org>
5382
5383 * doc/install.texi (*-*-freebsd*): Update with known status.
5384
2e2255ff
JM
53852003-03-21 Jason Merrill <jason@redhat.com>
5386
5387 PR optimization/10171
5388 * unroll.c (unroll_loop): Don't delete the jump at the end unless
5389 we also delete a jump at the beginning.
5390
8725a499
SC
53912003-03-25 Stephane Carrez <stcarrez@nerim.fr>
5392
5393 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
5394 contributor.
5395
3504dad3
JH
5396Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
5397
5398 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
5399 constants are not expensive.
5400
cb9a1d9b
JH
5401Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
5402
5403 PR opt/10056
5404 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
5405 jump jumping to the next instruction.
5406 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
5407
d6d05f8d
GP
54082003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5409
5410 * doc/passes.texi (Passes): Properly document that we do not
5411 perform jump2 any longer; remove command-line option -dJ.
5412
d2fc7725
EB
54132003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
5414
5415 PR optimization/8746
5416 * config/i386/i386.md (and promoting splitters): Disable HImode to
5417 SImode promoting when the sign bit matters and is not preserved, or
5418 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
5419 for size.
5420
beb14cfe
KH
54212003-03-24 Kazu Hirata <kazu@cs.umass.edu>
5422
5423 * config/h8300/h8300.md (a peephole2): Extend to support loads
5424 in QImode and HImode.
5425
dbcedbc4
SC
54262003-03-24 Stephane Carrez <stcarrez@nerim.fr>
5427
5428 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
5429 _return_far
5430 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
5431 (MULTILIB_EXCEPTIONS): Likewise.
5432 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
5433 by calling some board support routine.
5434 ("call_value"): Likewise.
5435 ("*return_void"): Likewise for return.
5436 ("*return_16bit"): Likewise.
5437 ("*return_32bit"): Likewise.
5438 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
5439 for 68HC11 too.
73a39fc4 5440 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
dbcedbc4
SC
5441 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
5442 -mlong-calls for 68HC11.
5443 * config/m68hc11/larith.asm (declare_near): New macro.
5444 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
5445 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
5446 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
5447 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
5448 (__mulhi32): Likewise.
5449 (ret): Update macro for 68HC11.
5450 (__far_trampoline): Implement for 68HC11.
5451 (__call_a16, __call_a32, __return_void, __return_16): New support
5452 routines for 68HC11 memory bank switching calling support.
5453 (__return_32): Likewise.
5454
696fe23c
NB
54552003-03-24 Neil Booth <neil@daikokuya.co.uk>
5456
5457 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
5458
05253aed
JJ
54592003-03-24 Janis Johnson <janis187@us.ibm.com>
5460
5461 * doc/install.texi (Testing): Mention test result links from build
5462 status pages.
5463
f8928391
MM
54642003-03-24 Mark Mitchell <mark@codesourcery.com>
5465
5466 * function.c (put_var_into_stack): Change bool parameter to int.
5467 (gen_mem_addressof): Likewise.
5468 * rtl.h (gen_mem_addressof): Likewise.
5469 * tree.h (put_var_into_stack): Likewise.
5470 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
5471 gen_mem_addressof or put_var_into_stack.
5472 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
5473 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
5474
b980d725
KH
54752003-03-24 Kazu Hirata <kazu@cs.umass.edu>
5476
5477 * config/h8300/h8300.md (a peephole2): New.
5478
2ff1fb45
JJ
54792003-03-24 Jakub Jelinek <jakub@redhat.com>
5480
5481 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
5482
8b5777db
GP
54832003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5484
5485 * doc/contrib.texi (Contributors): Update Janis Johnson.
5486
02484af9
EB
54872003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
5488
5489 PR target/10072
5490 * combine.c (simplify_if_then_else): Check that the mode
5491 has MODE_INT class before applying the (OP Z (mult COND C2))
5492 transformation.
5493
941bc659
EB
54942003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
5495
5496 PR optimization/9414
5497 * config/sparc/sparc.md (widening peepholes): Use
5498 widen_memory_access instead of change_address.
5499
f29a2bd1
MM
55002003-03-23 Mark Mitchell <mark@codesourcery.com>
5501
5502 PR c++/7086
5503 * c-typeck.c (c_mark_addressable): Adjust calls to
5504 put_var_into_stack.
5505 * expr.c (expand_expr): Likewise.
5506 * function.c (put_var_into_stack): Add rescan parameter. Do not
5507 call fixup_var_refs when rescan is false.
5508 (gen_mem_addressof): Likewise.
5509 (assign_parms): Adjust calls to put_var_into_stack.
5510 (setjmp_protect): Likewise.
5511 (setjmp_protect_args): Likewise.
5512 * rtl.h (gen_mem_addressof): Change prototype.
5513 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
5514 * tree.h (put_var_into_stack): Change prototype.
5515
fa9b4904
AB
55162003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
5517
b099daeb 5518 PR middle-end/9967
fa9b4904
AB
5519 * builtins.c (expand_builtin_fputs): When optimizing for size,
5520 don't transform fputs into fwrite.
5521
068d2c9d
MM
55222003-03-23 Glen Nakamura <glen@imodulo.com>
5523
5524 PR c/8224
5525 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
5526 when signedness changes for division or modulus.
5527
c967e28c
AM
55282003-03-24 Alan Modra <amodra@bigpond.net.au>
5529
5530 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
5531 globalize_label.
5532
766dec0e
RS
55332003-03-23 Roger Sayle <roger@eyesopen.com>
5534
5535 PR c/10178
5536 * stmt.c (expand_end_case_type): Check for overflow in range when
5537 determining whether to use a bit-test implementation.
5538
ef3e9886
RH
55392003-03-23 Richard Henderson <rth@redhat.com>
5540
5541 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
5542 before flow2.
5543 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
5544
bd2eae18
RH
55452003-03-23 Richard Henderson <rth@redhat.com>
5546
5547 PR opt/10116
5548 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
5549 from then_bb or else_bb after flow2.
5550
62c9aa5f
ZW
55512003-03-23 Zack Weinberg <zack@codesourcery.com>
5552
5553 * configure.in: Check whether it is necessary to link against
5554 libm to use ldexp.
5555 * configure: Regenerate.
5556 * Makefile.in: Add LDEXP_LIB substitution variable.
5557
4d1da12a
KH
55582003-03-23 Kazu Hirata <kazu@cs.umass.edu>
5559
5560 * config/h8300/h8300.md: Fix comment typos.
5561
7772f0a9
JDA
55622003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5563
5564 * pa.c (output_cbranch): Fix typo in comment.
5565
3ce6bef0
RH
55662003-03-22 Richard Henderson <rth@redhat.com>
5567
5568 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
5569 after reload.
5570
7a9cdb10
DD
55712003-03-22 DJ Delorie <dj at redhat dot com>,
5572 Bruce Korb <bkorb at gnu dot org>
5573
5574 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
5575 buggy Solaris 2.6 mutex/cond initializers.
5576 (solaris_mutex_init): Rename to solaris_mutex_init_2.
5577 * fixinc/fixincl.x: Regenerate.
5578 * fixinc/tests/base/pthread.h: Update.
00af168c
BK
5579 * fixinc/fixincl.c(initialize): be explicit about the default case
5580 and indicate verbose level when being very, very verbose.
5581 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
7a9cdb10 5582
8330e2c6
AJ
55832003-03-22 Andreas Jaeger <aj@suse.de>
5584
5585 * config/i386/i386.c (ix86_init_machine_status): Return value.
5586
02a57c73
JDA
55872003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5588
5589 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
5590 conditional branch to the following instruction. Use next_real_insn
5591 instead of next_active_insn.
5592 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
5593 instead of next_active_insn.
5594
97c6f7ad
UW
55952003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
5596
c967e28c
AM
5597 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
5598 instead of 'm' constraint in forced-split alternatives.
97c6f7ad
UW
5599 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
5600 VALIDATE_ADDRESS parameter to operand_subword.
5601
c8fcf20c
KH
56022003-03-22 Kazu Hirata <kazu@cs.umass.edu>
5603
5604 * config/h8300/h8300.c (notice_update_cc): Correctly handle
5605 the case where the set destination is STRICT_LOW_PART.
5606
21c0e624
SS
56072003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
5608
5609 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
5610 c30 instead of a c40 processor.
5611
70e1b8fc
AM
56122003-03-22 Alan Modra <amodra@bigpond.net.au>
5613
5614 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
5615
d9b2742a
ZW
56162003-03-21 Zack Weinberg <zack@codesourcery.com>
5617
5618 * c-common.c: Include intl.h.
5619 (shadow_warning): Rewrite to allow better diagnostic translations.
5620 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
5621 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
5622 use it throughout.
5623 * Makefile.in (c-common.o): Add intl.h.
5624
cbbf876b
NN
56252003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
5626
bea41393
NN
5627 * config.gcc: Remove 'float_format'.
5628
cbbf876b
NN
5629 * fixproto: Define NULL and size_t in generated stdlib.h and
5630 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
5631 Rearrange file generation loop for readability. Generate time.h,
5632 string.h if missing.
5633 * tsystem.h: Include <string.h>, <time.h> unconditionally.
5634 * config.gcc: Blow away POSIX defines.
5635
84fcbe0a
SC
56362003-03-22 Stephane Carrez <stcarrez@nerim.fr>
5637
5638 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
5639
639a8102
SC
56402003-03-22 Stephane Carrez <stcarrez@nerim.fr>
5641
5642 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
5643 writing .interrupt command.
5644 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
5645 if it's a far or near function.
5646 ("call_value"): Likewise.
5647 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
5648 near attributes.
5649 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
5650 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
5651 (m68hc11_initial_elimination_offset): Set current_function_far
5652 according to attributes.
5653 (expand_prologue): Likewise.
5654 (trap_handler_symbol): New global to keep track of trap handlers.
5655 (m68hc11_encode_section_info): Mark symbol as far if needed; set
5656 trap symbol.
5657 (m68hc11_is_far_symbol): New function.
5658 (m68hc11_is_trap_symbol): New function.
5659 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
5660 (m68hc11_is_trap_symbol): Declare.
5661
62c9aa5f 56622003-03-21 Jan Hubicka <jh@suse.cz>
d7394366
JH
5663
5664 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
5665 only when amount of saved regs changed.
5666 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
5667 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
5668
62c9aa5f 56692003-03-21 Jan Hubicka <jh@suse.cz>
5dc96d60
JH
5670
5671 PR inline-asm/7916
5672 * function.c (instantiate_virtual_regs_lossage): New function.
5673 (instantiate_virtual_regs_1): Use it.
5674 (instantiate_virtual_regs): Do not continue in substition when insn has
5675 been deleted.
5676
c5c15353
KH
56772003-03-21 Kazu Hirata <kazu@cs.umass.edu>
5678
5679 * combine.c (make_field_assignment): Fix a warning.
5680
5c1c25f0
KH
56812003-03-21 Kazu Hirata <kazu@cs.umass.edu>
5682
5683 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
5684
6b13641d
DJ
56852003-03-21 Dale Johannesen <dalej@apple.com>
5686
5687 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
5688 priority for R2 on Darwin.
5689 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
5690
6e814b8d
KH
56912003-03-21 Kazu Hirata <kazu@cs.umass.edu>
5692
5693 * combine.c (make_field_assignment): Remove unnecessary AND
5694 when storing into zero_extract.
5695
2d295af5
ZW
56962003-03-21 Zack Weinberg <zack@codesourcery.com>
5697
5698 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
5699 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
5700 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
5701 in comment.
5702
c0510d84
DD
57032003-03-21 DJ Delorie <dj@redhat.com>
5704
5705 * optabs.c (init_integral_libfuncs): Make sure we init at least up
5706 to "long long" size words.
5707
fe86047c
UW
57082003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
5709
5710 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
5711 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
5712 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
5713
526278c9
VR
57142003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5715
5716 PR doc-bug/9813
5717 * doc/extend.texi: Move misplaced paragraph about underscores in
5718 variables in macros.
5719
731458a4 57202003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2d295af5 5721 Richard Henderson <rth@redhat.com>
731458a4
EB
5722
5723 PR optimization/8366
5724 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
5725 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
5726 PIC+SYMBOLIC_CONST in other modes than Pmode.
5727 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
5728 the form PIC+SYMBOLIC_CONST as mode dependent.
5729
f3cd0185
DD
57302003-03-21 DJ Delorie <dj@redhat.com>
5731
5732 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
5733 sure we always emit at least one insn.
5734
70e5e841
CF
57352003-03-21 Christopher Faylor <cgf@redhat.com>
5736
5737 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
5738 stub t-cygming. Use common target header cygming.h. Add extra
5739 c_target_obj and cxx_target_obj file. Default cygwin to posix
5740 threading. Enforce i386 as float format.
5741 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
5742 Remove cygwin.h as target header. Use common target header
5743 cygming.h Enforce i386 as float format. Correct typo.
5744 * config/i386/cygming.h: New file, containing definitions
5745 common to mingw32 and cygwin.
5746 * config/i386/cygwin.h: Remove definitions common to cygwin and
5747 mingw. Simplify special spec logic. Define "wrappers" around
5748 certain include path defines to accommodate -mno-cygwin.
5749 Remove some #if 0'ed code.
2d295af5 5750 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
70e5e841
CF
5751 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
5752 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
5753 * config/i386/mingw32.h: Remove definitions common to cygwin and
5754 mingw.
5755 (EXTRA_OS_CPP_BUILTINS): Adjust.
5756 (TARGET_VERSION): Define.
5757 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
5758 mingw32.h definitions.
5759 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
5760 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
5761 Add compilation rules for cygwin1.o cygwin2.o.
5762 * config/i386/cygwin1.c: New file.
5763 * config/i386/cygwin2.c: New file.
5764 * config/i386/t-cygming: New makefile stub.
5765
4bddea4c
RH
57662003-03-20 Richard Henderson <rth@redhat.com>
5767
5768 * fold-const.c (extract_muldiv_1): Revert changing order of
5769 operands in case MULT_EXPR of 2003-02-16 patch.
5770
b3411d7e 57712003-03-20 Daniel Berlin <dberlin@dberlin.org>
06790e5f 5772 Merge changes from new-regalloc-branch
b3411d7e
DB
5773
5774 From Michael Matz <matz@suse.de>
5775 * df.c (df_ref_record_1): Move init of loc to safe point.
5776 Only recurse on interesting things in parallels.
5777 Handle CLASS_CANNOT_CHANGE_MODE smarter.
5778 (df_uses_record): Ditto.
2d295af5 5779
b3411d7e
DB
5780 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
5781 it's already okay to use memory operands in (IE doesn't require
5782 adding another insn or anything).
5783
05d482b9
RH
57842003-03-20 Richard Henderson <rth@redhat.com>
5785
5786 PR middle-end/6348
5787 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
5788 different from word_mode.
5789
86a36a0e
KH
57902003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5791
5792 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
5793 source operand to those that can be extracted with bld.
5794
228692e2
RE
57952003-03-20 Richard Earnshaw <rearnsha@arm.com>
5796
5797 PR 10066
5798 * arm.md (UNSPEC_PIC_BASE): New constant.
5799 (pic_add_dot_plus_four): Wrap with unspec.
5800 (pic_add_dot_plus_eight): Likewise.
5801
d0940a55
KH
58022003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5803
5804 * config/h8300/h8300.md (*insv_si_1_n): New.
5805 (*insv_si_1_n_lshiftrt): Likewise.
5806
c876997f
RS
58072003-03-20 Roger Sayle <roger@eyesopen.com>
5808
5809 * fold-const.c (fold_mathfn_compare): New function to simplify
5810 comparisons against built-in math functions. Fold comparisons
5811 of sqrt against constants.
5812 (fold): Call fold_mathfn_compare when appropriate.
5813
952a6df7
RE
58142003-03-20 Richard Earnshaw <rearnsha@arm.com>
5815
5816 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
5817 information.
5818
8826ff0f
PB
58192003-03-20 Per Bothner <pbothner@apple.com>
5820
5821 Various cleanups to help compile server.
5822
b4e46cea
PB
5823 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
5824 and pass that to _cpp_init_hashtable.
5825 (cpp_read_main_file): Drop hash_table* argument; don't call
5826 _cpp_init_hashtable.
5827 * cpplib.h: Update declarations to match.
5828 * c-opts.c (c_common_init_options): Pass ident_hash to
5829 cpp_create_reader.
5830 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
5831 * fix-header.c (read_scan_file): Likewise pass NULL table to
5832 cpp_create_reader rather than cpp_read_main_file.
5833
5834 * cppfiles.c (cpp_rename_file): Generalized and renamed
5835 to cpp_change_file.
5836 * cpplib.h: Update declaration to match.
5837 * c-opts.c (push_command_line_line, finish_options): Change
5838 cpp_rename_file calls to cpp_change_file.
2d295af5 5839
8826ff0f 5840 * line-map.c (add_line_map): Allow leaving the outermost file.
2d295af5 5841 Allowing entering an outermost-file after the initial time.
8826ff0f
PB
5842
5843 * toplev.c (pop_srcloc): Allow popping from initial file.
5844
015c3186
KH
58452003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
5846
5847 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
5848
101cb92a
KH
58492003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5850
5851 * config/h8300/h8300.md (a peephole2): New.
5852
f4613a2e
KH
58532003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5854
5855 * config/h8300/h8300.md (*addsi3_and_r_1): New.
5856 (*addsi3_and_not_r_1): Likewise.
5857
31260fb8
LR
58582003-03-19 Loren James Rittle <ljrittle@acm.org>
5859
5860 * Makefile.in (STRICT2_WARN): Add @WERROR@.
5861 (GCC_WARN_CFLAGS): Remove $(WERROR).
5862 (fixinc.sh-warn): New.
5863 * ada/Make-lang.in (ada-warn): Add $(WERROR).
5864 * cp/Make-lang.in (cp-warn): Add $(WERROR).
5865 * f/Make-lang.in (f-warn): Add $(WERROR).
5866 * java/Make-lang.in (java-warn): Add $(WERROR).
5867 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
5868
2bd3ecad
NN
58692003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
5870
5871 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
5872 langhooks-def.h (lhd_tree_dump_dump_tree),
5873 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
5874 Change return type from 'int' to 'bool'. Replace 0 and 1 with
5875 true and false in return statements.
5876
9eb0ef7a
KB
58772003-03-19 Kevin Buettner <kevinb@redhat.com>
5878
5879 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
5880 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
5881 DWARF_INITIAL_LENGTH_SIZE.
5882 (output_compilation_unit_header, output_pubnames, output_aranges)
5883 (output_line_info): Output 0xffffffff escape value for 64-bit
5884 DWARF extension.
5885 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
5886
8b5642e0 58872003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
0796c16a
UW
5888
5889 * config/s390/s390.c (s390_preferred_reload_class): Do not
5890 force constants to the pool unless necessary.
5891 (s390_decompose_address): Prefer to use pointer as base,
5892 not index register.
5893 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
5894 Q alternative.
2d295af5 5895 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
0796c16a
UW
5896 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
5897 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
5898 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
5899 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
5900
62c9aa5f 59012003-03-19 Jan Hubicka <jh@suse.cz>
d9b40e8d
JH
5902
5903 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
5904 * i386.c (use_fast_prologue_epilogue): Remove.
5905 (ix86_frame): New field save_regs-using_mov;
5906 (ix86_compute_frame_layout): Decide on fast prologues;
5907 allocate saved registers in red zone.
5908 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
5909
31488c64
NC
59102003-03-19 Nick Clifton <nickc@redhat.com>
5911
5912 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
5913
685d0e07
JDA
59142003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5915
5916 PR 10062
5917 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
5918 * pa-protos.h (output_lbranch): New prototype.
5919 * pa.c (compute_frame_size): Change size of the frame marker on the
5920 64-bit ports to 48 bytes.
5921 (pa_output_function_prologue): Document why SAVE_SP is set.
5922 (hppa_expand_prologue): Save previous stack pointer into frame marker
5923 on targets which use the hpux unwind library.
5924 (output_cbranch): Use output_lbranch.
5925 (output_lbranch): New function to output long unconditional branches.
5926 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
5927 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
5928 64-bit ports.
5929 * pa.md (jump): Use output_lbranch.
5930 (allocate_stack): New expander for dynamic stack allocation.
5931
6a04f4e0
AM
59322003-03-19 Alan Modra <amodra@bigpond.net.au>
5933
178274da
AM
5934 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
5935 when debugging on XCOFF targets. Delete "abi" temp.
5936
6a04f4e0
AM
5937 PR target/10073
5938 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
5939
6b2300b3
JJ
59402003-03-18 Jakub Jelinek <jakub@redhat.com>
5941
5942 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
5943 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
5944 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
5945
5946 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
5947 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
5948 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
5949
5ba6918e
GK
59502003-03-18 Geoffrey Keating <geoffk@apple.com>
5951
6788f5ca
GK
5952 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
5953 the result of machopic_function_base_name.
5954 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
5955 string rather than a static array.
5956
5ba6918e
GK
5957 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
5958
5959 * gengtype.c: Include rtl.h.
5960 (enum rtx_code): Don't define.
5961 (rtx_format): Make declaration match rtl.h.
5962 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
5963 users.
5964 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
5965 * Makefile.in (gengtype.o): Update dependencies.
5966
e0ec941e
AS
59672003-03-18 Andreas Schwab <schwab@suse.de>
5968
5969 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
5970 martin@blom.org.
5971
8291cc0e
GK
59722003-03-18 Geoffrey Keating <geoffk@apple.com>
5973
f83b236e
GK
5974 * function.c (next_block_index): Mark with GTY.
5975
8291cc0e
GK
5976 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
5977
b39eb2f9
RH
59782003-03-18 Richard Henderson <rth@redhat.com>
5979
5980 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
5981 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
5982 until after reload.
5983
6c537d03
RH
59842003-03-18 Richard Henderson <rth@redhat.com>
5985
5986 * builtins.c (expand_builtin_unop): New target_mode operand;
5987 use it to convert the result to the correct mode.
5988 (expand_builtin): Update all callers.
5989
fe03d631
UW
59902003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
5991
5992 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
5993
62c9aa5f 59942003-03-18 Jan Hubicka <jh@suse.cz>
45183e03 5995
75fbf7d9
JH
5996 * i386.md: Fix previous commit that mistakely applied the patch
5997 twice.
5998
45183e03
JH
5999 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
6000 canonicalized.
6001 (memrefs_conflict_p): Likewise.
6002 (addr_side_effect_eval): Canonicalize the constructed address.
6003
62c9aa5f 60042003-03-18 Jan Hubicka <jh@suse.cz>
8dfa3bb0
JH
6005
6006 * i386.md (cvtts?2si peep2): New.
6007
1e788887
KH
60082003-03-18 Kazu Hirata <kazu@cs.umass.edu>
6009
6010 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
6011
94e001a9
AS
60122003-03-18 Andreas Schwab <schwab@suse.de>
6013
6014 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
6015 for format.
6016
bdaa131b
JM
60172003-03-17 Jason Merrill <jason@redhat.com>
6018
6019 PR c++/10091
6020 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
6021 an unaligned member of TREE_ADDRESSABLE type.
6022
ffcfcb5f
AM
60232003-03-18 Alan Modra <amodra@bigpond.net.au>
6024
6025 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
6026 (TARGET_PROFILE_KERNEL): Define.
6027 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
6028 (PROFILE_BEFORE_PROLOGUE): Don't define.
6029 (PROFILE_KERNEL): Remove hacks.
6030 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
6031 (rs6000_stack_info): No need to save lr if just for profiling when
70e1b8fc
AM
6032 TARGET_PROFILE_KERNEL.
6033 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
ffcfcb5f
AM
6034 (output_function_profiler): Localize label generation. Emit code
6035 for kernel profiling.
6036
9b98dc74
KH
60372003-03-17 Kazu Hirata <kazu@cs.umass.edu>
6038
6039 * config/h8300/h8300-protos.h: Add a prototype for
6040 byte_accesses_mergeable_p.
6041 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
6042 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
6043 (a splitter): Likewise.
6044 (*iorsi3_ashift_16_ashift_24): Likewise.
6045 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
6046
d41c4351
KG
60472003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6048
6049 * dwarf2asm.h: Delete obsolete comment.
6050 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
6051 dw2_asm_output_pcrel, dw2_asm_output_addr,
6052 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
6053 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
6054 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
6055 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
6056
6970c06a
ZW
60572003-03-17 Zack Weinberg <zack@codesourcery.com>
6058
6059 * c-tree.h (struct lang_identifier): Remove error_locus field.
6060 (IDENTIFIER_ERROR_LOCUS): Kill.
6061 (record_function_scope_shadow): New prototype.
6062 * c-typeck.c (build_external_ref): Don't complain if
6063 decl is error_mark_node. When not at file scope, bind the
6064 decl's local value to error_mark_node to suppress further
6065 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
6066
6067 * c-decl.c (get_function_binding_level): New static function.
6068 (record_function_scope_shadow): New exported function.
6069 (c_make_fname_decl): Use get_function_binding_level.
6070
405a98aa
SE
60712003-03-17 Steve Ellcey <sje@cup.hp.com>
6072
6073 * stmt.c (tail_recursion_args): Call promote_mode to set
6074 unsignedp flag correctly before calling convert_move.
6075
df86c7e2
ZD
60762003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6077
6078 * loop-unroll.c (decide_peel_completely,
6079 decide_unroll_constant_iterations, decide_unroll_stupid,
6080 decide_unroll_runtime_iterations, decide_peel_simple): Set
6081 loop->has_desc.
6082
62c9aa5f 60832003-03-17 Jan Hubicka <jh@suse.cz>
dbccdc42
JH
6084
6085 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
6086
b36a8cc2
OH
60872003-03-17 Olivier Hainque <hainque@act-europe.fr>
6088
6089 * function.c (assign_parms): For a struct value address passed as
6090 first argument, delay the function's result RTL setup code until
6091 after the emission of parameter conversions.
6970c06a 6092
94833648
DL
60932003-03-17 Dave Love <fx@gnu.org>
6094 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
aeefc21d
DL
6095
6096 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
6097 __arch64__ to match Compaq cc.
6098
783e2989
NB
60992003-03-17 Neil Booth <neil@daikokuya.co.uk>
6100
6101 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
6102 (c_common_init): Set EBCDIC in cpp options.
6103 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
6104 not conditional compilation.
6105 * cpplib.h (struct cpp_options): New entry EBCDIC.
6106
72ecfc60
NB
61072003-03-17 Neil Booth <neil@daikokuya.co.uk>
6108
6109 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
6110
47009d11
MH
61112003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6112
6113 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
6114 argument to 0 for redirect_jump.
47009d11 6115
bafb714b
MM
61162003-03-16 Mark Mitchell <mark@codesourcery.com>
6117
6118 PR c++/8805
6119 * except.c (eh_region_u_cleanup): Add prev_try.
6120 (expand_eh_region_end_cleanup): Set it.
6121 (reachable_handlers): Use it to skip over cleanup blocks.
6122
30492adf
AJ
61232003-03-17 Andreas Jaeger <aj@suse.de>
6124
6125 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
6126
7b3464ee
AM
61272003-03-17 Alan Modra <amodra@bigpond.net.au>
6128
6129 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
6130 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
6131 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
6132 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
6133
4f5c0f7e
RH
61342003-03-16 Richard Henderson <rth@redhat.com>
6135
6970c06a
ZW
6136 * simplify-rtx (simplify_binary_operation): Don't abort for
6137 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
4f5c0f7e 6138
3c298c88
RH
61392003-03-16 Richard Henderson <rth@redhat.com>
6140
6970c06a
ZW
6141 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
6142 optimize_size as well.
3c298c88 6143
fe91bac5
SC
61442003-03-16 Stephane Carrez <stcarrez@nerim.fr>
6145
6146 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
6147 for D register to specify the low part of it, aka B.
6148 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
6149 the register if we are loading 1 or -1 to it; avoid using temp
6150 register when moving X/Y to Y/X.
6151 (m68hc11_gen_movqi): Likewise.
6152 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
6153
ddc67067
MM
61542003-03-14 Mark Mitchell <mark@codesourcery.com>
6155
6156 PR optimization/9016
6157 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
6158 into the constant pool.
6159
0a71919d
FH
61602003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
6161
6162 PR target/9164
6163 * tree.c (get_narrower): For extensions with unchanged bit number,
6164 return the unsignedness of the outer mode.
6165
46ea50cb
RS
61662003-03-16 Roger Sayle <roger@eyesopen.com>
6167
6168 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
6169 to avoid "may be used uninitialized" warning on ia64-hpux.
6170 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
6171
012c387f
AJ
61722003-03-16 Andreas Jaeger <aj@suse.de>
6173
6174 * configure.in: Improve check for memcheck.h.
6175 * configure: Regenerated.
6176
7d1c4aae
NB
61772003-03-16 Neil Booth <neil@daikokuya.co.uk>
6178
6179 * doc/cppopts.texi: Remove documentation of -A-.
6180
e20798d1
ZW
61812003-03-15 Zack Weinberg <zack@codesourcery.com>
6182
6183 * doc/libgcc.texi: Remove @tie.
6184
4af16369
JZ
61852003-03-15 Josef Zlomek <zlomekj@suse.cz>
6186
6187 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
6188 (rtx_pair): Added new element update_label_nuses, renamed to
6189 replace_label_data.
6190 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
6191 replace_label_data instead of rtx_pair.
6192 * loop.c (load_mems): Likewise.
6193 * rtlanal.c (replace_label): Replace label in pool constants and in
6194 INSN_LIST (in REG_LABEL note).
6195 (subrtx_p): Renamed to rtx_referenced_p.
6196 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
6197 LABEL_REF with CODE_LABEL, traverse constants from pool.
6198
d2184e79
AH
61992003-03-15 Aldy Hernandez <aldyh@redhat.com>
6200 Zack Weinberg <zack@codesourcery.com>
6201
6202 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
6203 * doc/libgcc.texi: New file.
6204 * doc/interface.texi: Delete paragraph about libgcc interface.
6205 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
6206
8cadae7e
JM
62072003-03-15 Jason Merrill <jason@redhat.com>
6208
ae0e5982
JM
6209 PR debug/9039
6210 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
6211
8cadae7e
JM
6212 PR debug/6387
6213 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
6214 function DIEs at toplevel.
6215 (decls_for_scope): At -g1, don't descend into subblocks.
6216
2436a91b
UW
62172003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
6218
6219 * varasm.c (struct rtx_const): Change type of un.addr member
6220 to struct holding an additional 'symbol' member.
6221 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
6222 with equal string addresses as equal.
6223 (simplify_subtraction): Adapt to struct rtx_const change.
6224
151c68c3
NB
62252003-03-15 Neil Booth <neil@daikokuya.co.uk>
6226
6227 * fix-header.c (read_scan_file): Read main file before handling -D.
6228
6a87d634
RS
62292003-03-15 Roger Sayle <roger@eyesopen.com>
6230
6231 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
6232 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
6233 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
6234 (find_sub_basic_blocks): Likewise.
6235 * cgraphunit.c (cgraph_expand_functions): Likewise.
6236 * dwarf2out.c (prune_unused_types): Likewise.
6237 * expr.c (store_field): Likewise.
6238 * genextract.c (print_path): Likewise.
6239 * haifa-sched.c (schedule_insn): Likewise.
6240 * lcm.c (compute_antinout_edge): Likewise.
6241 * loop-unroll.c (decide_peel_once_rolling): Likewise.
6242 * ra-colorize.c (ra_colorize_free_all): Likewise.
6243 * ra-debug.c (dump_igraph): Likewise.
6244 (debug_hard_reg_set): Likewise.
6245 * reg-stack.c (reg_to_stack): Likewise.
6246 * rtlanal.c (refers_to_regno_p): Likewise.
6247 * tracer.c (layout_superblocks): Likewise.
6248
49c46444
NB
62492003-03-15 Neil Booth <neil@daikokuya.co.uk>
6250
6251 * fix-header.c (read_scan_file): Fix thinko.
6252
1fe668e5
GN
62532003-03-15 Glen Nakamura <glen@imodulo.com>
6254
6255 * reload1.c (choose_reload_regs): Use && instead of ||
6256 with REG_CANNOT_CHANGE_MODE_P condition.
6257
c1bad961
NB
62582003-03-15 Neil Booth <neil@daikokuya.co.uk>
6259
6260 * Makefile.in: Update.
6261 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
6262 * c-lex.c (init_c_lex): Register builtins hook is dead.
6263 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
6264 (c_common_decode_option): Don't call cpp_handle_option.
6265 Handle -A, -D and -U.
6266 (handle_deferred_opts): Simplify.
6267 (finish_options): Define builtins and command line macros.
6268 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
6269 * cppinit.c: Don't include intl.h.
6270 (init_builtins): Rename cpp_init_builtins. No hook to call.
6271 (init_library): Don't need to sort options.
6272 (cpp_create_reader): Don't set pending.
6273 (cpp_destroy): Don't free pending.
6274 (struct pending_option, cl_directive_handler, struct cpp_pending,
6275 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
6276 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
6277 cl_options, cpp_handle_option): Remove.
6278 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
6279 cpp_finish_options): Remove.
6280 (cpp_init_builtins): New.
6281 * fix-header.c (read_scan_file): Update to handle -D. Fix
6282 handling of -I. Replace call to cpp_finish_options.
6283
d8eed979
MH
62842003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6285
6286 PR optimization/9387
6287 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
6288 for conditional returns.
6289
af75fb67
JM
62902003-03-14 Jason Merrill <jason@redhat.com>
6291
6292 PR optimization/6871
6293 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
6294
255c10b1
NB
62952003-03-14 Neil Booth <neil@daikokuya.co.uk>
6296
6297 * c-opts.c (finish_options): New.
6298 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
6299 (missing_arg): Handle OPT_include and OPT_imacros.
6300 (c_common_init, c_common_parse_file): Use finish_options.
6301 (handle_deferred_opts): Update.
6302 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
6303 (cpp_finish_options): Don't handle -imacros here.
6304 (no_fil): Remove.
6305 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
6306
027fbf43
JJ
63072003-03-14 Jakub Jelinek <jakub@redhat.com>
6308
6309 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
6310 rs6000_maybe_dead if !fromprolog.
6311
23345bbb
NB
63122003-03-14 Neil Booth <neil@daikokuya.co.uk>
6313
6314 * Makefile.in: Update.
6315 * c-common.h (fe_file_change, pp_file_change): New.
6316 * c-lex.c (init_c_lex): Don't set cb_file_change.
6317 (c_common_parse_file): Move to c-opts.c.
6318 (cb_file_change): Rename fe_file_change.
6319 * c-opts.c: Include debug.h.
6320 (warn_unused_macros, include_cursor): New.
6321 (push_command_line_include, cb_file_change): New.
6322 (COMMAND_LINE_OPTIONS): Handle -include.
6323 (c_common_decode_option): Use local warn_unused_macros.
6324 Handle OPT_include.
6325 (c_common_post_options): Set file change callback.
6326 (handle_deferred_opts): Skip -include. Don't free the array.
6327 (c_common_init): Call cpp_finish_options here, and push an
6328 initial -include file.
6329 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
6330 (preprocess_file): Don't call cpp_finish_options.
6331 (init_pp_output): Don't set the file change callback.
6332 (pp_file_change): Return if no line commands or no output.
6333 * cpphash.h (next_include_file, first_unused_line): Remove.
6334 * cppinit.c (include_head, include_tail): Remove.
6335 (cpp_destroy): Don't free -include chain.
6336 (cpp_finish_options): Don't handle -include, or worry about
6337 -Wunused-macros.
6338 (_cpp_maybe_push_include_file): Remove.
6339 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
6340 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
6341 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
6342 Used flag is set based upon the state of the warn_unused_macros
6343 flag, and so use of first_unused_line is unnecessary.
6344
62c9aa5f 63452003-03-13 Jan Hubicka <jh@suse.cz>
cd648cec
JH
6346
6347 * cselib.c (clear_table): Do not take argument; always clear just
6348 used slots.
6349 (cselib_process_insn): Update call of clear_table
6350 (cselib_init): Do not call clear_table.
6351 (cselib_finish): Clear table.
6352
6353 * cse.c (count_reg_usage): Do not check side_effects_p.
6354 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
6355 like noop.
6356 (find_reg_equal_equiv_note): Do not use find_reg_note.
6357
35d9c403
RH
63582003-03-14 Richard Henderson <rth@redhat.com>
6359
6360 PR target/9700
1fe668e5 6361 * config/alpha/alpha.c (alpha_va_start): Account for
35d9c403
RH
6362 current_function_pretend_args_size in the AP offset.
6363
6364 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
6365 (INITIAL_ELIMINATION_OFFSET): Move out of line.
6366 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
6367 (alpha_initial_elimination_offset) New.
6368 * config/alpha/alpha-protos.h: Update.
6369
f43f4314
JJ
63702003-03-14 Jakub Jelinek <jakub@redhat.com>
6371
6372 * stmt.c (expand_start_case): Call emit_queue ().
6373
35d9c403
RH
63742003-03-14 Chris Demetriou <cgd@broadcom.com>
6375 Alexandre Oliva <aoliva@redhat.com>
a0a89ed0
CD
6376
6377 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
6378 words in new abis.
6379
f650843f
EB
63802003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
6381
6382 PR optimization/8396
6383 * tree-inline.c (initialize_inlined_parameters): Make sure the value
6384 of read-only constant arguments is passed with the right type.
6385
a721a601
SB
63862003-03-14 Steven Bosscher <steven@gcc.gnu.org>
6387
6388 * doc/extend.texi (Function Names): Make the example compilable.
6389
a12f8290
DE
63902003-03-13 David Edelsohn <edelsohn@gnu.org>
6391
6392 * config/rs6000/rs6000.c (processor_target_table): Really allow
6393 GP optional instructions on Power4.
6394
63952003-03-13 Roger Sayle <roger@eyesopen.com>
36dbb93d
RS
6396
6397 * calls.c (flags_from_decl_or_type): Factor and remove redundant
6398 conditional tests.
6399
c4775f82
MS
64002003-03-13 Mike Stump <mrs@apple.com>
6401
6402 * ggc-page.c (struct page_entry): Remove varray.h header.
6403 Add index_by_depth field.
6404 Remove save_in_use_p field.
6405 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
6406 by_depth_max, by_depth, and save_in_use fields.
6407 (INITIAL_PTE_COUNT): Add.
6408 (save_in_use_p_i): Add.
6409 (save_in_use_p): Add.
6410 (adjust_depth): Add.
6411 (move_ptes_to_front): Add.
6412 (push_depth): Add.
6413 (push_by_depth): Add.
6414 (prefetch): Add.
6415 (free_page): Add support for and use faster data structures.
6416 (ggc_alloc): Likewise.
6417 (init_ggc): Likewise.
6418 (ggc_recalculate_in_use_p): Likewise.
6419 (ggc_pop_context): Likewise.
6420 (clear_marks): Likewise.
6421 (ggc_pch_read): Likewise.
6422 * Makefile.in (ggc-page.o): Remove varray.h.
6423
3bed2930
NN
64242003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
6425
7210d5ae
NN
6426 * ChangeLog: Rotated last year's entries to...
6427 * ChangeLog.8: New.
6428
1fe668e5 6429 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
3bed2930
NN
6430 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
6431 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
6432 config/ia64/ia64-protos.h, config/ia64/ia64.c,
6433 config/ia64/ia64.h, config/ia64/ia64.md,
6434 config/ia64/itanium1.md, config/ia64/itanium2.md,
6435 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
6436 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
6437
3bd104d1
AH
64382003-03-13 Aldy Hernandez <aldyh@redhat.com>
6439
d2184e79
AH
6440 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
6441 Differentiate endianness.
6442 (s6000_override_options): Use cpu type instead of TARGET_SPE.
3bd104d1 6443
2ed0b52a
NC
64442003-03-13 Nick Clifton <nickc@redhat.com>
6445
b17fe233 6446 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
d2184e79
AH
6447 LDM instructions with writeback enabled.
6448 (output_return_instruction): Likewise.
b17fe233 6449
2ed0b52a
NC
6450 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
6451 (CALL_USED_REGISTERS): Remove definition.
6452 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
6453
f1384257
AM
64542003-03-13 Alan Modra <amodra@bigpond.net.au>
6455
6456 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
6457 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
6458 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
6459 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
6460 (rs6000_legitimize_address): Formatting.
6461 (rs6000_emit_move): Likewise.
6462 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
6463 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
6464 (rs6000_elf_select_section): Comment reason for shlib being
6465 set for ABI_AIX.
6466 (rs6000_elf_unique_section): Likewise.
6467 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
6468 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
6469 as well as flag_pic.
6470 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
6471 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
6472 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
6473
599aedd9
RH
64742003-03-13 Richard Henderson <rth@redhat.com>
6475
6476 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
6477
6478 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
6479 (ia64_gp_save_reg): Remove.
6480 (struct ia64_frame_info): Move to the beginning of the file;
6481 add reg_save_gp.
6482 (ia64_expand_call): Rearrange for new call patterns.
6483 (ia64_reload_gp): New.
6484 (ia64_split_call): New.
6485 (ia64_compute_frame_size): Allocate reg_save_gp.
6486 (ia64_expand_prologue): Save reg_save_gp.
6487 (ia64_expand_epilogue): Don't restore gp.
6488 (ia64_hard_regno_rename_ok): Remove R4 hack.
6489 (ia64_function_ok_for_sibcall): New.
1fe668e5 6490 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
599aedd9
RH
6491 call try_split on sibcall pattern.
6492 * config/ia64/ia64-protos.h: Update.
6493 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
6494 Rename from nopic versions. Confiscate 2nd argument to call as
6495 a marker.
6496 (call_pic, call_value_pic, sibcall_pic): Remove.
6497 (call_gp, call_value_gp, sibcall_gp): New.
6498 (builtin_setjmp_setup): Remove.
6499 (builtin_setjmp_receiver): Call ia64_reload_gp.
6500
e7d9d16b
NN
65012003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6502
1fe668e5 6503 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2ff8f7ac
NN
6504 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
6505 "GNU CC" with "GCC".
6506
4db9c756
NN
6507 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
6508 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
6509 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
6510 GCC, not GNU CC.
6511
63b025a5
NN
6512 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
6513 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
6514
54a7b573
NN
6515 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
6516 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
6517 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
6518 "GNU CC" with "GCC".
6519
301ee2f3
NN
6520 * config/v850/lib1funcs.asm, config/v850/rtems.h,
6521 config/v850/v850-c.c, config/v850/v850-protos.h,
6522 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
6523 GCC, not GNU CC.
6524
e7d9d16b
NN
6525 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
6526 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
6527 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
6528 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
6529 GNU CC.
6530
93c98498
BK
65312003-03-12 Benjamin Kosnik <bkoz@redhat.com>
6532
6533 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
6534
e531258e
NN
65352003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6536
706ae11c
NN
6537 * fixinc/fixinc.interix: Remove dead code (most of it).
6538 * fixinc/fixinc.dgux: Remove.
6539
e531258e
NN
6540 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
6541 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
6542
eab9e742
JDA
65432003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6544
6545 * pa.c (pa_init_builtins): Fix warning.
6546
03d0dce1
SE
65472003-03-12 Steve Ellcey <sje@cup.hp.com>
6548
6549 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
6550 (ASM_OUTPUT_XDATA_SHORT): Remove.
6551 (ASM_OUTPUT_XDATA_INT): Remove.
6552 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
6553 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
6554 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
6555 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
6556
847311f4
AL
65572003-03-12 Andrew Lewycky <andrew@mxc.ca>
6558
6559 PR c++/7050
6560 * expr.c (store_expr): Don't attempt to store void-typed trees,
6561 just evaluate them for side effects.
6562
c19b12cb
NB
65632003-03-12 Neil Booth <neil@daikokuya.co.uk>
6564
6565 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
6566 * cppinit.c (push_include): Move with changes to cppfiles.c.
6567 (cpp_read_main_file): Mark named operators here...
6568 (cpp_finish_options): ...not here. Update.
6569 (_cpp_maybe_push_include_file): Update.
6570 * cpplib.h (cpp_push_include, cpp_rename_file): New.
6571
ad9c4d9f
NN
65722003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6573
847311f4
AL
6574 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
6575 _gcc_COMPUTE_GAS_VERSION.
6576 * configure.in: Use them.
6577 * configure: Regenerate.
ad9c4d9f 6578
8d49831d
BW
65792003-03-12 Bob Wilson <bob.wilson@acm.org>
6580
d2184e79 6581 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
8d49831d 6582 to detect carry.
d2184e79 6583 (subdi3): Reorder emitted instructions.
8d49831d 6584
bfa2615f
AJ
65852003-03-12 Andreas Jaeger <aj@suse.de>
6586
6587 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
6588 NETBSD_OS_CPP_BUILTINS_LP64.
6589
73458fb7
NN
65902003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
6591
6592 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
6593 Rearrange. Reorganize.
6594 * configure.in: Rearrange.
6595 * configure: Regenerate.
6596
00530a21
AJ
65972003-03-12 Andreas Jaeger <aj@suse.de>
6598
d2184e79
AH
6599 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
6600 LP64 targets.
00530a21 6601
d2184e79
AH
6602 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
6603 _LP64.
00530a21 6604
d2184e79
AH
6605 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
6606 _LP64 macros here.
6607 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
00530a21 6608
d2184e79
AH
6609 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
6610 NETBSD_OS_CPP_BUILTINS_LP64.
6611 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
6612 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
00530a21 6613
d2184e79 6614 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
00530a21 6615
62c9aa5f 66162003-03-12 Jan Hubicka <jh@suse.cz>
5474eed5
JH
6617
6618 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
6619
8c35a61a 66202003-03-12 Daniel Jacobowitz <drow@mvista.com>
59a7f9bf
DJ
6621
6622 Fix PR target/9797 and PR c/9853.
6623 * stmt.c (expand_decl_init): Call push_temp_slots () and
6624 pop_temp_slots ().
6625
62c9aa5f 66262003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
1aa03f38
R
6627
6628 * sh.c: Include basic-block.h.
6629 (sh_output_mi_thunk, emit_load_ptr): New functions.
6630 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
6631
6f8c9bd1
NC
66322003-03-12 Nick Clifton <nickc@redhat.com>
6633
6634 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
6635 (CALL_USED_REGISTERS): Likewise.
6636 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
6637 describing how this value is calculated.
6638
b2522d2b
HPN
66392003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
6640
6641 * configure.in (rlim_t): Define to long if no valid definition
6642 found in sys/resource.h.
6643 * config.in, configure: Regenerate.
6644
f7248b51
NB
66452003-03-12 Neil Booth <neil@daikokuya.co.uk>
6646
6647 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
6648 TARGET_OS_CPP_BUILTINS.
6649 * config/mcore/mcore-pe.h: Similarly.
6650 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
6651 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
6652
8a7d6cb3
EB
66532003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
6654
6655 PR c/9928
6656 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
6657 only if it is a VAR_DECL.
6658
db1077d3
EB
66592003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
6660
6661 PR optimization/9888
6662 * config/i386/i386.md (jcc_1): Fix range.
6663 (jcc_2): Likewise.
6664 (jump): LIkewise.
6665 (doloop_end_internal): Likewise.
6666
6ca23bff 66672003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
1fe668e5 6668
6ca23bff
DS
6669 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
6670 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
6671 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
6672 DLL_IMPORT_EXPORT_PREFIX and "i."
6673 (i386_pe_dllexport_name_p): Here.
6674 (i386_pe_dllimport_name_p): Here.
d2184e79 6675 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
6ca23bff
DS
6676 not 9 chars when getting identifier name.
6677 (i386_pe_mark_dllimport): Here.
6678 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
6679 not 9 chars when getting identifier name. Correct comment.
6680 (i386_pe_strip_name_encoding): Here. Add comments for different
6681 cases.
6682 (gen_fastcall_suffix): Break down xmalloc() argument to
6683 components.
6684 (gen_stdcall_suffix): Likewise.
6685 Update copyright year.
6686
9b73c90a
EB
66872003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
6688
6689 PR optimization/9888
6690 * config/i386/i386.md (movsi_1): Remove special alternatives
6691 for %eax register.
6692 (movsi_1_nointernunit): Likewise.
6693 (movhi_1): Likewise.
6694 * config/i386/i386.c (memory_address_length): Do not use
6695 short displacement when there is no base.
6696 (ix86_attr_length_address_default): Handle LEA instructions.
6697
21282b1e
NB
66982003-03-12 Neil Booth <neil@daikokuya.co.uk>
6699
6700 * c-cppbuiltin.c (builtin_define_std): Make non-static.
6701
7358f10d
LR
67022003-03-11 Loren James Rittle <ljrittle@acm.org>
6703
6704 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
6705 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
6706 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
6707 * config/freebsd.h (CPP_PREDEFINES): Remove.
6708 (TARGET_OS_CPP_BUILTINS): New.
6709 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
6710 instead of TARGET_OS_CPP_BUILTINS.
6711 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
6712
d00bc0a2
GK
67132003-03-11 Geoffrey Keating <geoffk@apple.com>
6714
6715 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
6716
9b7b447f
AH
67172003-03-11 Aldy Hernandez <aldyh@redhat.com>
6718
d2184e79
AH
6719 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
6720 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9b7b447f 6721
d2184e79 6722 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9b7b447f 6723
62c9aa5f 67242003-03-11 Alexandre Oliva <aoliva@redhat.com>
18a47d21
AO
6725
6726 * toplev.c (independent_decode_option): Return success for --help,
6727 --target-help and --version.
6728
62c9aa5f 67292003-03-11 Alexandre Oliva <aoliva@redhat.com>
c0a579df
AO
6730
6731 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
6732 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
6733 specified.
6734 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
6735 DRIVER_SELF_SPECS.
6736 (LINK_SPEC): Let endian options affect the linker emulation name.
6737
62c9aa5f 67382003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
ea45c4b0
R
6739
6740 * sh.md (reload_inqi): Fix mode for source in second set.
6741
62c9aa5f 67422003-03-11 Jan Hubicka <jh@suse.cz>
7101fb18
JH
6743
6744 * cselib.c (cselib_invalidate_mem_1): Move too ...
6745 (cselib_invalidate_mem): ... here; use new list
6746 (dummy_val, first_containing_mem): New static variables.
6747 (clear_table): Initialize first_containing_mem.
6748 (discard_useless_values): Compact the containing_mem list.
6749 (add_mem_for_addr): Add to the list.
6750 * cselib.h (cselib_val): Add next_containing_mem.
6751
b5044283
AH
67522003-03-11 Aldy Hernandez <aldyh@redhat.com>
6753
d2184e79
AH
6754 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
6755 instructions for e500.
b5044283 6756
cd6a5007
NB
67572003-03-11 Neil Booth <neil@daikokuya.co.uk>
6758
6759 * Makefile.in: Update.
6760 * c-cppbuiltin.c: Include tm_p.h.
6761
41f3a930
AH
67622003-03-11 Aldy Hernandez <aldyh@redhat.com>
6763
d2184e79 6764 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
41f3a930 6765
d2184e79
AH
6766 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
6767 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
6768 (_Unwind_SetGR): Same.
6769 (_Unwind_GetGRPtr): New.
6770 (_Unwind_SetGRPtr): New.
6771 (uw_update_context_1): Use accesor functions instead of accessing
6772 context->reg[] directly.
6773 (uw_install_context_1): Same.
6774 (execute_cfa_program): Same.
6775 (__frame_state_for): Same.
41f3a930 6776
d2184e79
AH
6777 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
6778 the synthetic register offset.
41f3a930 6779
d2184e79 6780 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
41f3a930 6781
d2f55c5c
HPN
67822003-03-11 Hans-Peter Nilsson <hp@axis.com>
6783
6784 * config/cris/cris.md: Remove lingering EGCS reference.
6785 ("*extopqihi_side_biap"): For HI operation, match
6786 cris_additive_operand_extend_operator, not
6787 cris_operand_extend_operator. Adjust condition.
6788 ("*extopqihi_side", "*extopqihi"): Ditto.
6789 ("*extopqisi_side_biap"): Correct operand numbers in condition.
6790 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
6791 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
6792 ("*extophisi_swap"): Ditto.
6793 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
6794 PLUS, not cris_operand_extend_operator. Adjust condition and
6795 output template.
6796 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
6797 * config/cris/cris.h (PREDICATE_CODES): Add
6798 cris_additive_operand_extend_operator.
6799 * config/cris/cris.c (cris_additive_operand_extend_operator):
6800 New predicate.
6801
37bd08f8
HP
68022003-03-11 Hartmut Penner <hpenner@de.ibm.com>
6803
6804 * df.c (read_modify_subreg_p): Change from static to global.
6805 * df.h (read_modify_subreg_p): Add prototype.
6806 * sched-deps.c (sched_analyze_1): Generate true dependency for
1fe668e5 6807 strict_low_part, certain subregs and zero/sign_extract.
37bd08f8 6808
cb60f38d
NB
68092003-03-11 Neil Booth <neil@daikokuya.co.uk>
6810
6811 * Makefile.in: Update.
6812 * c-common.c: Don't include real.h or except.h.
6813 (REGISTER_PREFIX): Remove.
6814 (builtin_define_std, builtin_define_with_value,
6815 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
6816 builtin_define_type_max, builtin_define_type_precision,
6817 builtin_define_float_constants): Move to c-cppbuiltin.c.
6818 (c_stddef_cpp_builtins): New.
6819 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
6820 * c-cppbuiltin.c: New, extracted from c-common.c.
6821 (define__GNUC__): New.
6822 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
6823 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
6824 (cpp_unique_options): Don't support no-gcc.
6825 (do_spec_1): Remove support of version specs.
6826 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
6827 * doc/passes.texi: Update.
6828 * doc/tm.texi: Update.
6829
31ca3635
AH
68302003-03-10 Aldy Hernandez <aldyh@redhat.com>
6831
d2184e79 6832 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
31ca3635 6833
ab82a49f
AP
68342003-03-10 Andrew Pinski <apinski@apple.com>
6835
6836 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
6837 is on should not get here.
6838 (machopic_indirect_data_reference): If dynamic-no-pic is on just
6839 generate high/low parts of the address.
6840 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
6841 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
6842 symbol and labels with a new reg. Dynamic-no-pic does not have a
6843 pic_offset_table_rtx.
6844 (machopic_select_section): Change references of flag_pic to
1fe668e5 6845 MACHOPIC_INDIRECT.
ab82a49f
AP
6846 (machopic_asm_out_destructor): Likewise.
6847 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
6848 reference of flag_pic to MACHOPIC_INDIRECT.
6849 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
6850 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
6851 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
6852 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
6853 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
6854 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
6855 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
6856 (TARGET_DYNAMIC_NO_PIC): Define.
6857 (SUBTARGET_SWITCHES): Define, have sub-target switches for
1fe668e5 6858 dynamic-no-pic.
ab82a49f
AP
6859 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
6860 rs6000_override_options to here. Dynamic-no-pic overrides
6861 pic.
6862 (CC1_SPEC): Change from not static then pic to not static and not
6863 dynamic-no-pic then pic.
6864 * config/rs6000/rs6000.c (rs6000_override_options): Move the
6865 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
6866 (rs6000_legitimize_reload_address): Add case for loading floating in
6867 dynamic-no-pic.
6868 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
6869 of flag_pic to MACHOPIC_INDIRECT.
6870 (secondary_reload_class): Conditional change the reference of
6871 flag_pic to MACHOPIC_INDIRECT.
6872 (rs6000_output_mi_thunk): Change reference of flag_pic to
6873 MACHOPIC_INDIRECT.
6874 (output_profile_hook): Likewise.
6875 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
6876 * config/rs6000/rs6000.md (movdf_low): Add the case for
6877 MACHO_DYNAMIC_NO_PIC_P.
6878 (call): Change references for flag_pic in TARGET_MACHO to
6879 MACHOPIC_INDIRECT.
6880 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
6881 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
6882 * doc/invoke.texi (-mdynamic-no-pic): Document.
87d7d780
DP
6883
68842003-03-10 Devang Patel <dpatel@apple.com>
1fe668e5 6885
87d7d780
DP
6886 PR c++/9394
6887 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
6888 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
6889 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
6890 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
6891 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
6892 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
1fe668e5 6893
6b856d15
SB
68942003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6895
6896 PR optimization/7189
6897 * toplev.c (rest_of_compilation): Move
6898 check_function_return_warnings up to just after
6899 delete_unreachable_blocks.
6900
2d8d15b7
SC
69012003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6902
6903 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
6904 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
6905 Declare.
6906 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
6907 for reg rename optimization to avoid using Z and Y registers.
6908
0e01d661
SC
69092003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6910
6911 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
6912 when adding to X and Y since leax/leay are fast.
6913 ("*addhi3"): Accept 'I' constraint when adding to address register.
6914 ("rotlhi3"): Operand 1 must be a register_operand.
6915 (peephole2): New peephole to optimize some adds.
6916 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
6917 to represent -2 .. 2 small integer range.
6918
ae5b570e
SC
69192003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6920
6921 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
6922 each 16-bit rotation.
6923
52999738
ZW
69242003-03-10 Zack Weinberg <zack@codesourcery.com>
6925
6926 * c-opts.c (add_prefixed_path): Don't use concat. When
6927 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
6928 cpp_GCC_INCLUDE_DIR_len characters.
6929
5c242421
SB
69302003-03-10 Segher Boessenkool <segher@koffie.nl>
6931
52999738 6932 * testsuite/gcc.dg/altivec-9.c: New file.
5c242421 6933
52999738
ZW
6934 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
6935 (rs6000_emit_prologue): Use rs6000_frame_related instead.
5c242421 6936
b4053702
AH
69372003-03-10 Aldy Hernandez <aldyh@redhat.com>
6938
52999738
ZW
6939 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
6940 vectors.
6941 (__ev_convert_u64): Remove macro. Define as inline.
6942 (__ev_convert_s64): Same.
b4053702 6943
c19de7aa
AH
69442003-03-10 Aldy Hernandez <aldyh@redhat.com>
6945
52999738
ZW
6946 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
6947 (rs6000_stack_t): Add spe_64bit_regs_used.
c19de7aa 6948
52999738
ZW
6949 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
6950 spe_64bit_regs_used, and use it to determine the size of the
6951 frame.
6952 (spe_func_has_64bit_regs_p): New.
6953 (spe_synthesize_frame_save): New.
6954 (rs6000_frame_related): Handle SPE synthetic registers.
6955 (rs6000_emit_prologue): Only save in 64-bits if the function used
6956 any registers in 64-bit mode.
6957 (rs6000_emit_epilogue): Same, but for restore.
c19de7aa 6958
29ad9694
RE
69592003-03-10 Richard Earnshaw <rearnsha@arm.com>
6960
6961 * arm.h (enum floating_point_type): Delete. Replace with...
6962 (enum fputype): ... new.
6963 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
6964 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
6965 * arm.md (attr fpu): Reworked for new underlying enum values.
6966 * arm.c (arm_fpu_arch): Now enum fputype.
6967 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
6968 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
6969 Update uses of arm_fpu_arch and arm_fpu_tune.
6970
39811184
JZ
69712003-03-10 Josef Zlomek <zlomekj@suse.cz>
6972
52999738 6973 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
39811184
JZ
6974 (try_crossjump_to_edge): Replace refereces to one jump table by
6975 references to identical jump table.
6976 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
6977 (replace_label): Moved to rtlanal.c.
6978 (struct rtx_pair): Moved to rtl.h.
52999738 6979 * rtl.h (struct rtx_pair): Moved from loop.c.
39811184
JZ
6980 (replace_label): New extern function.
6981 (subrtx_p): New extern function.
6982 (tablejump_p): New extern function.
52999738 6983 * rtlanal.c (replace_label): Moved from loop.c.
39811184
JZ
6984 (subrtx_p_1): New static function.
6985 (subrtx_p): New function.
6986 (tablejump_p): New function.
6987
62c9aa5f 69882003-03-10 Jan Hubicka <jh@suse.cz>
ec3ae3da 6989
912b79e7
JH
6990 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
6991
ec3ae3da
JH
6992 * cfgcleanup.c (merge_blocks): Return where to iterate next.
6993 (try_optimize_cfg): Use return value of merge_blocks
6994
e0fd3e7a
MM
69952003-03-10 Michael Matz <matz@suse.de>
6996
6997 * cfg.c (unchecked_make_edge): New.
6998 (cached_make_edge): Use it.
6999 * basic-block.h (unchecked_make_edge): Declare.
7000 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
7001
82955615
RE
70022003-03-10 Richard Earnshaw <rearnsha@arm.com>
7003
7004 * fpa.md: New file. Move all patterns relating to FPA co-processor
7005 to here...
7006 * arm.md: ... from here.
7007 (cirrus.md, fpa.md): Include at end of description.
7008 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
7009 (pic_load_addr_based): Remove register constraint from expander.
7010 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
7011 (sordered, sungt, sunle, sunge, sunlt): Likewise.
7012 (eh_epilogue, tablejump): Likewise.
7013
22672fc4
RK
70142003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7015
7016 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
7017 on operands if it has a PLACEHOLDER_EXPR.
7018
f7b3ab8a
DE
70192003-03-09 David Edelsohn <edelsohn@gnu.org>
7020 Mostafa Hagog
7021
7022 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
7023 condition.
7024
cc956ba2
NB
70252003-03-09 Neil Booth <neil@daikokuya.co.uk>
7026
7027 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
7028 * config/ip2k/ip2k.h: Similarly.
7029 * config/m32r/m32r.h: Similarly.
7030 * config/m68hc11/m68hc11.h: Similarly.
7031 * config/mn10200/mn10200.h: Similarly.
7032 * config/mn10300/mn10300.h: Similarly.
7033 * config/pdp11/pdp11.h: Similarly.
7034 * config/v850/v850.h: Similarly.
7035 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
7036 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
7037 * config/mips/iris3.h: Remove #if 0 block.
7038
70392003-03-09 Roger Sayle <roger@eyesopen.com>
7040 Joern Rennecke <joern.rennecke@superh.com>
7041
7042 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
7043 pending argument upon return from handle_braces here.
7044 (do_spec_2): Instead handle it upon return from do_spec_1 here.
7045
6544fbcb
RS
70462003-03-09 Roger Sayle <roger@eyesopen.com>
7047 Joern Rennecke <joern.rennecke@superh.com>
7048
7049 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
7050 pending argument upon return from handle_braces here.
7051 (do_spec_2): Instead handle it upon return from do_spec_1 here.
7052
e1a04212
FS
70532003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7054
7055 * varasm.c (make_decl_one_only): Use declare_weak().
7056
4677862a
JDA
70572003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7058
7059 PR middle-end/9986
7060 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
7061 after the common builtins.
7062 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
7063 * pa.c (TARGET_INIT_BUILTINS): Define.
7064 (pa_init_builtins): New function.
7065
7066 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
7067 space has been allocated for the outgoing arguments, set the arg
7068 pointer for a call emitted after virtuals have been instantiated
7069 using the stack pointer offset, otherwise abort.
7070
2de12bc4
DD
70712003-03-09 DJ Delorie <dj@redhat.com>
7072
7073 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
7074
17136dde
RE
70752003-03-09 Richard Earnshaw <rearnsha@arm.com>
7076
7077 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
7078 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
7079 conversion to integer.
7080 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
7081
f937d5e6
RS
70822003-03-09 Roger Sayle <roger@eyesopen.com>
7083
7084 * builtins.def: Fix typo and improve grammar.
7085 * loop-unroll.c (decide_peel_completely): Tidy log message.
7086
c5979bc6
KH
70872003-03-09 Kazu Hirata <kazu@cs.umass.edu>
7088
7089 * config/h8300/h8300.md (*tstsi_upper_bit): New.
7090 (*iorsi3_e2f): Likewise.
7091
4f4ebda3
KH
70922003-03-08 Kazu Hirata <kazu@cs.umass.edu>
7093
7094 * config/h8300/h8300.c (h8300_and_costs): Return the number of
7095 assembly instructions needed.
7096 (h8300_shift_costs): Likewise.
7097
c366ade5
HPN
70982003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
7099
02af0d9b
HPN
7100 * config/cris/aout.h (ENDFILE_SPEC): Undef.
7101
a3600c71
HPN
7102 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
7103 moves from here ...
7104 * expr.c (emit_move_insn_1): ... to here.
7105
a6e464ae
HPN
7106 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
7107 (TARGET_OS_CPP_BUILTINS): New macro.
7108 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
7109 (TARGET_OS_CPP_BUILTINS): New macro.
7110 (CPP_PREDEFINES): Don't define. Move old definitions and...
7111 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
7112 (TARGET_CPU_CPP_BUILTINS): New macro.
7113 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
7114 definitions and the optional __PIC__, __pic__ and
7115 __NO_UNDERSCORES__ definitions to...
7116 (TARGET_OS_CPP_BUILTINS): New macro.
7117
d8a25128
HPN
7118 * flags.h (flag_leading_underscore): Declare.
7119
c366ade5
HPN
7120 * c-opts.c (c_common_post_options): On fopen failure, return
7121 false, not NULL.
7122
32b0bbaa
HPN
71232003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
7124
7125 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
7126 config.h.
7127 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
7128 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
7129
ad220576
NB
71302003-03-08 Neil Booth <neil@daikokuya.co.uk>
7131
7132 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
7133 CPP_PREDEFINES.
7134 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
7135 CPP_PREDEFINES.
7136
4bfec483
NB
71372003-03-08 Neil Booth <neil@daikokuya.co.uk>
7138
7139 * c-common.h (c_common_init, c_common_post_options): Update.
7140 * c-objc-common.c (c_objc_common_init): Update for new prototype.
7141 * c-opts.c (saved_lineno): New.
7142 (c_common_post_options, c_common_init): Update prototypes,
7143 move call to cpp_read_main_file from latter to former.
7144 * c-tree.h (c_ojbc_common_init): Update.
7145 * langhooks-def.h (lhd_post_options): New.
7146 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
7147 * langhooks.c (lhd_post_options): New.
7148 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
7149 * toplev.c (no_backend): New.
7150 (process_options): Call post_options hook and set main_input_filename
7151 and input_filename here.
7152 (lang_dependent_init, do_compile): post_options hook moved to
7153 process_options.
7154 * objc/objc-act.c (objc_init): Update prototype.
7155 * objc/objc-act.h (objc_init): Update prototype.
7156
9dd04ab5
RS
71572003-03-08 Roger Sayle <roger@eyesopen.com>
7158
7159 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
7160 a complex or vector type, using a load in the original mode.
7161
62c9aa5f 71622003-03-08 Jan Hubicka <jh@suse.cz>
988d1653
JH
7163
7164 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
7165 * gt-cgraph.h: New GC file.
7166 * cgraph.c (known_fns): New static variable.
7167 (cgraph_node): Add the decl into varray.
7168
73ba39fc
HPN
71692003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
7170
7171 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
7172
3b684012
RE
71732003-03-08 Richard Earnshaw <rearnsha@arm.com>
7174
7175 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
7176 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
7177 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
7178 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
7179 All callers changed.
7180 * arm.md, arm.h, arm-protos.h: Updated.
7181
7182 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
7183 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
7184 * arm.c (arm_regno_class, f_register_operand): Updated.
7185
fa5848c7
HPN
71862003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
7187
7188 * config/cris/cris.h: Remove EGCS references.
1fe668e5 7189 (CPP_SPEC): Remove "-$".
fa5848c7
HPN
7190 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
7191
4555be98
NB
71922003-03-08 Neil Booth <neil@daikokuya.co.uk>
7193
7194 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
7195 preference to CPP_PREDEFINES.
7196
39a91264
NB
71972003-03-08 Neil Booth <neil@daikokuya.co.uk>
7198
7199 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
7200
9571a6b9
KH
72012003-03-08 Kazu Hirata <kazu@cs.umass.edu>
7202
7203 * config/h8300/h8300.md (*extzv_16_8): New.
7204
62c9aa5f 72052003-03-08 Jan Hubicka <jh@suse.cz>
18d13f34
JH
7206
7207 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
7208 * cgraph.h: (cgraph_local_info): Add can_inline_once
7209 (cgraph_global_info): Add inline_once.
7210 (cgraph_node): Add previous.
7211 (cgraph_remove_node): New.
7212 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
7213 function.
7214 (cgraph_optimize): Call it.
7215 (cgraph_finalize_function): Set inlinable flags.
7216 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
7217 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
7218 (cgraph_expand_function): Likewise.
52999738 7219 * cgraph.c
18d13f34
JH
7220 (cgraph_node): Put nodes into doubly linked chain.
7221 (cgraph_remove_node): New function.
7222 * flags.h (flag_inline_functions_called_once): Declare.
7223 * tree-inline.c: Include cgraph.h
7224 (inlinable_functions_p): Add extra argument to bypass limits.
7225 (expand_call_inline): Obey cgraph flag.
7226 * tree-inline.h (tree_inlinable_function_p): Update prototype.
7227
72b8d451
ZD
72282003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7229
7230 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
7231 irreducible loops.
7232
7233 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
7234 loops info correctly.
7235
ed97aa66
EB
72362003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
7237
7238 PR middle-end/7796
7239 * unroll.c (calculate_giv_inc): Handle constants being
7240 loaded with LSHIFTRT.
7241
d7b53ca4
DE
72422003-03-07 David Edelsohn <edelsohn@gnu.org>
7243
7244 * config/rs6000/rs6000.c (processor_target_table): Do not disable
7245 GP optional instructions on Power3, Power4, 620, and 630.
7246
3dc575ff
KH
72472003-03-07 Kazu Hirata <kazu@cs.umass.edu>
7248
7249 * calls.c: Fix comment formatting.
7250 * cfgloopanal.c: Likewise.
7251 * cfgloopmanip.c: Likewise.
7252 * combine.c: Likewise.
7253 * dwarf2out.c: Likewise.
7254 * ggc-common.c: Likewise.
7255 * langhooks.c: Likewise.
7256 * loop-unroll.c: Likewise.
7257 * loop.c: Likewise.
7258 * ra-build.c: Likewise.
7259 * sbitmap.c: Likewise.
7260 * toplev.c: Likewise.
7261
9bcd9715
JW
72622003-03-07 James E Wilson <wilson@tuliptree.org>
7263
ed97aa66 7264 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
9bcd9715 7265
6e5c4eaf
GK
72662003-03-07 Geoffrey Keating <geoffk@apple.com>
7267
7268 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
7269 support -no-integrated-cpp.
7270
7271 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
7272 than langhooks.name.
7273
50aac998
MM
72742003-03-07 Michael Matz <matz@suse.de>
7275
7276 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
7277 (DF_FOR_REGALLOC): New.
7278 * df.c (df_ref_record): Set DF_REF_STRIPPED.
7279 (read_modify_subreg_p): Simplify.
7280 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
7281 Use DF_FOR_REGALLOC.
7282 * ra.h (struct web): New member subreg_stripped.
7283 (invalid_mode_change_regs): Declare.
7284 * ra.c (invalid_mode_change_regs): New.
7285 (init_ra): Initialize it.
7286 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
7287 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
7288 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
7289 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
7290 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
7291
37f74dcf
RE
72922003-03-07 Richard Earnshaw <rearnsha@arm.com>
7293
7294 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
7295 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
7296 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
7297 machine description file from ...
7298 * cirrus.md: ... here.
7299
203b3521
KH
73002003-03-06 Kazu Hirata <kazu@cs.umass.edu>
7301
7302 * config/h8300/h8300.md (a peephole2): Don't use
7303 reg_overlap_mentioned_p.
7304
8643e92d
GK
73052003-03-06 Geoffrey Keating <geoffk@apple.com>
7306
7307 * c-pch.c: Include langhooks.h.
7308 (IDENT_LENGTH): New.
7309 (get_ident): New.
7310 (pch_ident): Delete.
7311 (pch_init): Use get_ident, IDENT_LENGTH.
7312 (c_common_valid_pch): Likewise. Also, use actual language
7313 in warning message.
7314 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
7315
7316 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
7317 c-parse.in.
7318 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
7319 gt-objc-objc-act.h.
7320 (gt-objc-objc-act.h): New rule.
7321 * objc/lang-specs.h: Support PCH.
7322 * objc/objc-act.c: Include gt-objc-objc-act.h.
7323 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
7324 (build_selector_reference_decl): Move idx out, mark for PCH.
7325 (build_class_reference_decl): Likewise.
7326 (build_objc_string_decl): Move *_idx out, mark for PCH.
7327 (build_tmp_function_decl): Move xxx out, mark for PCH.
7328
7f3d8013
DJ
73292003-03-06 Dale Johannesen <dalej@apple.com>
7330
7331 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
7332 global functions for inlining on Darwin.
7333
14484a78
VM
73342003-03-06 Vladimir Makarov <vmakarov@redhat.com>
7335
7336 * haifa-sched.c (schedule_block): Don't call reorder when sorting
7337 is prohibited.
7338
9d10c9a9
NB
73392003-03-06 Neil Booth <neil@daikokuya.co.uk>
7340
7341 * Makefile.in (c-ppoutput.o): Update.
7342 * c-common.h (init_pp_output): New.
7343 (preprocess_file): Update.
7344 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
7345 Register builtins.
7346 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
7347 Make call to cpp_read_main_file common to whether preprocessing
7348 or not. Don't register builtins.
7349 * c-ppoutput.c: Include c-pragma.h.
7350 (setup_callbacks): Rename init_pp_output.
7351 (preprocess_file): No longer setup callbacks or call
7352 cpp_read_main_file.
7353 * cpphash.h (_cpp_init_mbchar): New.
7354 * cppinit.c (init_library): Call _cpp_init_mbchar.
7355 * cpplex.c (_cpp_init_mbchar): New.
7356
37f5242b
RS
73572003-03-06 Roger Sayle <roger@eyesopen.com>
7358
7359 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
7360 MEM, try loading the MEM into a register and taking the low-part
7361 of that, to help CSE see the use of the MEM in its true mode.
7362
c876997f 73632003-03-05 Tom Tromey <tromey@redhat.com>
f3922fd2
DD
7364
7365 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
7366 Define.
7367
c876997f 73682003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
f3922fd2
DD
7369
7370 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
7371 operand 2.
7372 ("*ineqbranchsi"): Likewise.
7373
c876997f 73742003-03-05 Andrew Haley <aph@cambridge.redhat.com>
f3922fd2
DD
7375
7376 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
7377 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
7378 register store followed by a stack increment.
7379
c876997f 73802003-03-05 Chris Moller <cmoller@redhat.com>
f3922fd2
DD
7381
7382 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
7383 to inhibit saving CARRY_REGS.
7384
7385 * config/stormy16/stormy16.c (xs_hi_general_operand):
7386 added predicate to detect and error-out on out-of-range
7387 const_ints for movhi.
52999738 7388 * config/stormy16/stormy16.md (movhi): use
f3922fd2
DD
7389 xs_hi_general_operand.
7390
7391 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
7392 added a check for local vbl size overflow.
7393 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
7394 added predicate to detect and error-out on out-of-range
7395 const_ints for addhi and subhi.
52999738 7396 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
f3922fd2
DD
7397 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
7398
7399 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
7400 add a term to accept PRE_MODIFY addresses.
7401 * config/stormy16/stormy16.c (xstormy16_expand_move):
7402 add code to expand PRE_MODIFY addresses to an add followed
7403 by a move.
7404
4c28216d
JM
74052003-03-06 Jason Merrill <jason@redhat.com>
7406
7407 * tree-inline.c (inlinable_function_p): Revert earlier change
7408 pending investigation.
7409
0135f343
KH
74102003-03-06 Kazu Hirata <kazu@cs.umass.edu>
7411
7412 * config/h8300/h8300.md (a new peephole2): New.
7413
62c9aa5f 74142003-03-06 Jan Hubicka <jh@suse.cz>
5c2e00ee
JH
7415
7416 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
7417
323658ea
ZD
74182003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7419
7420 * dwarf2out.c (size_of_die): Compute size of external reference to
7421 die correctly.
7422
2b18b49b
HPN
74232003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
7424
7425 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
7426 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
7427 expanders.
7428
1a71a5b0
RS
74292003-03-05 Roger Sayle <roger@eyesopen.com>
7430
7431 * expr.h (lang_expand_expr): Delete obsolete prototype.
7432
26d249eb
KH
74332003-03-05 Kazu Hirata <kazu@cs.umass.edu>
7434
7435 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
7436
8b41a8da
KH
74372003-03-05 Kazu Hirata <kazu@cs.umass.edu>
7438
7439 * config/h8300/h8300.md (a peephole2): Generalize to
7440 accept a memory operand.
7441
62c9aa5f 74422003-03-05 Olivier Hainque <hainque@act-europe.fr>
39ee7fa9
OH
7443
7444 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
7445 * config/alpha/alpha.c (print_operand, case '+'): New.
7446 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
7447 (call_value_osf_1_noreturn): Likewise.
7448
62c9aa5f 74492003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
cda26058
RK
7450
7451 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
7452 (expand_end_bindings): Likewise.
7453
98857de8
JDA
74542003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7455
7456 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
7457 (epilogue): Don't generate return_external_pic when emitting PA 2.0
7458 code.
7459
96714395
AH
74602003-03-05 Aldy Hernandez <aldyh@redhat.com>
7461
52999738 7462 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
96714395 7463
52999738 7464 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
96714395 7465
52999738 7466 * hooks.c (hook_rtx_rtx_null): New.
96714395 7467
52999738 7468 * hooks.h (hook_rtx_rtx_null): Protoize.
96714395 7469
52999738
ZW
7470 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
7471 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
96714395 7472
52999738 7473 * target.h (struct gcc_target): Add dwarf_register_span.
96714395 7474
52999738
ZW
7475 * dwarf2out.c (multiple_reg_loc_descriptor): New.
7476 (one_reg_loc_descriptor): New.
7477 (reg_loc_descriptor): Add support for values that span more than
7478 one register.
96714395 7479
62c9aa5f 74802003-03-05 Jan Hubicka <jh@suse.cz>
b255a036
JH
7481
7482 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
7483 * alias.c: Include cgraph.h
7484 (mark_constant_function): Use cgraph_rtl_info.
7485 * calls.c: Include cgraph.h
7486 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
7487 calls.
7488 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
7489 * cgraph.c (cgraph_rtl_info): New function.
7490 * cgraph.h (cgraph_rtl_info): Declare
7491 (cgraph_rtl_info): Likewise.
7492 * function.h (struct function): Add recursive_call_emit.
7493 * toplev.c: Include cgraph.h.
7494 (rest_of_compilation): Set preferred_incoming_stack_boundary.
7495
0eb933a0
KH
74962003-03-05 Kazu Hirata <kazu@cs.umass.edu>
7497
7498 * config/h8300/h8300.c (output_simode_bld): Clear the
7499 destination first if possible.
7500 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
7501 alternative.
7502 (extzv_1_r_inv_h8300hs): Likewise.
7503
35b07080
ZD
75042003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7505
7506 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
7507 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
7508 * cfgloop.c (flow_loop_free): Made global.
7509 (establish_preds): New static function.
7510 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
7511 (get_loop_exit_edges): New.
7512 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
7513 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
7514 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
7515 loops.
7516 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
7517 removability of an edge.
7518 (fix_irreducible_loops): New static function.
7519 (find_path, remove_path): Add ability to remove enclosing loops.
7520 (unloop): New.
7521 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
7522 flags.
7523 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
7524 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
7525 not neccessary.
7526 (decide_peel_completely, peel_loops_completely): Allow complete peeling
7527 of non-duplicable once rolling loops.
7528 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
7529
62c9aa5f 75302003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
bb182d23
R
7531
7532 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
7533 for align_jumps is 4.
7534
7535 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
7536 use GENERAL_REGS.
7537
f2d0440f
SC
75382003-03-05 Stephane Carrez <stcarrez@nerim.fr>
7539
7540 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
7541 according to va_arg type.
7542 (EXPAND_BUILTIN_VA_ARG): Remove.
7543 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
7544 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
7545
165b263e
DE
75462003-03-05 David Edelsohn <edelsohn@gnu.org>
7547
7548 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
7549 else clauses.
7550
8c38a24f
MM
75512003-03-05 Michael Matz <matz@suse.de>
7552
7553 * i386/i386.c (ix86_save_reg): Also test
7554 current_function_uses_const_pool.
7555
336d0d96
MM
75562003-03-05 Michael Matz <matz@suse.de>
7557
7558 * unwind.h: Add the GPL exception.
7559 * Makefile.in (USER_H): Add unwind.h.
7560
be2fa211
EB
75612003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
7562
7563 PR c/9799
7564 * c-typeck.c (push_init_level): Add sanity check.
7565
62c9aa5f 75662003-03-05 Jan Hubicka <jh@suse.cz>
dafc5b82
JH
7567
7568 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
7569 RTL inlining is done.
7570
7571 * cgraphunit.c (cgraph_mark_local_functions): New local function.
7572 (cgraph_optimize): Mark local functions.
7573 * i386-protos.h (init_cumulative_args): Update prototype.
7574 * i386.c (init_cumulative_args): Use register passing convention for
7575 local functions.
7576
7577 * cgraph.c (cgraph_global_info_ready): New global variable
7578 (cgraph_local_info, cgraph_global_info): New functions.
7579 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
7580 structures.
7581 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
7582 Declare.
7583 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
7584 (cgraph_mark_functions_to_output): Use inline_many.
7585 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
7586 (cgraph_expand_functions): Expand inline functions last.
7587 (cgraph_optimize): Do not emit uneeded functions.
7588
006c9f4a
SE
75892003-03-04 Steve Ellcey <sje@cup.hp.com>
7590
7591 * expr.c (convert_modes): Check for legal hard register.
7592
65ebbf81
TT
75932003-03-04 Tom Tromey <tromey@redhat.com>
7594
7595 * doc/sourcebuild.texi (Front End Directory): Document tags.
7596 * configure: Rebuilt.
7597 * configure.in (target_list): Added tags.
7598 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
7599 TAGS files by reference.
7600 * objc/Make-lang.in (objc.tags): New target.
7601
ec4a0419
ZD
76022003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7603
7604 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
7605 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
7606 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
7607 gcov_read_string, gcov_write_length): Modified to enable reading/
7608 writing of whole .da file just once.
7609 (da_file_open, da_file_close, da_file_eof, da_file_error,
7610 da_file_position, da_file_seek, da_file_write, da_file_read): New
7611 functions.
7612 (actual_da_file, actual_da_file_position, actual_da_file_length,
7613 actual_da_file_buffer, actual_da_file_buffer_size): New static
7614 functions.
7615 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
7616 just once.
7617
7618
79dbeefc
AS
76192003-03-04 Andreas Schwab <schwab@suse.de>
7620
7621 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
7622 offset without frame pointer.
7623
3ac1a319
SE
76242003-03-04 Steve Ellcey <sje@cup.hp.com>
7625
7626 * expr.c (expand_expr): Call promote_mode to set unsignedp.
7627
db720d9a
DJ
76282003-03-04 Daniel Jacobowitz <drow@mvista.com>
7629
7630 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
7631 * configure: Regenerated.
7632 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
7633
9a79ab7e
AJ
76342003-03-04 Andreas Jaeger <aj@suse.de>
7635
7636 * configure.in: Check for <memcheck.h>.
52999738 7637 * configure: Regenerated.
9a79ab7e
AJ
7638
7639 * config.in: Define HAVE_MEMCHECK_H.
7640
7641 * ggc-common.c: Use <memcheck.h> if available instead of
7642 <valgrind.h>.
7643 * ggc-page.c: Likewise.
7644 * cppfiles.c: Likewise.
7645
a8f0e848
KH
76462003-03-04 Kazu Hirata <kazu@cs.umass.edu>
7647
7648 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
7649
2ad1815d
EB
76502003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
7651
7652 PR c/9262
7653 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
7654 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
7655
62c9aa5f 76562003-03-04 Jan Hubicka <jh@suse.cz>
e2483ef7
JH
7657
7658 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
7659 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
7660 for -O3.
7661
34a86c2b
NN
76622003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
7663
7664 * configure.in: Delete three unused variables. Move a variable
7665 definition closer to its use. Simplify use_collect2 logic. Start to
7666 organize. Simplify tests for in-tree gas and ld.
7667 * configure: Regenerate.
7668
63973df3
NB
76692003-03-04 Neil Booth <neil@daikokuya.co.uk>
7670
7671 * Makefile.in: Update.
7672 * c-common.c (flag_no_line_commands, flag_no_output,
7673 flag_dump_macros, flag_dump_includes): New.
7674 * c-common.h (flag_no_line_commands, flag_no_output,
7675 flag_dump_macros, flag_dump_includes, preprocess_file): New.
7676 (init_c_lex): Update prototype.
7677 * c-lex.c (init_c_lex): Update prototype; move some code to
7678 c_common_init.
7679 * c-opts.c (preprocess_file): Subsume into c_common_init.
7680 (c_common_decode_option): Update flags.
7681 (c_common_init): Move code from preprocess_file and init_c_lex.
7682 (sanitize_cpp_opts): Update.
7683 * c-ppoutput.c: New, cppmain.c almost verbatim.
7684 * cpphash.h (struct printer): Remove.
7685 (struct cpp_reader): Remove print.
7686 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
7687 cpp_preprocess_file): Remove.
7688 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
7689 and dump_includes.
7690 * cppmain.c: Remove.
7691 * doc/passes.texi: Update.
7692
95f3f59e
JDA
76932003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7694
7695 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
7696 (assign_stack_local_1): Perform overall stack alignment only when
7697 STACK_ALIGNMENT_NEEDED is non-zero.
7698 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
7699
7700 * pa.c (compute_frame_size): Rename fsize to size. Account for
7701 alignment to a word boundary before general register save block. Only
7702 account for double-word alignment before floating point register save
7703 block if one or more are saved. Don't allocate space for %r3 when
7704 frame pointer is needed.
7705 (hppa_expand_prologue): Include alignment to word boundary in local
7706 frame size.
7707 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
7708 (STACK_ALIGNMENT_NEEDED): Define.
7709
234c071b
KB
77102003-03-04 Kevin Buettner <kevinb@redhat.com>
7711
7712 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
7713 global register variables.
7714
f12448c8
AO
77152003-03-04 Alexandre Oliva <aoliva@redhat.com>
7716
7717 * reload.c (reload_adjust_reg_for_mode): New function.
7718 (subst_reloads): Call it.
7719 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
7720 * reload.h (reload_adjust_reg_for_mode): Declare.
7721 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
7722 Call it.
7723
f9d36a92
JW
77242003-03-03 James E Wilson <wilson@tuliptree.org>
7725
7726 * optabs.c (add_equal_note): Delete SUBREG_REG use.
7727 Fixes PR c/7872.
7728
8dfb356f
KH
77292003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7730
7731 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
7732 (*ixorsi3_lshiftrt_16): New.
7733 (*iorsi3_ashift_16): Remove.
7734
0d9bf032
KH
77352003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7736
7737 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
7738 pattern.
7739
b89a3806
GK
77402003-03-03 Geoffrey Keating <geoffk@apple.com>
7741
7742 * doc/install.texi (Specific): Update entry for powerpc-darwin.
7743
568d661d
RH
77442003-03-03 Richard Henderson <rth@redhat.com>
7745
7746 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
7747
3317bab1
DE
77482003-03-03 David Edelsohn <edelsohn@gnu.org>
7749
7750 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
7751 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
7752 (rs6000_variable_issue): Do not return negative value.
7753 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
7754 scheduling pass.
7755
03275f81
ZD
77562003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7757
7758 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
7759 prune_unused_types calls.
7760
d1a74aa7
JM
77612003-03-03 Jason Merrill <jason@redhat.com>
7762
7763 * tree-inline.c (find_builtin_longjmp_call): Save and restore
7764 lineno and input_filename.
7765 (find_alloca_call): Likewise.
7766 (inlinable_function_p): Run the langhook earlier.
7767
7768 * calls.c (compute_argument_addresses): Give the new MEMs a
7769 minimum alignment of PARM_BOUNDARY.
7770
62c9aa5f 77712003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
d44cc404
R
7772
7773 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
7774 subtarget_asm_isa_spec.
7775 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
7776 (ASM_SPEC): Define as SH_ASM_SPEC.
7777 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
7778 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
7779 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
7780 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10f4f635
R
7781
7782 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
7783 and align_jumps if not set.
7784 Force align_jumps to be at least 2.
7785 When relaxing, force align_functions to be at least the maximum of
7786 align_loops, align_jumps and 4.
7787 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
7788 (sh_loop_align): Honour align_loops_log.
7789
7790 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
7791 to check for indirect_jump_scratch.
7792 (indirect_jump_scratch): Add second set.
7793 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
7794 when looking for indirect_jump_scratch.
7795 Extract scratch register taking new structure of indirect_jump_scratch
7796 into account.
7797 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
7798
62c9aa5f 77992003-03-03 Jan Hubicka <jh@suse.cz>
f7da1e9a 7800
09e2bf48
JH
7801 * calls.c (rtx_for_function_call): Take the address as an argument
7802 (expand_call): Do not modify the expression.
7803
f7da1e9a
JH
7804 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
7805 optimizing.
7806
426ace7f
KH
78072003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7808
7809 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
7810 TARGET_H8300H and TARGET_H8300S.
7811
6967a126
KH
78122003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7813
7814 * config/h8300/h8300.md (a peephole2): New.
7815
1f7e8790
KH
78162003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7817
7818 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
7819 operands[0] and operands[1] are different.
7820
78212003-03-03 Kazu Hirata <kazu@cs.umass.edu>
2807791e
KH
7822
7823 * reload1.c (reload_cse_move2add): Remove variable success.
7824
a2581175
KG
78252003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7826
7827 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
7828 warnings.
7829
ef1ecf87
RH
78302003-03-02 Richard Henderson <rth@redhat.com>
7831
7832 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
7833 * config.in, configure: Rebuild.
7834 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
9a79ab7e 7835 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
ef1ecf87
RH
7836 paired ldtoffx and ldxmov annotations.
7837 (load_symptr_internal1): Remove.
7838 (load_symptr_high, load_symptr_low): New.
7839
82f6e3eb
NB
78402003-03-02 Neil Booth <neil@daikokuya.co.uk>
7841
7842 * c-incpath.c (add_path): Fix sysp assignment.
7843
bc522472
KG
78442003-03-02 Kurt Garloff <garloff@suse.de>
7845
7846 * params.def: Introduce parameter max-inline-insns-rtl for
7847 a separate limit for the RTL inliner.
7848 * params.h: Likewise.
7849 * integrate.c (function_cannot_inline_p): Use it.
9a79ab7e 7850 * toplev.c (decode_f_option): Set multiple parameters
bc522472
KG
7851 controlling inlining with -finline-limit.
7852 * params.def: Fix orthographic and typographic errors.
7853 * doc/invoke.texi: Document parameters controlling inlining
7854 and the way -finline-limit sets multiple of them.
7855
7856 * tree.h (struct tree_decl): Introduce inlined_function_flag,
7857 recording whether the function became eligible for inlining
7858 by a compiler flag rather than the declaration.
7859 Provide DID_INLINE_FUNC macro to access it.
7860 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
7861 * cp/decl.c (grokfndecl): Likewise.
7862 * toplev.c (rest_of_compilation): Likewise.
7863 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
7864 * print-tree.c (print_node): Report it.
7865 * params.def: Introduce new max-inline-insns-auto limit.
7866 * params.h: Likewise.
7867 * tree-inline.c (inlinable_function_p): Apply it to functions
7868 with DID_INLINE_FUNC set.
7869 * toplev.c (decode_f_option): Initialize it from -finline-limit
7870 value.
7871 * doc/invoke.texi: Document new parameter.
7872
b9f4b20a
GK
78732003-03-02 Geoffrey Keating <geoffk@apple.com>
7874
7875 * fix-header.c (read_scan_file): Don't reference simplify_path.
7876
97d322cc
SC
78772003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7878
7879 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
7880 min/max instructions by default as may result in reload errors.
7881
65fb64fe
SC
78822003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7883
7884 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
7885 avoid reload problems; define split for it.
7886
b45e9837
SC
78872003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7888
7889 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
7890 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
7891 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
9a79ab7e 7892 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
b45e9837
SC
7893 rotatert and rotate.
7894 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
7895 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
7896 ("*rotrhi3_addr"): New split for shift insns on address register.
7897 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
7898 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
7899 (___rotrhi3): Likewise.
7900 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
7901
b1cbe78c
NB
79022003-03-02 Neil Booth <neil@daikokuya.co.uk>
7903
7904 * toplev.c (aux_base_name): Moved from toplev.h.
7905 (filename): Constify.
7906 (lang_dependent_init): Don't duplicate name.
7907 (process_options): Set aux_base_name here, not...
7908 (do_compile): ...here. Change protoype.
7909 (toplev_main): Move some code from do_compile.
7910 * toplev.h: Remove aux_base_name.
7911
b059c02a
KH
79122003-03-02 Kazu Hirata <kazu@cs.umass.edu>
7913
7914 * config/h8300/h8300-protos.h: Add a prototype for
7915 iorxor_operator.
7916 * config/h8300/h8300.c (print_operand): Handle 'c'.
7917 (iorxor_operator): New.
7918 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
7919 * config/h8300/h8300.md (*iorhi3_zext): Remove.
7920 (*iorsi3_zexthi): Likewise.
7921 (*iorsi3_zextsi): Likewise.
7922 (*xorhi3_zextqi): Likewise.
7923 (*xorsi3_zexthi): Likewise.
7924 (*xorsi3_zextsi): Likewise.
7925 (*ixorhi3_zext): New.
7926 (*ixorsi3_zext_qi): Likewise.
7927 (*ixorsi3_zext_hi): Likewise.
7928
986b1f13
NB
79292003-03-02 Neil Booth <neil@daikokuya.co.uk>
7930
7931 * c-incpath.c (remove_component_p, simplify_path): Move back to
7932 cppfiles.c.
7933 (remove_duplicates): Use cpp_simplify_path.
7934 * c-incpath.h (simplify_path): Remove.
7935 * c-lex.c: Don't include c-incpath.h.
7936 (init_c_lex): Remove simplify_path.
7937 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
7938 (find_or_create_entry, validate_pch): Revert.
7939
8a035a6b
AH
79402003-03-02 Ashif Harji <asharji@uwaterloo.ca>
7941
7942 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
7943 an external cpp during compilation.
7944 (option_map): Likewise.
7945 * objc/lang-specs.h (default_compilers): Similarly.
7946 * doc/invoke.texi: Document -no-integrated-cpp flag.
7947
23cdb465
KH
79482003-03-02 Kazu Hirata <kazu@cs.umass.edu>
7949
7950 * config/h8300/h8300.md (zero_extendqisi2): Change to an
7951 expander.
7952 (*zero_extendqisi2_h8300): New.
7953 (*zero_extendqisi2_h8300hs): New.
7954 (two splitters): New.
7955
29efb633
KG
79562003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7957
7958 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
7959
36bf3f1b
KH
79602003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7961
7962 * config/h8300/h8300.md (a peephole2): Remove dead code.
7963
08291658
RS
79642003-03-01 Roger Sayle <roger@eyesopen.com>
7965
7966 PR c++/9367
7967 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
7968 (BT_FN_INT_CONST_STRING_VALIST_ARG,
7969 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
7970 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
7971 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
7972 BT_FN_INT_STRING_CONST_STRING_VAR,
7973 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
7974 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
7975 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
7976 ATTR_NONNULL_3): Also include the nothrow attribute.
7977 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
7978 vsnprintf, vscanf, vsscanf): Don't define attributes here.
7979 * builtins.def (putchar, puts): Make full C89 built-ins.
7980 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
7981 vsscanf, vsnprintf, vsprintf): New built-ins.
7982 * c-common.c (c_common_nodes_and_builtins): Handle new macro
7983 DEF_FUNCTION_TYPE_VAR_3.
7984
7985 * doc/extend.texi: Document these new built-in functions.
7986
e5258f85
KH
79872003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7988
7989 * config/h8300/h8300.md (a peephole2): New.
7990
85bb9c2a
RE
79912003-03-01 Richard Earnshaw <rearnsha@arm.com>
7992
7993 * predict.c (estimate_bb_frequencies): Correctly set
7994 real_values_initialized after initialization.
7995
5793b276
NB
79962003-03-01 Neil Booth <neil@daikokuya.co.uk>
7997
7998 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
7999 cppinit.o, cppdefault.o, fix-header): Update.
8000 * c-incpath.c: New file.
8001 * c-incpath.h: New file.
8002 * c-lex.c: Include c-incpath.h.
8003 (init_c_lex): Register path simplifier.
8004 * c-opts.c: Include cppdefault.h and c-incpath.h.
8005 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
8006 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
8007 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
8008 (missing_arg, c_common_decode_option): Handle them.
8009 (c_common_post_options): Register include chains.
8010 (print_help): Update.
8011 * cppdefault.h (struct default include): Update.
8012 Move some macros to ...
8013 * cppdefault.c: ... here.
8014 (cpp_include_defaults): Add extra field add_sysroot.
8015 * cppfiles.c (include_file, search_from, find_or_create_entry,
8016 cpp_included, find_include_file, remap_filename): Update for
8017 renaming of search_path to cpp_path, and of the chain headers.
8018 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
8019 * cpphash.h (struct search_path): Move to cpplib.h.
8020 (struct cpp_buffer, struct cpp_reader): Update.
8021 (_cpp_simplify_pathname): Remove.
8022 * cppinit.c: Don't include prefix.h and cppdefault.h.
8023 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
8024 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
8025 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
8026 no_pth, cpp_handle_options): Remove.
8027 (struct pending_option): Remove chain members.
8028 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
8029 cpp_handle_option): Update.
8030 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
8031 (struct cpp_options): Remove quote_include, bracket_include,
8032 include_prefix, include_prefix_len, verbose, ignore_srcdir,
8033 no_standard_includes, no_standard_cplusplus_includes.
8034 (struct cpp_callbacks): Add simplify_path.
8035 (cpp_handle_options): Remove.
8036 * fix-header.c: Include c-incpath.h.
8037 (read_scan_file): Update to use c-incpath functionality.
8038 * doc/passes.texi: Update.
8039
6620997b
KH
80402003-03-01 Kazu Hirata <kazu@cs.umass.edu>
8041
8042 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
8043 satisfies EXTRA_CONSTRAINT 'U'.
8044
82b4dc2e
KH
80452003-03-01 Kazu Hirata <kazu@cs.umass.edu>
8046
8047 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
8048 register.
8049 (*tst_extzv_memqi_1_n): Change to a splitter.
8050 (a peephole2): Update.
8051
c4f6b78e
RE
80522003-03-01 Richard Earnshaw <rearnsha@arm.com>
8053
8054 * predict.c (estimate_bb_frequencies): Initialize the sreal
8055 constants once per compilation.
8056
9552a3e3
RH
80572003-02-28 Richard Henderson <rth@redhat.com>
8058
8059 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
8060
73c68f61
SS
80612003-02-28 scott snyder <snyder@fnal.gov>
8062
8063 * flags.h: Add flag_eliminate_unused_debug_types.
8064 * toplev.c: Add flag_eliminate_unused_debug_types.
8065 (f_options): Add -feliminate-unused-debug-types.
8066 * dwarf2out.c (struct file_table): Add emitted member.
8067 (splice_child_die): Fix the parent pointer for the child being
8068 spliced.
8069 (lookup_filename): Maintain file_table.emitted array. Don't
8070 output .file directive here.
8071 (maybe_emit_file): (new)
8072 (init_file_table): Set up file_table.emitted.
8073 (dwarf2out_source_line): Use maybe_emit_file.
8074 (dwarf2out_start_source_file): Use maybe_emit_file.
8075 (dwarf2out_init): Use maybe_emit_file.
8076 (prune_unused_types_walk_attribs): (new)
8077 (prune_unused_types_mark): (new)
8078 (prune_unused_types_walk): (new)
8079 (prune_unused_types_prune): (new)
8080 (prune_unused_types): (new)
8081 (dwarf2out_finish): Call prune_unused_types if
8082 flag_eliminate_unused_debug_types is set.
8083 * doc/invoke.texi (Option Summary): Add
8084 -feliminate-unused-debug-types.
8085 (Debugging Options): Likewise.
8086
d8fad4ea
GK
80872003-02-28 Geoffrey Keating <geoffk@apple.com>
8088
8089 * doc/invoke.texi: Change .pch to .gch.
8090 * cppfiles.c (open_file_pch): Likewise.
8091 * gcc.c (default_compilers): Likewise.
8092
9855905c
AH
80932003-02-28 Aldy Hernandez <aldyh@redhat.com>
8094
52999738 8095 * floatlib.c: Remove.
9855905c 8096
3695c25f
JM
80972003-02-28 Jason Merrill <jason@redhat.com>
8098
8099 * stor-layout.c (variable_size): Leave a "minus 1" outside the
8100 SAVE_EXPR.
8101
f8f0e566
DE
81022003-02-28 David Edelsohn <edelsohn@gnu.org>
8103
8104 * config/rs6000/power4.md: Add compare bypass.
8105
35501efe
JT
81062003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
8107
8108 * config/netbsd.h: Update copyright years.
8109 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
8110 -pthread is specified on the command line.
8111
8f7ee471
DJ
81122003-02-28 Dale Johannesen <dalej@apple.com>
8113
52999738 8114 * loop.c (struct movable): Add insert_temp, shrink savemode.
8f7ee471 8115 (scan_loop): Accept invariants that require copying; mark as
52999738 8116 insert_temp.
8f7ee471
DJ
8117 (combine_movables): Don't combine insert_temp movables.
8118 (move_movables): Insert copies for insert_temp movables.
8119 Don't record the info based on regno for insert_temp's.
8120
67c2b45f
JS
81212003-02-28 Joel Sherrill <joel@OARcorp.com>
8122
8123 PR 9638/other
9a79ab7e 8124 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
67c2b45f
JS
8125 this constant defaults to 1.
8126
066f1538
BW
81272003-02-28 Bob Wilson <bob.wilson@acm.org>
8128
8129 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
8130
b8c53e96
RE
81312003-02-28 Richard Earnshaw <rearnsha@arm.com>
8132
9a79ab7e 8133 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
b8c53e96
RE
8134 ARMv5e processor, not just for XScale. Instructions are predicable.
8135 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
8136
b93828f3
NC
81372003-02-28 Nick Clifton <nickc@redhat.com>
8138
8139 * config/arm/arm.c (note_invalid_constants): Change parameter type
8140 from bool to int.
8141
3c042316
KH
81422003-02-28 Kazu Hirata <kazu@cs.umass.edu>
8143
8144 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
8145 test of bit 7.
8146 (*tst_extzv_memqi_1_n): Likewise.
8147 (a peephole2): New.
8148
c876997f 81492003-02-28 Richard Sandiford <rsandifo@redhat.com>
28727f1f
RS
8150
8151 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
8152 #ifndef __mips16.
8153
62c9aa5f 81542003-02-28 Jan Hubicka <jh@suse.cz>
10a3fdd9
JH
8155
8156 * combine.c (gen_lowpart_for_combine): Update handling of
8157 subregs_of_mode
8158 * flow.c (life_analysis, mark_used_regs): Likewise.
8159 * regclass.c (subregs_of_mode): Turn into single bitmap.
8160 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
8161 dealing with subregs_of_mode
8162 * regs.h (subregs_of_mode): Update prototype.
8163
9d18e06b
JZ
81642003-02-28 Josef Zlomek <zlomekj@suse.cz>
8165
8166 * emit-rtl.c (set_reg_attrs_for_parm): New function.
8167 * rtl.h (set_reg_attrs_for_parm): New exported function.
8168 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
8169 set_reg_attrs_from_mem.
8170
95456d43
RS
81712003-02-27 Roger Sayle <roger@eyesopen.com>
8172 Zack Weinberg <zack@codesourcery.com>
8173
8174 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
8175
28ae9fed
KH
81762003-02-27 Kazu Hirata <kazu@cs.umass.edu>
8177
8178 * reload1.c (sext_for_mode): Remove.
8179 (reload_cse_move2add): Use trunc_int_for_mode instead of
8180 sext_for_mode.
8181 (move2add_note_store): Likewise.
8182 Reset register information if we see a set in non-integer
8183 mode.
8184
d47719fd
DE
81852003-02-27 David Edelsohn <edelsohn@gnu.org>
8186
30e7f17e
DE
8187 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
8188 option.
8189 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
8190 * config/rs6000/aix51.h: Same.
8191 * config/rs6000/aix52.h: Same.
d47719fd
DE
8192 * config/rs6000/power4.md: Additional VMX bypasses.
8193
7a69a172
GB
81942003-02-27 Geert Bosch <bosch@gnat.com>
8195
8196 * toplev.c (print_version): Add indentation for GGC heuristics and
8197 output after printing version information.
8198
678e68fc
JW
81992003-02-27 James E Wilson <wilson@tuliptree.org>
8200
8201 * combine.c (simplify_comparison): Require integral mode when
8202 permuting SUBREG with AND.
8203
986704f1
SE
82042003-02-27 Steve Ellcey <sje@cup.hp.com>
8205
8206 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
8207
1e3af7f6
NC
82082003-02-27 Nick Clifton <nickc@redhat.com>
8209
8210 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
8211 deleted when cirrus instructions were added.
8212
51b7c247
JT
82132003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
8214
8215 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
8216 POSIX thread support by default.
8217
3eae722d
RS
82182003-02-27 Roger Sayle <roger@eyesopen.com>
8219
8220 * config/i386/cygwin.h: Don't include any other files directly.
8221 * config/i386/mingw32.h: Don't include cygwin.h directly.
8222 * config.gcc (cygwin, mingw32, uwin): Instead make these files
8223 explicit in the tm_files variable.
8224
6fc19dc9
AM
82252003-02-27 Alan Modra <amodra@bigpond.net.au>
8226
8227 * config/rs6000/rs6000.md: Add TI constant splitter.
8228
c41536f5
AO
82292003-02-26 Alexandre Oliva <aoliva@redhat.com>
8230
65c04548
AO
8231 * builtins.c (purge_builtin_constant_p): Handle subreg of
8232 constant_p_rtx too.
8233
c41536f5
AO
8234 * function.c (assign_stack_local_1): Truncate constant added to
8235 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
8236
dccd5213
DE
82372003-02-26 David Edelsohn <edelsohn@gnu.org>
8238
8239 * config.gcc: Add power4 to PowerPC with_cpu list.
8240
62c9aa5f 82412003-02-26 Jan Hubicka <jh@suse.cz>
47a5d8e7
JH
8242
8243 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
8244
cb9e4555
ZD
82452003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8246
8247 * gcov-dump.c (print_prefix): Fix signedness warning.
8248 * gcov-io.h (struct counter_section, struct counter_section_data): New.
8249 (struct function_info): n_arc_counts field removed, n_counter_sections,
8250 counter_sections fields added.
8251 (struct gcov_info): arc_counts, n_arc_counts fields removed,
8252 n_counter_sections, counter_sections fields added.
8253 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
8254 profile sections.
8255 * profile.h (MAX_COUNTER_SECTIONS): New.
8256 (struct section_info): New.
8257 (struct profile_info): count_instrumented_edges,
8258 count_edges_instrumented_now fields removed, n_sections, section_info
8259 fields added.
8260 (find_counters_section): Declare.
8261 * profile.c (struct function_list): count_edges field removed,
8262 n_counter_sections, counter_sections fields added.
8263 (set_purpose, label_for_tag, build_counter_section_fields,
8264 build_counter_section_value, build_counter_section_data_fields,
8265 build_counter_section_data_value, build_function_info_fields,
8266 build_function_info_value, build_gcov_info_fields,
8267 build_gcov_info_value): New static functions.
8268 (find_counters_section): New function.
8269 (instrument_edges, get_exec_counts, compute_branch_probabilities,
8270 branch_prob, create_profiler): Modified to support multiple profile
8271 sections.
8272
b0d7ef9a
JDA
82732003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8274
8275 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
8276 is 8 * STACK_BOUNDARY.
8277 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
8278
f6e91562
MM
82792003-02-26 Michael Matz <matz@suse.de>
8280
8281 * ra-colorize.c (merge_moves): Fix list handling.
8282
f0375c66
NC
82832003-02-26 Nick Clifton <nickc@redhat.com>
8284
8285 * config/arm/arm.c (is_load_address): Rename to...
52999738
ZW
8286 (arm_memory_load_p) ... this and make it check for SUBREGs and
8287 constant loads that will be converted into loads from the
8288 minipool.
8289 (is_cirrus_insn): Rename to ...
8290 (arm_cirrus_insn_p): ... this, for consistency. Replace test
8291 of CIRRUS_NO with CIRRUS_NOT.
8292 (cirrus_reorg): Use renamed functions.
8293 (note_invalid_constants): Change from a void function to bool.
8294 Add an extra parameter, saying whether the fixups should be
8295 pushed. Return true if fixups are needed.
8296 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
8297 of CIRRUS_NO with CIRRUS_NOT.
8298 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
8299 other floating point co-processors can also affect this.
8300 * config/arm/arm.md ("type" attribute): Add mav_farith and
8301 mav_dmult. Replace references to "cirrus_type" attribute with
8302 "type".
8303 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
8304 ("cirrus_type" attribute): Delete - use "type" instead.
8305 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
8306 'normal'.
f0375c66 8307
62c9aa5f 83082003-02-25 Jan Hubicka <jh@suse.cz>
0d446150
JH
8309
8310 * objc-act.c: Include cgraph.h
8311 (mark_referenced_methods): New function.
8312 (objc_init): Call it.
8313 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
8314
8315 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
8316 mode.
8317
8318 * optabs.c (expand_fix): Do not widen the input operand.
8319
8320 * expr.c (emit_group_store): Fix crash when converting single
8321 register into complex register.
8322
8323 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
8324 * alias.c: Include timevar.h
8325 (init_alias_analysis): Set timevar
8326 * jump.c: Include timevar.h
8327 (rebuild_jump_labels): Set timevar
8328 * regcalss.c: Include timevar.h
8329 (reg_scan): Set timevar
8330 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
8331
b17d5d7c
ZD
83322003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8333
8334 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
8335
8336 * Makefile.in (loop-unroll.o): New.
8337 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
8338 (unroll_and_peel_loops): Declare.
8339 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
8340 flag_old_unroll_loops.
8341 * loop.c (loop_invariant_p): Ditto.
8342 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
8343 flag_old_unroll_all_loops.
8344 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
8345 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
8346 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
8347 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
8348 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
8349 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
8350 PARAM_MAX_ONCE_PEELED_INSNS): New.
8351 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
8352 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
8353 instead of old one.
8354 (flag_peel_loops): New.
8355 (lang_independent_options): The new flags added.
8356 (rest_of_compilation): Call new unroller.
8357 (process_options): Setup flags for coexistence of old and new unroller.
8358 * doc/invoke.texi: Document new options.
8359 * doc/passes.texi: Document new unroller pass.
8360
244f7aa9
DB
83612003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
8362
8363 * fixinc/fixincl.x: Regenerate
8364
1d14f992
JZ
83652003-02-26 Josef Zlomek <zlomekj@suse.cz>
8366
8367 * function.c (assign_parms): Set reg_attrs for parameters passed in
8368 registers.
8369
8ace9f18
AM
83702003-02-26 Alan Modra <amodra@bigpond.net.au>
8371
38a84391 8372 PR target/9681
8ace9f18
AM
8373 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
8374
9a29ee42
DE
83752003-02-25 David Edelsohn <edelsohn@gnu.org>
8376
8377 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
8378 pseudo-op.
8379
8beccec8
RS
83802003-02-25 Roger Sayle <roger@eyesopen.com>
8381
8382 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
8383 * cse.c (invalidate_skipped_set): Likewise.
8384 * integrate.c (subst_constants): Likewise.
8385 * jump.c (reversed_comparison_code_parts): Likewise.
8386 * loop.c (canonicalize_condition): Likewise.
8387 * simplify-rtx.c (simplify_relational_operation): Likewise.
8388
b052d8ee
RS
83892003-02-25 Roger Sayle <roger@eyesopen.com>
8390
8391 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
8392 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
8393 the appropriate macro to define built-in function.
8394 (fmod,fmodf,fmodl): New built-in functions.
8395
8396 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
8397
8d454008
RH
83982003-02-25 Richard Henderson <rth@redhat.com>
8399
8400 * config/i386/i386.c (function_arg): Pass variable sized
8401 structures correctly on the stack.
8402
fc943f55
KH
84032003-02-25 Kazu Hirata <kazu@cs.umass.edu>
8404
8405 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
8406 does not reduce the cost of SET.
8407
14f00213
FS
84082003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8409
8410 PR target/9732
8411 * config/rs6000/rs6000.c (first_reg_to_save): Handle
8412 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
8413 (rs6000_emit_prologue): Likewise.
8414 (rs6000_emit_epilogue): Likewise.
8415 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
8416 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
8417
8164b171
RH
84182003-02-25 Richard Henderson <rth@redhat.com>
8419
8420 * real.c (real_to_integer2): Force overflow result only for
8421 unsigned overflow.
8422
9e48c409
KH
84232003-02-25 Kazu Hirata <kazu@cs.umass.edu>
8424
8425 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
8426
3044064c 84272003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
52999738 8428 Richard Henderson <rth@redhat.com>
3044064c
VM
8429
8430 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4e21585b 8431 there is no similar load.
3044064c 8432
15aab9c0 84332003-02-25 Vladimir Makarov <vmakarov@redhat.com>
52999738 8434 Richard Henderson <rth@redhat.com>
15aab9c0
VM
8435
8436 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
8437 sched-rgn.c.
8438 (add_forward_dependence): New function prototype.
8439
8440 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
8441 sched-init.h.
8442 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
8443 them to haifa-sched.c.
8444
8445 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
8446 haifa_classify_insn): Move them from sched-rgn.c.
8447
8448 * sched-deps.c (add_dependence): Return flag of creating a new
8449 entry.
8450 (add_forward_dependence): New function.
8451 (compute_forward_dependences): Use the function.
9a79ab7e 8452
15aab9c0
VM
8453 * sched-ebb.c (earliest_block_with_similiar_load): New function.
8454 (add_deps_for_risky_insns): New function.
8455 (schedule_ebb): Call the function.
8456
84572003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9 8458
52999738
ZW
8459 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
8460 TARGET_VECTOR_OPAQUE_P. Document accordingly.
c8e4f0e9 8461
52999738
ZW
8462 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
8463 opaque types fail.
c8e4f0e9 8464
52999738
ZW
8465 * c-typeck.c (comptypes): Change call to vector_types_compatible
8466 to vector_opaque_p.
8467 (convert_for_assignment): Call vector_opaque_p instead of
8468 vector_types_compatible.
8469 (really_start_incremental_init): Disallow initialization of opaque
8470 types.
c8e4f0e9 8471
52999738
ZW
8472 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
8473 Define TARGET_VECTOR_OPAQUE_P.
8474 (TARGET_INITIALIZER): Same.
c8e4f0e9 8475
52999738
ZW
8476 * target.h (struct gcc_target): Remove vector_types_compatible.
8477 Add vector_opaque_p.
c8e4f0e9 8478
52999738
ZW
8479 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
8480 Remove.
8481 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
8482 a vector type. Change return type to bool.
8483 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
8484 (TARGET_VECTOR_OPAQUE_P): Define.
c8e4f0e9 8485
52999738
ZW
8486 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
8487 target hook.
8488 Include target.h.
8489 (cp_parser_init_declarator): Fix typo in function comments.
c8e4f0e9 8490
62c9aa5f 84912003-02-25 Jan Hubicka <jh@suse.cz>
fa1a0d02
JH
8492
8493 * Makefile.in (lcm.o): Add dependency on function.h
8494 * lcm.c (function.h): Include.
8495 * i386.c (machine_function, ix86_stack_locals,
8496 * ix86_save_varrargs_registers) : Move to
8497 ...
8498 * i386.h (machine_function, ix86_stack_locals,
8499 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
8500 (ix86_optimize_mode_switching): New.
8501 * i386.md (fix patterns): Set ix86_optimize_mode_switching
8502
b103bfef
NC
85032003-02-25 Nick Clifton <nickc@redhat.com>
8504
8505 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
8506 of fourth arg is 'fndecl' not 'indirect'. Update comment
8507 describing the function's parameters.
8508
62c9aa5f 85092003-02-24 Jan Hubicka <jh@suse.cz>
2d21f7d6
JH
8510
8511 * combine.c (simplify_shift_const): Fix previous patch.
8512
2bac97f7
JL
85132003-02-24 Jeff Law <law@redhat.com>
8514
8515 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
8516 alternative.
8517 (testsi_1, testhi_1, testqi_1): Likewise.
8518
f8dc212b
RO
85192003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8520
8521 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
8522 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
8523 * doc/extend.texi (Tru64 Pragmas): Reflect this.
8524
8525 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
9a79ab7e 8526 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
f8dc212b
RO
8527 * fixinc/fixincl.x: Regenerate.
8528 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
8529 testcase.
8530 Fixes PR c/5059, c/6126, other/9671.
9a79ab7e 8531
44ee6e9e
RS
85322003-02-24 Roger Sayle <roger@eyesopen.com>
8533
8534 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
8535 from handle_braces in "%{...}".
8536
463f02cd
KK
85372003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
8538
8539 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
8540 (prepare_move_operands): Handle TLS operands.
8541 (tls_symbolic_operand): New.
8542 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
8543 (legitimize_pic_address): Do nothing for the TLS symbol.
8544 (sh_encode_section_info): Handle TLS case.
8545 (sh_strip_name_encoding): Drop TLS encoding.
8546 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
8547 * config/sh/sh.h (SH_TLS_ENCODING): Define.
8548 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
8549 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
8550 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
8551 * config/sh/sh.md: Define TLS UNSPEC constants.
8552 (type): Add tls_load.
8553 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
8554 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
8555 ("tls_initial_exec"): New insn.
8556 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
8557 ("load_gbr"): New insn.
8558
8559 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
52999738 8560 * configure: Regenerate.
463f02cd 8561
8403445a
AM
85622003-02-24 Alan Modra <amodra@bigpond.net.au>
8563
6fc19dc9 8564 PR 9297, PR 9722
8403445a
AM
8565 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
8566 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
8567 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
8568 (enum block_op_methods): Reorder for better store_expr optimization.
8569 * expr.c (store_expr): Test bit 1 of "want_value" for call param
8570 stores, test bit 0 for original want_value meaning. Pass
8571 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
8572 recursive calls, and calls to expand_param.
8573 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
8574 expected, set target to 0 rather than to subtarget. Formatting.
8575
ef906381
KH
85762003-02-23 Kazu Hirata <kazu@cs.umass.edu>
8577
8578 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
8579
16226f1e
KG
85802003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8581
8582 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
8583 new default behavior.
8584 * ggc-common.c: Include sys/resource.h.
8585 (ggc_rlimit_bound): New function.
8586 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
8587 defaults to account for rlimits.
8588
9e555526
RH
85892003-02-22 Richard Henderson <rth@redhat.com>
8590
8591 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
8592
85932003-02-22 Kelley Cook <kelley@dwhoops.info>
8594
52999738 8595 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
9e555526
RH
8596 (ix86_tune_string): Rename from ix86_cpu_string.
8597
9d913bbf
KC
85982003-02-22 Kelley Cook <kelleycook@comcast.net>
8599
52999738
ZW
8600 * config/i386/i386.c: Replace "mcpu" with "mtune".
8601 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
8602 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
8603 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
8604 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
9d913bbf 8605
d2c172bf
AS
86062003-02-23 Andreas Schwab <schwab@suse.de>
8607
8608 * config.gcc: Delete references to m68k/t-linux and
8609 m68k/t-linux-aout.
8610 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
8611
62c9aa5f 86122003-02-22 Jan Hubicka <jh@suse.cz>
b3de7382
JH
8613
8614 * toplev.c (rest_of_compilation): Apply fotgotten hunk
8615 of track scheduling patch.
8616
62c9aa5f 86172003-02-22 Jan Hubicka <jh@suse.cz>
90b8be73
JH
8618
8619 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
8620 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
8621
62c9aa5f 86222003-02-22 Jan Hubicka <jh@suse.cz>
764c4414
JH
8623
8624 * c-decl.c (c_expand_body_1): Fix.
8625
62c9aa5f 86262003-02-22 Jan Hubicka <jh@suse.cz>
1c4a429a
JH
8627
8628 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
8629
8630 * cfgcleanup.c (try_forward_edges): Don't check loop structures
8631 when not optimizing.
8632 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
8633 when not expensive.
8634 * toplev.c (rest_of_compilation): Duplicate loop headers only when
8635 optimizing; Delete trivially dead insns early; fix optimize check.
8636
8637 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
8638 dependency on cgraph.h
8639 * c-decl.c: Include cgraph.h
8640 (finish_function): Update call of tree_inlinable_function_p.
8641 * c-objc-common.c: Include cgraph.h
8642 * cgraph.h: New file.
8643 * cgraphunit.c: New file.
8644 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
8645 (cgraph_nodes, cgraph_n_nodes): Globalize.
8646 (cgraph_finalize_function, cgraph_finalize_compilation_unit
8647 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
8648 Move into cgraphunit.c
8649 * tree-inline.c: Include cgraph.h
8650 * tree-inline.c: Include cgraph.h
8651
1e2115dc
JZ
86522003-02-22 Josef Zlomek <zlomekj@suse.cz>
8653
8654 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
8655 for copying a register.
8656
26182e15
SB
86572003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
8658
8659 PR other/3782
8660 * toplev.c (process_options): If flag_detailed_statistics is set,
8661 then set time_report as well.
8662
b6553814
SB
8663 PR c/8828
8664 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
8665 insns. Update comments to reflect what the function really does.
8666
c0a47a61
RS
86672003-02-21 Roger Sayle <roger@eyesopen.com>
8668
8669 * fold-const.c (omit_one_operand): No longer static.
8670 * tree.h (omit_one_operand): Prototype here.
8671 (div_and_round_double): Keep fold-const.c prototypes together.
8672 * builtins.c (builtin_mathfn_code): Handle binary built-in
8673 funtions, such as "pow" and "atan2".
8674 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
8675 Simplify optimizations using "type" the builtin's return type.
8676
51928907
HPN
86772003-02-22 Hans-Peter Nilsson <hp@axis.com>
8678
5b296d93
HPN
8679 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
8680 Fix functionalization typo.
8681
51928907
HPN
8682 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
8683 in an asm.
8684
9ac121af
KG
86852003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8686
8687 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
8688 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
8689 documentation.
8690 * ggc-common.c: Include params.h
8691 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
8692 init_ggc_heuristics): New functions.
8693 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
8694 init_ggc_heuristics): Prototype.
8695 * toplev.c (print_version): Output GGC heuristics.
8696 (parse_options_and_default_flags): Call init_ggc_heuristics.
8697
62c9aa5f 86982003-02-22 Jan Hubicka <jh@suse.cz>
453ee231
JH
8699
8700 * i386.c (def_builtin): Special case 64bit builtins.
8701 (MASK_SSE164, MASK_SSE264): New constants.
8702 (builtin_description): Add 64bit builtins.
8703 (ix86_init_mmx_sse_builtins): Likewise.
8704 * i386.h (enum ix86_builtins): Likewise.
8705 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
8706 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
8707 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
8708 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
8709 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
8710 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
8711 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
8712
62c9aa5f 87132003-02-22 Jan Hubicka <jh@suse.cz>
d50672ef
JH
8714
8715 * i386.c (builtin_description): Add __builtin_ia32_paddq and
8716 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
8717 and __builtin_ia32_psubq128.
8718 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
8719 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
8720 (mmx_adddi3, mmx_subdi3): New.
8721 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
8722 * xmmintrin.h (_mm_movepi64_pi64): New.
8723 (_mm_add_epi64, _mm_sub_epi64): fix.
8724 (_mm_mul_pu16): Rename to...
8725 (_mm_mul_su32): ... this one.
8726
8727 * builtins.c (expand_builtin_expect): Do not predict
8728 flag_guess_branch_prob is not set.
8729 * c-semantics.c (expand_stmt): Likewise.
8730 * predict.c (predict_insn): Likewise.
8731 * stmt.c (expand_continue_loop): Likewise.
8732 * toplev.c (rest_of_compilation): Do not call
8733 note_prediction_to_br_prob and note_prediction_to_br_prob
8734 when not optimizing.
8735
62c9aa5f 87362003-02-21 Jan Hubicka <jh@suse.cz>
9809a362
JH
8737
8738 * cfgrtl.c (commit_edge_insertions): Call
8739 find_many_sub_basic_block only when some code has been emitted.
8740 (commit_edge_insertions_watch_calls): Bring into sync with
8741 commit_edge_insertions
8742
62c9aa5f 87432003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
a93d1ba2
R
8744
8745 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
8746
8747 * sh.md (binary_sf_op): Use extra constant operand instead of
8748 negating constant operand 4.
8749 * sh.c (sh_expand_binop_v2sf): Supply it.
8750
a8d0ddaf
ZW
87512003-02-21 Zack Weinberg <zack@codesourcery.com>
8752
8753 * cpphash.h (struct lexer_state): Add directive_wants_padding.
8754 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
8755 for directives of type INCL.
8756 (glue_header_name, parse_include): Use get_token_no_padding.
8757 * cppmacro.c (replace_args): If directive_wants_padding,
8758 provide padding tokens.
8759
902ac719
KH
87602003-02-21 Kazu Hirata <kazu@cs.umass.edu>
8761
8762 * config/h8300/h8300.md (a peephole2): New.
8763
62c9aa5f 87642003-02-21 Jan Hubicka <jh@suse.cz>
9dca2ad5
JH
8765
8766 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
8767 (commit_edge_insertions): Call find_many_sub_basic_blocks
8768
8769 * reg-stack.c (convert_regs): Cleax aux for blocks.
8770
62c9aa5f 87712003-02-21 Jan Hubicka <jh@suse.cz>
64465d27
JH
8772
8773 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
8774
9e7d0b92
GN
87752003-02-21 Glen Nakamura <glen@imodulo.com>
8776
8777 PR optimization/8613
8778 * builtins.c (expand_builtin): Emit postincrements before expanding
8779 builtin functions.
8780
a7582c8c
BE
87812003-02-21 Ben Elliston <bje@redhat.com>
8782
8783 PR other/5634
8784 * doc/install.texi (Configuration): Explain using $HOME instead of
8785 the ~ metacharacter when referring to home directories.
8786
91710e62
AO
87872003-02-20 Alexandre Oliva <aoliva@redhat.com>
8788
8789 * configure.in (TARGET_SYSTEM_ROOT): Set default to
8790 ${exec_prefix}/${target_alias}/sys-root. Match explicit
8791 '${exec_prefix}' (in addition to the expansion thereof) as
8792 relocatable.
8793 * configure: Rebuilt.
8794
d64f6f86
KH
87952003-02-20 Kazu Hirata <kazu@cs.umass.edu>
8796
8797 * config/h8300/h8300.md (addhi3_incdec): Change the name to
8798 *addhi3_incdec.
8799 (addsi3_incdec): Change the name to *addsi3_incdec.
8800
fd7acc30
RS
88012003-02-20 Roger Sayle <roger@eyesopen.com>
8802
8803 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
8804
1c2de642
TM
88052003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
8806
8807 PR fortran/9038
8808 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
8809 options to be ignored.
8810 (c_common_decode_option): Ignore them when preprocessing.
8811
62c9aa5f 88122003-02-20 Jan Hubicka <jh@suse.cz>
b9422b69 8813
fd7acc30
RS
8814 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
8815 global variables.
8816 (lang_independent_options): Add -fsched2-use-superblocks
8817 -fsced2-use-traces.
b9422b69
JH
8818 (rest_of_compilation): Deal with it.
8819 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
8820 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
8821 Declare.
b9422b69
JH
8822 * rtl.h (reg_to_stack): Update prototype.
8823 * reg-stack.c (reg_to_stack): Return when something has changed;
8824 update liveness when executing after superblock scheduling.
8825
8826 * combine.c (simplify_shift_const): Simplify few special cases
8827 into constants.
8828
a62bfff2
DE
88292003-02-20 David Edelsohn <edelsohn@gnu.org>
8830
8831 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
8832 (add.,subf.,neg.): Change attribute to fast_compare.
8833 All DFA descriptions updated.
8834
dbbf88d1
NS
88352003-02-20 Nathan Sidwell <nathan@codesourcery.com>
8836
8837 Change base class access representation.
8838 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
8839 TREE_VIA_PRIVATE): Remove.
8840 (BINFO_BASEACCESSES): New binfo elt.
8841 (BINFO_BASEACCESS): New accessor.
8842 (BINFO_ELTS): Increase.
8843 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
8844 (access_public_node, access_protected_node,
8845 access_private_node): New global nodes.
8846 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
8847 * dbxout.c (dbxout_type): Adjust.
8848 * dwarf2out.c (gen_inheritance_die): Add access parameter.
8849 (gen_member_die): Adjust.
8850 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
8851 (output_type): Adjust.
8852 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
8853
8854 Change base class access representation. Share virtual base
8855 binfos.
8856 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
8857 call.
8858 * cp/class.c (build_base_path): Likewise.
8859 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
8860 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
8861 (make_new_vtable): Adjust.
8862 (force_canonical_binfo_r): Delete.
8863 (force_canonical_binfo): Delete.
8864 (mark_primary_virtual_base): Delete.
8865 (dfs_unshared_virtual_bases): Delete.
8866 (mark_primary_bases): Adjust.
8867 (maybe_warn_about_overly_private_class): Adjust.
8868 (dfs_base_derived_from): Delete.
8869 (base_derived_from): Follow the inheritance chain.
8870 (struct find_final_overrider_data): Add vpath member.
8871 (dfs_find_final_overrider): Adjust.
8872 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
8873 (find_final_overrider): Adjust.
8874 (update_vtable_entry_for_fn): Adjust.
8875 (modify_all_vtables): Adjust.
8876 (walk_subobject_offsets): Adjust.
8877 (layout_nonempty_base_or_field): Adjust.
8878 (layout_empty_base): Remove last parameter. Adjust.
8879 (build_base_field): Adjust.
8880 (build_base_fields): Adjust.
8881 (propagate_binfo_offsets): Remove last parameter. Adjust.
8882 (dfs_set_offset_for_unshared_vbases): Delete.
8883 (layout_virtual_bases): Adjust.
8884 (finish_struct_1): Adjust.
8885 (init_class_processing): Don't init access nodes.
8886 (dfs_get_primary_binfo): Delete.
8887 (get_primary_binfo): Adjust.
8888 (dump_class_hierarchy_r): Remove most derived arg, add IGO
8889 parameter. Adjust.
8890 (dump_class_hierarchy): Adjust.
8891 (finish_vtbls): Adjust.
8892 (get_original_base): Delete.
8893 (build_vtt_inits): Adjust.
8894 (dfs_build_secondary_vptr_vtt_inits): Adjust.
8895 (dfs_ctor_vtable_bases_queue_p): Adjust.
8896 (build_ctor_vtbl_group): Adjust.
8897 (dfs_accumulate_vtbl_inits): Adjust.
8898 (build_vtbl_initializer): Adjust.
8899 (build_vbase_offset_vtbl_entries): Adjust.
8900 (add_vcall_offset_vtbl_entries_1): Adjust.
8901 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
8902 (access_*_node): Remove.
8903 (CANONICAL_BINFO): Delete.
8904 (BINFO_UNSHARED_MARKED): Remove.
8905 (BINFO_MARKED): Set LANG_FLAG_0 directly.
8906 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
8907 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
8908 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
8909 Delete.
8910 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
8911 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
8912 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
8913 Delete.
8914 (BINFO_DEPENDENT_BASE_P): New.
8915 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
8916 index.
8917 (markedp, unmarkedp): Adjust.
8918 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
8919 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
8920 find_vbase_instance, binfo_for_vbase): Delete.
8921 (copied_binfo, original_binfo): Declare.
8922 (finish_base_specifier): Add virtual_p arg.
8923 (unshare_base_binfos): Delete.
8924 (copy_base_binfos): Declare.
8925 (reverse_path): Delete.
8926 * cp/decl.c (xref_basetypes): Access and virtuality passed
8927 differently. Don't copy direct base binfos here. Call
8928 copy_base_binfos.
8929 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
8930 (initialize_vtbl_ptrs): Adjust.
8931 (expand_member_init): Adjust.
8932 * cp/parser.c (cp_parser_base_specifier): Adjust.
8933 * cp/pt.c (instantiate_class_template): Adjust.
8934 (get_template_base_recursive): Adjust.
8935 * cp/rtti.c (get_pseudo_ti_init): Adjust.
8936 (get_pseudo_ti_desc): Adjust.
8937 * cp/tree.c (unshare_base_binfos): Rename to ...
8938 (copy_base_binfos): ... here, reimplement.
8939 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
8940 (reverse_path): Remove.
8941 * cp/typeck.c (get_delta_difference): Adjust error messages.
8942 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
8943 * cp/search.c (lookup_base_r): Adjust.
8944 (dynamic_cast_base_recurse): Adjust.
8945 (canonical_binfo): Remove.
8946 (dfs_canonical_queue): Remove.
8947 (dfs_assert_unmarked_p): Remove.
8948 (assert_canonical_unmarked): Remove.
8949 (shared_marked_p, shared_unmarked_p): Remove.
8950 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
8951 (dfs_access_in_type): Adjust.
8952 (access_in_type): Adjust.
8953 (dfs_accessible_queue_p): Adjust.
8954 (dfs_accessible_p): Adjust.
8955 (is_subobject_of_p_1, is_subobject_of_p): Remove.
8956 (struct lookup_field_info): Remove from_dep_base_p field.
8957 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
8958 (lookup_field_r): Remove dependent base code.
8959 (lookup_member): Likewise.
8960 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
8961 (dfs_unmarked_real_bases_queue_p): Remove.
8962 (dfs_marked_real_bases_queue_p): Remove.
8963 (dfs_skip_vbases): Remove.
8964 (dfs_get_pure_virtuals): Adjust.
8965 (markedp, unmarkedp): Adjust.
8966 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
8967 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
8968 (dfs_unmark): Adjust.
8969 (dfs_get_vbase_types):Remove.
8970 (dfs_build_inheritance_graph_order): Remove.
8971 (get_vbase_types): Remove
8972 (dfs_find_vbase_instance): Remove.
8973 (find_vbase_instance): Remove.
8974 (dfs_debug_unmarkedp): Adjust.
8975 (dependent_base_p): Remove.
8976 (dfs_push_type_decls): Adjust.
8977 (dfs_push_decls): Adjust.
8978 (dfs_no_overlap_yet): Adjust.
8979 (copied_binfo): New function.
8980 (original_binfo): New function.
8981 (binfo_for_vbase): Remove.
8982
8983 Change base class access representation.
8984 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
8985 (add_interface_do): Likewise.
8986
6d6ab190
DE
89872003-02-20 David Edelsohn <edelsohn@gnu.org>
8988
a8d0ddaf
ZW
8989 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
8990 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
8991 insn reservations.
8992 (power4-fpstore): Compact.
8993
2dd5df7c
KH
89942003-02-20 Kazu Hirata <kazu@cs.umass.edu>
8995
8996 * config/h8300/h8300.md (*iorsi3_w): New.
8997
8fa08316
JZ
89982003-02-20 Josef Zlomek <zlomekj@suse.cz>
8999
9000 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
9001 * rtl.c (reg_note_name): Likewise.
9002 * rtl.h (enum reg_note): Likewise.
9003 * doc/invoke.texi: Likewise.
9004 * doc/rtl.texi: Likewise.
9005
c8717368
JZ
90062003-02-20 Josef Zlomek <zlomekj@suse.cz>
9007
9008 * bb-reorder.c (find_traces_1_round): Fix comment typo.
9009
3bc400cd
RS
90102003-02-19 Roger Sayle <roger@eyesopen.com>
9011
9012 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
9013 addition in the presence of signaling NaNs.
9014
b5a49c0b
KW
90152003-02-19 Krister Walfridsson <cato@df.lth.se>
9016
9017 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
9018
472f2723
KH
90192003-02-19 Kazu Hirata <kazu@cs.umass.edu>
9020
9021 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
9022 ORing with 0xffff??00 with the highest bit of the ?? part set.
9023 (compute_logical_op_length): Update.
9024 (compute_logical_op_cc): Likewise.
9025
6d9cc15b
JZ
90262003-02-19 Josef Zlomek <zlomekj@suse.cz>
9027
9028 * bb-reorder.c (find_traces_1_round): Fixed condition for small
9029 destination block with multiple predecessors.
9030 (connect_traces): Check whether the block is a start of trace.
9031
62c9aa5f 90322003-02-19 Jan Hubicka <jh@suse.cz>
563a317a
JH
9033
9034 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
9035 * function.c (assign_params): Likewise.
9036 * arm-protos.h (arm_init_cumulative_args): Update prototype.
9037 * arm.c (arm_init_cumulative_args): Update function.
9038 * arm.h (INIT_CUMULATIVE_ARGS): Update.
9039 * avr-protos.h (init_cumulative_args): Update prototype.
9040 * avr.c (init_cumulative_args): Update function.
9041 * avr.h (INIT_CUMULATIVE_ARGS): Update.
9042 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
9043 * d30v.c (d30v_init_cumulative_args): Update function.
9044 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
9045 * frv-protos.h (frv_init_cumulative_args): Update prototype.
9046 * frv.c (frv_init_cumulative_args): Update function.
9047 * frv.h (INIT_CUMULATIVE_ARGS): Update.
9048 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
9049 * pa.h (INIT_CUMULATIVE_ARGS): Update.
9050 * sparc-protos.h (init_cumulative_args): Update prototype.
9051 * sparc.c (init_cumulative_args): Update function.
9052 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
9053 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
9054
be9d08c2
KH
90552003-02-19 Kazu Hirata <kazu@cs.umass.edu>
9056
9057 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
9058 (*ashiftsi_sextqi_7): Likewise.
9059
f23147fe
RO
90602003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9061
9062 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
9063 ISO C99 and C++.
9064
9065 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
9066 for C++ on IRIX 6.5.1[89].
9067 * fixinc/tests/base/internal/sgimacros.h: New file.
9068
9069 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
9070 * fixinc/tests/base/internal/wchar_core.h: New file.
a8d0ddaf 9071
f23147fe
RO
9072 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
9073 socklen_t definition.
9074 * fixinc/fixincl.x: Regenerate.
9075 * fixinc/tests/base/sys/socket.h: New file.
9076 Fixes PR libgcj/9652.
9077
62c9aa5f 90782003-02-19 Jan Hubicka <jh@suse.cz>
30e4d9d4
JH
9079
9080 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
9081
2792d578
DE
90822003-02-19 David Edelsohn <edelsohn@gnu.org>
9083
9084 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
9085 align_jumps_max_skip and align_loops_max_skip.
9086
90872003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
9088
9089 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
9090 test size if named section.
9091
48a5f2fa
DJ
90922003-02-19 Daniel Jacobowitz <drow@mvista.com>
9093
9094 * expr.c (expand_expr): Use gen_int_mode for the argument
9095 to gen_rtx_MULT.
9096
62c9aa5f 90972003-02-19 Jan Hubicka <jh@suse.cz>
9e889775
JH
9098
9099 * i386.md (cosxf2): Fix conditional.
9100
f4c07fbf
KH
91012003-02-19 Kazu Hirata <kazu@cs.umass.edu>
9102
9103 * config/h8300/h8300.md (extendqisi2): Change to an expander.
9104 (*extendqisi2_h8300): New.
9105 (*extendqisi2_h8300hs): Likewise.
9106
590734b6
KH
91072003-02-19 Kazu Hirata <kazu@cs.umass.edu>
9108
9109 * config/h8300/h8300-protos.h: Update the prototype for
9110 split_adds_subs. Remove the prototypes for
9111 const_int_le_2_operand and const_int_le_6_operand.
9112 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
9113 (const_int_le_2_operand): Remove.
9114 (const_int_le_6_operand): Likewise.
9115 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
9116 for const_int_le_2_operand and const_int_le_6_operand.
9117 * config/h8300/h8300.md: Update all uses of split_adds_subs.
9118 (a peephole2): New.
9119
62c9aa5f 91202003-02-18 Jan Hubicka <jh@suse.cz>
c001c39b
JH
9121
9122 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
9123 (cgraph_expand_function): Rewrite.
9124
2f51bb1d 91252003-02-18 Matt Austern <austern@apple.com>
3bc400cd 9126
2f51bb1d 9127 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 9128 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 9129
ff6e1a2f
KH
91302003-02-18 Kazu Hirata <kazu@cs.umass.edu>
9131
9132 * config/h8300/h8300.c (general_operand_src): Always check
9133 MODE.
9134 (general_operand_dst): Likewise.
9135
78bd5210
RS
91362003-02-18 Roger Sayle <roger@eyesopen.com>
9137
9138 * convert.c (convert_to_real): Also optimize (float)log(x) into
9139 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
9140
9f3a9a08
KK
91412003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
9142
a8d0ddaf 9143 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 9144 (sh_cannot_copy_insn_p): New.
a8d0ddaf 9145 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 9146
d7ddbe24
RH
91472003-02-18 Richard Henderson <rth@redhat.com>
9148
9149 * c-common.c (handle_used_attribute): Accept static data too.
9150
91512003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 9152 Aldy Hernandez <aldyh@redhat.com>
22d324c1 9153
a8d0ddaf 9154 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 9155
a8d0ddaf 9156 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 9157
a8d0ddaf
ZW
9158 * target-def.h (TARGET_INITIALIZER): Add
9159 TARGET_VECTOR_TYPES_COMPATIBLE.
9160 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 9161
a8d0ddaf 9162 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 9163
a8d0ddaf
ZW
9164 * c-typeck.c (comptypes): Take into account
9165 TARGET_VECTOR_TYPES_COMPATIBLE.
9166 (convert_for_assignment): Same.
22d324c1 9167
a8d0ddaf
ZW
9168 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
9169 (rs6000_spe_vector_types_compatible): New.
9170 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 9171
e5378e8d
AS
91722003-02-19 Andreas Schwab <schwab@suse.de>
9173
9174 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
9175 * toplev.c: Include langhooks-def.h.
9176
fcc11c35
CD
91772003-02-18 Chris Demetriou <cgd@broadcom.com>
9178
9179 * config/mips/mips.h (enum processor_type): Sort entries
9180 alphabetically.
9181 * config/mips/mips.md (define_attr cpu): Sync with processor_type
9182 enum values, including adding entries that were missing.
9183
62c9aa5f 91842003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
29db2a1e 9185
3bc400cd
RS
9186 * sh.c (calc_live_regs): Also check GET_CODE when checking if
9187 initial value for PR_REG is still the PR_REG register.
29db2a1e 9188
582d11e6
JW
91892003-02-18 Jim Wilson <wilson@redhat.com>
9190
9191 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
9192 instruction in output template.
9193 (bsp_value): Change output template from string to C code, add %,
9194 before actual instruction.
9195 (flushrs): Mark as not predicable.
9196
3edc4b23
KW
91972003-02-18 Krister Walfridsson <cato@df.lth.se>
9198
9199 * inclhack.def (netbsd_bogus_semicolon): New fix.
9200 * fixincl.x: Rebuilt.
9201 * tests/base/ctype.h: Update.
9202
080ea642
RS
92032003-02-18 Roger Sayle <roger@eyesopen.com>
9204
9205 * fold-const.c (negate_expr_p): New function to determine whether
9206 an expression can be negated cheaply.
9207 (fold) [MINUS_EXPR]: Use it to determine whether to transform
9208 -A - B into -B - A for floating point types.
9209
e360ab39
RS
92102003-02-18 Roger Sayle <roger@eyesopen.com>
9211
9212 * sbitmap.c (sbitmap_resize): New function.
9213 * sbitmap.h (sbitmap_resize): Prototype here.
9214 * recog.c (split_all_insns): Use sbitmap_resize.
9215
6b00cbc7
KH
92162003-02-18 Kazu Hirata <kazu@cs.umass.edu>
9217
9218 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
9219 insn length.
9220 (extendqisi2): Likewise.
9221 (*extendhisi2_h8300): Likewise.
9222
2b59501b 92232003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 9224
2b59501b
MA
9225 * langhooks.h, langhooks-def.h: introduce new langhook,
9226 final_write_globals, with write_global_declarations as default.
9227 * toplev.c: Move invocation of wrapup_global_declarations from
9228 compile_file to new function, write_global_declarations. Change
9229 compile_file to use final_write_globals hook. Change
9230 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
a8d0ddaf
ZW
9231 conditional.
9232
131efcd8
JDA
92332003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9234
9235 * pa.md: Correct and enhance comment.
9236
e17aafd1
GK
92372003-02-18 Geoffrey Keating <geoffk@apple.com>
9238
9239 * gcc.c (validate_switches): Don't scan past closing '}'.
9240
f57a2e3a
BE
92412003-02-18 Ben Elliston <bje@redhat.com>
9242
9243 PR c++/1607
9244 * doc/extend.texi (Function Attributes): Document the effect of
9245 the C++ "this" parameter on the counting of arguments for the
9246 "format" and "format_arg" attributes.
9247
9b0c0e9f
AH
92482003-02-17 Aldy Hernandez <aldyh@redhat.com>
9249
a8d0ddaf
ZW
9250 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
9251 (__ev_stdw): Same.
9252 (__ev_stdh): Same.
9b0c0e9f 9253
62c9aa5f 92542003-02-17 Jan Hubicka <jh@suse.cz>
35a3fa09
JH
9255
9256 * recog.c (split_all_insns): Fix memory overflow.
9257
6dc50366
KH
92582003-02-17 Kazu Hirata <kazu@cs.umass.edu>
9259
9260 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
9261 (cmphi): Likewise.
9262 (*cmphi_h8300): Likewise.
9263 (*cmphi_h8300hs): Likewise.
9264 (cmpsi): Likewise.
9265 (7 peephole2): Likewise.
9266
62c9aa5f 92672003-02-16 Jan Hubicka <jh@suse.cz>
096daf41
JH
9268
9269 * c-typeck.c (build_c_cast): Fold constant variables into
9270 initial values.
9271
35113fde
GP
92722003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9273
9274 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
9275 (Binaries): Ditto for Sinix/Reliant Unix.
9276
3a1944a6
RE
92772003-02-16 Richard Earnshaw <rearnsha@arm.com>
9278
9279 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
9280 not overlap the final result register.
9281
cdd4b0d4
AB
92822003-02-16 Arend Bayer <arend.bayer@web.de>
9283 Richard Henderson <rth@redhat.com>
9284
ddb9eedd 9285 PR c/8068
cdd4b0d4
AB
9286 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
9287 rearrange mult arguments for less recursion.
9288 (extract_muldiv): New. Prevent runaway recursion.
9289
616f273a
DS
92902003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
9291
9292 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
9293 MASK_ALIGN_DOUBLE.
9294
881b2a96
RS
92952003-02-15 Roger Sayle <roger@eyesopen.com>
9296
9297 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
9298 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
9299 (ext_80387_constants_table): Global table of 80387 special constants
9300 guarded by ext_80387_constants_init flag when not initialized.
9301 (init_ext_80387_constants): New function to initialize this table.
9302 (standard_80387_constant_p): Extend to recognize extra 80387
9303 constants, in XFmode, on processors where this is a win.
9304 (standard_80387_constant_opcode): New function to return the
9305 opcode associated with standard_80387_constant_p.
9306 (standard_80387_constant_rtx): New function to return the XFmode
9307 CONST_DOUBLE associated with standard_80387_constant_p.
9308 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
9309
9310 * config/i386/i386-protos.h (standard_80387_constant_opcode):
9311 Prototype here.
9312 (standard_80387_constant_rtx): Likewise.
9313
9314 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
9315 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
9316 *movtf_integer): Simplify using new standard_80387_constant_opcode.
9317
d203738b
GK
93182003-02-15 Geoffrey Keating <geoffk@apple.com>
9319
9320 * doc/invoke.texi (Optimize Options): Correct @option syntax.
9321
0b077eac
RH
93222003-02-15 Richard Henderson <rth@redhat.com>
9323
9324 * Makefile.in (cfglayout.o): Depend on TARGET_H.
9325 * cfglayout.c: Include target.h.
9326 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
9327 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
9328 * target.h (struct gcc_target): Add cannot_copy_insn_p.
9329
9330 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
9331 (TARGET_CANNOT_COPY_INSN_P): New.
9332 (override_options): Revert 2003-02-08 hack.
9333
9a71ece1
RH
93342003-02-15 Richard Henderson <rth@redhat.com>
9335
9336 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
9337 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
9338
b54cf83a
DE
93392003-02-15 David Edelsohn <edelsohn@gnu.org>
9340
9341 * config/rs6000/rs6000.h (processor_type): Add PPC440.
9342 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
9343 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
9344 TARGET_SCHED_VARIABLE_ISSUE): Define.
9345 (rs6000_use_dfa_pipeline_interface): New function.
9346 (rs6000_multipass_dfa_lookahead): New Function.
9347 (rs6000_variable_issue): New function.
9348 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
9349 (rs6000_issue_rate): Add PPC440.
9350 * config/rs6000/rs6000.md (unspec list): Correct typo.
9351 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
9352 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
9353 cmp, delayed_cr, mfcr, mtcr.
9354 (automata_option): Set "ndfa".
9355 (extendMMNN2): Update attributes.
9356 (movcc_internal1): Discourage move to non-cr0. Update
9357 attributes.
9358 (movMM_update): Update attributes.
9359 (cmpMM_internal): Update attributes.
9360 (sCC CR materialization): Update attributes.
9361 (branch patterns): Do not discourage non-cr0.
9362 (cr logical patterns): Prefer destructive register allocation.
9363 Update attributes.
9364 (movesi_from_cr): Update attribute.
9365 (mtcrf_operation): Update attribute.
9366 (mtcrfsi): Update attribute.
9367 * config/rs6000/40x.md: New file.
9368 * config/rs6000/603.md: New file.
9369 * config/rs6000/6xx.md: New file.
9370 * config/rs6000/7450.md: New file.
9371 * config/rs6000/7xx.md: New file.
9372 * config/rs6000/mpc.md: New file.
9373 * config/rs6000/power4.md: New file.
9374 * config/rs6000/rios1.md: New file.
9375 * config/rs6000/rios2.md: New file.
9376 * config/rs6000/rs64.md: New file.
9377 [Some DFA descriptions based on work by Michael Hayes]
9378
99dc7277
RH
93792003-02-15 Richard Henderson <rth@redhat.com>
9380
9381 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
9382 successors with multiple predecessors.
9383 (connect_traces): Try harder to copy traces of length 1.
9384
9385 * function.h (struct function): Add computed_goto_common_label,
9386 computed_goto_common_reg.
9387 * function.c (free_after_compilation): Zap them.
a8d0ddaf 9388 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
9389 indirect branch per function.
9390
5f24e0dc
RH
93912003-02-15 Richard Henderson <rth@redhat.com>
9392
9393 * cfgcleanup.c: Include params.h.
9394 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
9395 too many outgoing edges from a block.
9396 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
9397 * params.def (max-crossjump-edges): New.
9398 * doc/invoke.texi: Document it.
9399
9381bbc9
RH
94002003-02-15 Richard Henderson <rth@redhat.com>
9401
a8d0ddaf
ZW
9402 * recog.c (split_all_insns): Include new blocks in life update;
9403 do a global life update.
9381bbc9 9404
e898926c
DS
94052003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
9406
9407 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
9408 Update copyright.
9409 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
9410 -mno-cygwin case.
9411
ce65116b
FH
94122003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9413
9414 PR optimization/7702
9415 * reload1.c (reload_cse_simplify_set): Honor
9416 CANNOT_CHANGE_MODE_CLASS.
9417
fe7496dd
AO
94182003-02-14 Alexandre Oliva <aoliva@redhat.com>
9419
9420 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
9421 function.
9422 * config/mn10300/mn10300-protos.h: Declare it.
9423 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
9424 attribute cc of instructions that may use clr.
9425
6017c719
KH
94262003-02-14 Kazu Hirata <kazu@cs.umass.edu>
9427
9428 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
9429 (x - (x & y)) is found.
9430
9fb28a67
RO
94312003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9432
9433 * configure.in: Fix typo.
9434 * configure: Regenerate.
9435
60f469fa
KH
94362003-02-14 Kazu Hirata <kazu@cs.umass.edu>
9437
9438 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
9439
8fd73754 94402003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 9441
a8d0ddaf 9442 PR opt/2391
ce65116b
FH
9443 * combine.c: Fix spelling in comment.
9444 (cached_nonzero_bits): New function.
9445 (cached_num_sign_bit_copies): New function.
8fd73754
AN
9446 (nonzero_bits_with_known): New macro.
9447 (num_sign_bit_copies_with_known): New macro.
ce65116b 9448 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
9449 arguments. Change calls from nonzero_bits to
9450 nonzero_bits_with_known.
ce65116b 9451 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
9452 three new arguments. Change calls from num_sign_bit_copies to
9453 num_sign_bit_copies_with_known.
ce65116b
FH
9454 (nonzero_bits): New macro.
9455 (num_sign_bit_copies): New macro.
9456 (update_table_tick): Don't traverse identical subexpression more
8fd73754 9457 than once.
ce65116b 9458 (get_last_value_validate): Likewise.
8fd73754 9459
ddb0ae00
ZW
94602003-02-13 Zack Weinberg <zack@codesourcery.com>
9461
9462 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
9463 * function.h (struct emit_status): Length of regno_pointer_align
9464 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
9465 not regno_pointer_align_length (i.e. length actually used, not
9466 length as allocated)
9467
9468 * config/i386/i386.c (struct stack_local_entry): New.
9469 (struct machine_function): Replace huge array with alist.
9470 (assign_386_stack_local): Change to match.
9471
c20b55c0
JDA
94722003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
9473
9474 * inclhack.def (hpux_long_double): Tighten select and add bypass
9475 regexp.
9476 * fixincl.x: Rebuilt.
9477
ffc8f11e
JZ
94782003-02-13 Josef Zlomek <zlomekj@suse.cz>
9479
9480 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
9481 edge and block ends with a jump insn it must be simple jump.
9482
047d636f
DJ
94832003-02-13 Daniel Jacobowitz <drow@mvista.com>
9484
9485 * Makefile.in (PREPROCESSOR_DEFINES): Add
9486 @TARGET_SYSTEM_ROOT_DEFINE@.
9487 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
9488 is specified or if building a cross compiler.
9489 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
9490 if the sysroot is under $exec_prefix.
9491 * configure: Regenerated.
9492 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
9493 defined.
9494 (struct default_include): Add add_sysroot field.
9495 (cpp_SYSROOT): Declare.
9496 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
9497 field.
9498 (cpp_SYSROOT): New variable.
9499 * cppinit.c (cpp_create_reader): Initialize
9500 CPP_OPTION (pfile, sysroot).
9501 (init_standard_includes): Handle add_sysroot. Do not
9502 add unrelocated copies of relocated directories.
9503 (COMMAND_LINE_OPTIONS): Add -isysroot.
9504 (cpp_handle_option): Handle -isysroot.
9505 * cpplib.h (struct cpp_options): Add sysroot member.
9506 * gcc.c (The Specs Language): Update description of %I.
9507 (target_system_root_changed): New variable.
9508 (process_command): Conditionalize make_relative_prefix call
9509 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
9510 target_system_root_changed.
9511 (do_spec_1): Add -isysroot to %I.
9512 * doc/invoke.texi (Spec Files): Update description of %I.
9513 * doc/install.texi (--with-sysroot): Update comment about
9514 relocation.
9515
4302db79
KH
95162003-02-13 Kazu Hirata <kazu@cs.umass.edu>
9517
9518 * config/h8300/h8300.md (a peephole2): New.
9519
e0d9cc77 95202003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 9521 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
9522
9523 * doc/install.texi (Specific): Update three SCO-related URLs.
9524
9fb93b00
AS
95252003-02-13 Andreas Schwab <schwab@suse.de>
9526
9527 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
9528 Parenthesize properly.
9529 (NPREDECESORS): Parenthesize properly.
9530
22ffcc6f
GDR
95312003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
9532
9533 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
9534
1fb54135
RS
95352003-02-12 Roger Sayle <roger@eyesopen.com>
9536
9537 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
9538 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
9539
9540 * reg-stack.c (subst_stack_regs_pat): Add support for binary
9541 UNSPEC instructions (e.g. "fpatan").
9542
19a7414e
MS
95432003-02-12 Mike Stump <mrs@apple.com>
9544
9545 * varray.c (element_size): Remove.
9546 (uses_ggc): Remove.
9547 (element): Add.
9548 (varray_init): Use new interface.
9549 (varray_grow): Use new interface.
9550 (varray_clear): Use new interface.
9551
e589cc6e
AH
95522003-02-12 Aldy Hernandez <aldyh@redhat.com>
9553
ddb0ae00
ZW
9554 * config/rs6000/spe.h: Add casts to the arguments of the following
9555 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
9556 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
9557 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
9558 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
9559 __ev_get_u16, __ev_get_s16.
e589cc6e 9560
2bbfc542
KH
95612003-02-12 Kazu Hirata <kazu@cs.umass.edu>
9562
9563 * config/h8300/h8300.md (a peephole2): New.
9564
62c9aa5f 95652003-02-12 Jan Hubicka <jh@suse.cz>
e72fcfe8
JH
9566
9567 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
9568 (OBJS): Add callgraph.o
9569 (callgraph.o): New.
9570 * c-decl.c (expand_body_1): Break out from ...
9571 (expand_body): This one; change calling convention
9572 (finish_function): Move some of expand_body logic here.
9573 (c_expand_deferred_function): Update call of expand_body
9574 (c_expand_stmt): Use c_expand_body_1.
9575 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
9576 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
9577 * c-tree.h (c_expand_body): Declare.
9578 * callgraph.c: New file.
9579 * flags.h (flag_unit_at_a_time): Declare.
9580 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
9581 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
9582 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
9583 * langhooks.h (struct lang_hooks_for_callgraph): New.
9584 (struct lang_hooks): Add callgraph field.
9585 * toplev.c (flag_unit_at_a_time): New.
9586 (lang_independent_options): Add flag_unit_at_a_time.
9587 (process_options): Disable unit-at-a-time mode for frontends not
9588 supporting callgraph.
9589 * tree-inline.c (typedef struct inline_data): Add "decl"
9590 (expand_call_inline): Update callgraph.
9591 (optimize_inline_calls): Set id.decl.
9592 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
9593 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
9594 cgraph_calls_p): Declare.
9595 * invoke.texi (-funit-at-a-time): Document
9596
9037b0c7
AH
95972003-02-12 Aldy Hernandez <aldyh@redhat.com>
9598
ddb0ae00
ZW
9599 * config/rs6000/spe.h: Fix misc formatting.
9600 (__ev_create_ufix32_fs): Cast ev argument.
9601 (__ev_create_sfix32_fs): Same.
9602 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
9603 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 9604
55ae46b1
RM
96052003-02-12 Ranjit Mathew <rmathew@hotmail.com>
9606
9607 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
9608 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
9609
3963c2e0
ZW
96102003-02-12 Zack Weinberg <zack@codesourcery.com>
9611
9612 * cpplib.c (do_include_common): Move warnings for
9613 #include_next and #import out to callers. Use early-return
9614 instead of nested ifs. Don't do check_eol here.
9615 (parse_include): Do check_eol here with the rest of the
9616 parsing stuff.
9617 (do_include_next, do_import): Now handle warnings.
9618
d1a86812
GP
96192003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9620
9621 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
9622
62c9aa5f 96232003-02-12 Jan Hubicka <jh@suse.cz>
6efcd268
JH
9624
9625 * predict.c (estimate_probability): Fix roundoff error.
9626
9083b5da
KH
96272003-02-12 Kazu Hirata <kazu@cs.umass.edu>
9628
9629 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
9630 (two peephole2): New.
9631
86bc9b19
KH
96322003-02-12 Kazu Hirata <kazu@cs.umass.edu>
9633
9634 * config/h8300/h8300.md (several peephole2): Replace
9635 find_regno_note with peep2_reg_dead_p.
9636
ceda50e9
RH
96372003-02-11 Richard Henderson <rth@redhat.com>
9638
9639 * gcse.c (lookup_set): Remove unused argument PAT. Update
9640 both callers.
9641
886e0865
GK
96422003-02-11 Geoffrey Keating <geoffk@apple.com>
9643
9644 * diagnostic.c (real_abort): New.
9645 (diagnostic_report_diagnostic): Call real_abort on error.
9646 * diagnostic.h (diagnostic_abort_on_error): New.
9647 (struct diagnostic_context): Add abort_on_error field.
9648 * toplev.c (setup_core_dumping): New.
9649 (decode_d_option): Handle 'H' case.
9650 * doc/invoke.texi (Debugging Options): Document -dH.
9651
76438597
NN
96522003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
9653
9654 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
9655 which refers to obsolete directories.
9656
09b568fc
RH
96572003-02-11 Richard Henderson <rth@redhat.com>
9658
9659 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
9660
62c9aa5f 96612002-10-21 Jan Hubicka <jh@suse.cz>
8b978a57
JH
9662
9663 * i386.c (contains_128bit_aligned_vector_p): New function.
9664 (ix86_function_arg_boundary): Properly align vector modes.
9665
a3259be8
BW
96662003-02-11 Bob Wilson <bob.wilson@acm.org>
9667
9668 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
9669 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
9670 as a SET pattern.
9671
da52a069
RS
96722003-02-11 Roger Sayle <roger@eyesopen.com>
9673
9674 * builtins.c: Fix failure caused by commiting wrong patch.
9675
d58f6584
DJ
96762003-02-11 Dale Johannesen <dalej@apple.com>
9677 * ra-build.c (compare_and_free_webs): Relax checking.
9678 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
9679 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
9680
22fd5743
FH
96812003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9682
9683 PR optimization/9651
9684 * rtlanal.c (may_trap_p): Handle FIX.
9685
3462df62
DJ
96862003-02-11 Dave Jones <davej@codemonkey.org.uk>
9687
9688 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
9689 * doc/invoke.texi: Extra alias.
9690
a693fbb9
GK
96912003-02-11 Geoffrey Keating <geoffk@apple.com>
9692
9693 * config/rs6000/host-darwin.c: Fix comment.
9694
bb157ff4
DE
96952003-02-11 David Edelsohn <edelsohn@gnu.org>
9696
9697 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
9698 predicate for mod result.
9699
16ddb599
JDA
97002003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9701
9702 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
9703 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
9704 * fixincl.x: Rebuilt.
9705 * tests/base/stdlib.h: Update.
9706 * tests/base/ctype.h: New file.
9707
62c9aa5f 97082003-02-11 Jan Hubicka <jh@suse.cz>
6f0d3566
JH
9709
9710 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
9711
d0a5295a
RH
97122003-02-11 Richard Henderson <rth@redhat.com>
9713
9714 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
9715 appropriated as globals.
9716 (ix86_expand_clrstr): Similarly.
9717 * config/i386/i386.md (cmpstrsi): Similarly.
9718
9672132f
KH
97192003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9720
9721 * config/h8300/h8300.md (a peephole2): Add a case of 255.
9722
b5e01d4b
RS
97232003-02-11 Roger Sayle <roger@eyesopen.com>
9724
9725 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
9726 (pow_optab, atan2_optab): Define corresponding macros.
9727 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
9728 * genopinit.c (optabs): Implement pow_optab and atan2_optab
9729 using pow?f3 and atan2?f3 patterns.
9730 * builtins.c (expand_errno_check): New function to update errno
9731 if necessary, split out from expand_builtin_mathfn.
9732 (expand_builtin_mathfn): Use expand_errno_check.
9733 (expand_builtin_mathfn_2): New function to handle expanding binary
9734 math functions, reusing the code in expand_errno_check.
9735 (expand_builtin): Handle the pow and atan2 math built-ins,
9736 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
9737 expand_builtin_mathfn_2.
9738
9739 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
9740
62c9aa5f 97412003-02-11 Jan Hubicka <jh@suse.cz>
cb119f82
JH
9742
9743 * combine.c (combine_simplify_rtx): Fix folding of
9744 nested float_truncates.
9745
a05566a3
KH
97462003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9747
9748 * config/h8300/h8300.md (a peephole2): Fix a typo.
9749
20ae4500
RE
97502003-02-11 Richard Earnshaw <rearnsha@arm.com>
9751
9752 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
9753 register number.
9754
717d8b71
KH
97552003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9756
9757 * config/h8300/h8300-protos.h: Add a prototype for
9758 gtuleu_operator.
9759 * config/h8300/h8300.c (gtuleu_operator): New.
9760 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
9761 * config/h8300/h8300.md (a peephole2): New.
9762
62c9aa5f 97632003-02-11 Jan Hubicka <jh@suse.cz>
e36e8f52
JH
9764
9765 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
9766
62c9aa5f 97672003-02-11 Jan Hubicka <jh@suse.cz>
c728da61
JH
9768
9769 * predict.c (choose_function_section): Choose sections correctly.
9770
4cc0fdd2
JDA
97712003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9772
9773 * reload1.c (first_label_num): New.
9774 (reload): Index offsets_known_at and offsets_at using difference of
9775 label number and first label number. Don't use offset pointers.
9776 (set_label_offsets, set_initial_label_offsets): Likewise.
9777
44b1fa11
RS
97782003-02-10 Roger Sayle <roger@eyesopen.com>
9779
9780 * mips-tfile.c (init_file): Add missing initializers in the
9781 "#ifdef __alpha" case.
9782 (file_offset, max_file_offset): Declare as unsigned long.
9783 (write_varray): Cast to "unsigned long" in comparisons against
9784 either file_offset or max_file_offset.
9785 (write_object): Likewise.
9786 (read_seek): Likewise.
9787 (copy_object): Likewise. Declare "ifd" as int to match its use
9788 in add_ext_symbol, and avoid signed/unsigned conditional warning.
9789
2948ade7 97902003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 9791 Aldy Hernandez <aldyh@redhat.com>
2948ade7 9792
3963c2e0
ZW
9793 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
9794 override options which have been specified on the command line.
2948ade7 9795
2a4e6df4
KH
97962003-02-10 Kazu Hirata <kazu@cs.umass.edu>
9797
9798 * config/h8300/h8300.md (abssf2): New.
9799 (*abssf2_h8300): Likewise.
9800 (*abssf2_h8300hs): Likewise.
9801
411e2759
PE
98022003-02-10 Phil Edwards <pme@gcc.gnu.org>
9803
9804 * tree.c (build_tree_list): Fix parameter names in comment.
9805
2b24fc41
JJ
98062003-02-10 Janis Johnson <janis187@us.ibm.com>
9807
9808 * config/rs6000/ppc64-fp.c: New file.
9809 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
9810
aa634f11
JZ
98112003-02-10 Josef Zlomek <zlomekj@suse.cz>
9812
9813 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 9814 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
9815 (make_reorder_chain_1): Deleted.
9816 (find_traces): New function.
9817 (rotate_loop): New function.
9818 (mark_bb_visited): New function.
9819 (find_traces_1_round): New function.
9820 (copy_bb): New function.
9821 (bb_to_key): New function.
9822 (better_edge_p): New function.
9823 (connect_traces): New function.
9824 (copy_bb_p): New function.
9825 (get_uncond_jump_length): New function.
9826 (reorder_basic_blocks): Use new functions (Software Trace Cache).
9827 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
9828 boundaries.
9829
17edbda5
AH
98302003-02-10 Aldy Hernandez <aldyh@redhat.com>
9831
9832 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
9833
57116c34
DN
98342003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9835
9836 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 9837 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 9838
4f448245
NC
98392003-02-10 Nick Clifton <nickc@redhat.com>
9840
9841 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
9842 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
9843 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
9844 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
9845 config/arm/freebsd.h, config/arm/linux-elf.h,
9846 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
9847 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
9848 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
9849 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
9850 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
9851 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
9852 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
9853 and reformat as appropriate.
9854
19190d27
KH
98552003-02-10 Kazu Hirata <kazu@cs.umass.edu>
9856
9857 * config/h8300/clzsi2.c: Remove.
9858 * config/h8300/ctzsi2.c: Likewise.
9859 * config/h8300/paritysi2.c: Likewise.
9860 * config/h8300/popcountsi2.c: Likewise.
9861 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
9862 ctzsi2, paritysi2, and popcountsi2.
9863
ecf92f82 98642003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 9865 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
9866
9867 PR c/7741
9868 * c-decl.c (duplicate_decls): Discard the initializer of the
9869 new decl when the types are conflicting.
9870
ac5e69da
JZ
98712003-02-10 Josef Zlomek <zlomekj@suse.cz>
9872
9873 * Makefile.in (sreal.o): Added.
9874 (predict.o): Depends on sreal.h instead of real.h.
9875 * sreal.c: New file.
9876 * sreal.h: New file.
9877 * predict.c: Use sreal.c instead of real.c.
9878
9b6b54e2
NC
98792003-02-10 Nick Clifton <nickc@redhat.com>
9880
9881 * Contributed support for the Cirrus EP9312 "Maverick"
9882 floating point co-processor. Written by Aldy Hernandez
3963c2e0 9883 <aldyh@redhat.com>.
9b6b54e2
NC
9884 (config/arm/arm.c): Add Cirrus support.
9885 (config/arm/arm.h): Likewise.
9886 (config/arm/aout.h): Likewise.
9887 (config/arm/arm.md): Likewise.
9888 (config/arm/arm-protos.h): Likewise.
9889 (config.gcc): Likewise.
9890 (doc/invoke.texi): Describe new -mcpu value and new
9891 -mcirrus-fix-invalid-insns switch,
9892 (cirrus.md): New file.
9893
62c9aa5f 98942003-02-10 Jan Hubicka <jh@suse.cz>
949824fe
JH
9895
9896 * combine.c (combine_simplify_rtx): Simplify using
9897 (float_truncate (float x)) is (float x)
9898 (float_extend (float_extend x)) is (float_extend x).
9899
546ff777
AM
99002003-02-10 Alan Modra <amodra@bigpond.net.au>
9901
9902 * calls.c (try_to_integrate): Tidy stack_usage_map access.
9903 (emit_library_call_value_1): Likewise. Formatting.
9904 (store_one_arg): Likewise.
9905
626098f9 99062003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 9907 Aldy Hernandez <aldyh@redhat.com>
626098f9 9908
3963c2e0
ZW
9909 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
9910 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
9911 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
9912 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
9913 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
9914 docs. Add range test for immediate value.
626098f9
AH
9915
99162003-02-09 Aldy Hernandez <aldyh@redhat.com>
9917
3963c2e0
ZW
9918 Rename spe_evxor to xorv2si3.
9919 (xorv4hi3): New.
9920 (xorv1di3): New.
626098f9 9921
8d23a2c8 99222003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 9923
8d23a2c8
GN
9924 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
9925 tag.
9926
62c9aa5f 99272003-02-10 Jan Hubicka <jh@suse.cz>
fdc4b40b
JH
9928
9929 * i386.c (vector_move_operand): New predicate.
9930 (ix86_expand_vector_move): Be happy about 0.
9931 * i386.h (PREDICATE_CODES): Add sse-move_operand.
9932 * i386.md (mov*_internal): Add 'C' alternative.
9933
62c9aa5f 99342003-02-09 Jan Hubicka <jh@suse.cz>
35c28a13
JH
9935
9936 * i386.md (floathi*): Deal with SSE.
9937
62c9aa5f 99382003-02-09 Jan Hubicka <jh@suse.cz>
852c8ba1
JH
9939
9940 * simplify-rtx.c (simplify_unary_operation,
9941 simplify_binary_operation): Deal with vector modes
9942 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
9943
c876997f 99442003-02-09 Richard Sandiford <rsandifo@redhat.com>
2382b79f
RS
9945
9946 * toplev.c (rest_of_compilation): Recompute register usage after
9947 split_all_insns.
9948
8275b011
RH
99492003-02-09 Richard Henderson <rth@redhat.com>
9950
9951 * libgcc-std.ver (__clztf2): New.
9952 (__ctztf2, __popcounttf2, __paritytf2): New.
9953 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
9954 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
9955 adjust code to match the different type sizes.
9956 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
9957 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
9958
9959 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
9960 TImode; select word_mode and twice that.
9961 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
9962 select the modes from float, double, and long double.
9963 (init_optabs): Remove duplicate initializations.
9964
794aca5d
WB
99652003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
9966
9967 * doc/install.texi: Squeeze and streamline section on
9968 testing and regression checking.
9969
62c9aa5f 99702003-02-09 Jan Hubicka <jh@suse.cz>
d9deed68
JH
9971
9972 * i386.md (ahi?v*3): Set third operand type to TImode.
9973 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
9974
9975 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
9976 integer mode.
9977
9978 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
9979 Change code so they are arithmetic expressions now.
9980 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
9981 simplify_ternary_operation): Deal with VEC_* expressions.
9982
9983 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
9984
62c9aa5f 99852003-02-08 Jan Hubicka <jh@suse.cz>
83fd323c
JH
9986
9987 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
9988 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
9989 possibly got duplicated.
9990
4ee7aa60
RH
99912003-02-08 Richard Henderson <rth@redhat.com>
9992
9993 * config/alpha/alpha.c (override_options): Turn off explicit
9994 relocs until post-peep2 code duplication resolved.
9995
c117dddc
KH
99962003-02-08 Kazu Hirata <kazu@cs.umass.edu>
9997
9998 * optabs.c (expand_unop): Widen clz properly when clz is done
9999 via libcall.
10000
8aa063fb
KH
100012003-02-08 Kazu Hirata <kazu@cs.umass.edu>
10002
10003 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
10004 * config/h8300/crti.asm: Likewise.
10005 * config/h8300/crtn.asm: Likewise.
10006 * config/h8300/ctzsi2.c: Likewise.
10007 * config/h8300/fixunssfsi.c: Likewise.
10008 * config/h8300/h8300-protos.h: Likewise.
10009 * config/h8300/h8300.c: Likewise.
10010 * config/h8300/h8300.h: Likewise.
10011 * config/h8300/h8300.md: Likewise.
10012 * config/h8300/paritysi2.c: Likewise.
10013 * config/h8300/popcountsi2.c: Likewise.
10014 * config/h8300/rtems.h: Likewise.
10015
01a132bb
ZD
100162003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10017
10018 * doc/invoke.texi: Documentation for my previous commit.
10019 * doc/passes.texi: Ditto.
10020
617b465c
ZD
100212003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10022
10023 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
10024 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
10025 Declare.
10026 (DLTHE_FLAG_UPDATE_FREQ): New.
10027 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
10028 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
10029 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
10030 fix_bb_placement, fix_bb_placements, place_new_loop,
10031 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
10032 New static functions.
10033 (fix_loop_placement, can_duplicate_loop_p,
10034 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
10035 New functions.
10036
10037 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
10038 unswitch_loops): Declare.
10039 * loop-init.c: New file.
10040 * loop-unswitch.c: New file.
10041 * Makefile.in (loop-init.o, loop-unswitch.o): New.
10042 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
10043 * toplev.c (DFI_loop2): New dump.
10044 (flag_unswitch_loops): New.
10045 (lang_independent_options): Add it.
10046 (rest_of_compilation): Call new loop optimizer.
10047 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
10048
3bd03194
KH
100492003-02-08 Kazu Hirata <kazu@cs.umass.edu>
10050
10051 * config/h8300/clzsi2.c: New.
10052 * config/h8300/ctzsi2.c: Likewise.
10053 * config/h8300/paritysi2.c: Likewise.
10054 * config/h8300/popcountsi2.c: Likewise.
10055 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
10056
d865b122
DE
100572003-02-07 David Edelsohn <edelsohn@gnu.org>
10058
10059 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
10060 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 10061 (ctzsi2): New pattern.
d865b122
DE
10062 (ffssi2): Use clz instead of unspec.
10063 (clzdi2): Rename from cntlzd2.
94993909 10064 (ctzdi2): New pattern.
d865b122
DE
10065 (ffsdi2): Use clz instead of unspec.
10066
8f37dd98
LR
100672003-02-07 Loren James Rittle <ljrittle@acm.org>
10068
10069 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
10070 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
10071 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
10072 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
10073
83205b9b
WB
100742003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
10075
10076 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
10077
710ee3ed
RH
100782003-02-07 Richard Henderson <rth@redhat.com>
10079
10080 PR 9226
3963c2e0
ZW
10081 * gcse.c (local_cprop_find_used_regs): New.
10082 (local_cprop_pass): Use it.
710ee3ed 10083
3ef879d2
FF
100842003-02-07 Fred Fish <fnf@intrinsity.com>
10085
10086 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 10087 precedence bugs.
3ef879d2 10088
a0f0e963 100892003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 10090
3963c2e0 10091 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 10092
46847aa6
RS
100932003-02-07 Roger Sayle <roger@eyesopen.com>
10094
10095 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
10096 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
10097 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
10098 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
10099 builtin functions (and their __builtin_* variants).
10100 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
10101 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
10102 when not optimizing.
10103
10104 * doc/extend.texi: Document new pow and atan2 builtins, and
10105 their float and long double variants. Realphabetize builtins.
10106
62c9aa5f 101072003-02-07 Jan Hubicka <jh@suse.cz>
c48d6750
JH
10108
10109 * i386.md (sse2_nandv2di3): Fix.
10110
5e062767
DS
101112003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
10112
10113 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
10114 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
10115 definition.
10116 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
10117 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
10118
62c9aa5f 101192003-02-07 Jan Hubicka <jh@suse.cz>
3f755ed0
JH
10120
10121 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
10122
0816bcd2
DB
101232003-02-07 Daniel Berlin <dberlin@dberlin.org>
10124
10125 * cfg.c (dump_flow_info): Add back accidently deleted line.
10126
7bf0a593
AP
101272003-02-07 Andrey Petrov <petrov@netbsd.org>
10128
10129 * optabs.c (expand_float): Search wider integer modes first.
10130
01e4596e
BW
101312003-02-07 Bob Wilson <bob.wilson@acm.org>
10132
10133 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
10134 based on preprocessor flag.
10135
fbef91d8
RS
101362003-02-07 Roger Sayle <roger@eyesopen.com>
10137 Richard Henderson <rth@redhat.com>
10138
10139 * gcse.c (implicit_sets): New.
10140 (compute_hash_table_work): Include them in hash table.
10141 (find_implicit_sets, fis_get_condition): New.
10142 (one_cprop_pass): Allocate and free implicit_sets; call
10143 find_implicit_sets before building hash table.
10144
6713831e
JT
101452003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
10146
10147 * config/t-netbsd (USER_H): Revert previous change.
10148
10d2dbe2
GG
101492003-02-07 Gabor Greif <ggreif@lucent.com>
10150
10151 * doc/c-tree.texi (Namespaces): Fix typo.
10152
62c9aa5f 101532003-02-07 Jan Hubicka <jh@suse.cz>
d1d3c9a6
JH
10154
10155 * regrename.c (do_replace, find_oldest_value_reg,
10156 copyprop_hardreg_forward_1): Update register attributes.
10157
1b1f249d
VM
101582003-02-06 Vladimir Makarov <vmakarov@redhat.com>
10159
10160 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
10161 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
10162 variables starting with underscore.
10163 (struct unit_usage): New structure.
10164 (unit_usages, cycle_alt_unit_usages): New global variables.
10165 (check_unit_distribution_in_reserv): Remove it.
10166 (store_alt_unit_usage): New function.
10167 (check_regexp_units_distribution): Rewrite it.
10168
90330d31
JDA
101692003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10170
10171 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
10172 target_cpu_default.
10173 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
10174 if not MASK_NO_SPACE_REGS.
10175 (output_call): Adjust return pointer, don't load new space register
10176 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
10177 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
10178 TARGET_NO_SPACE_REGS is true.
10179 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
10180 conditions.
10181 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
10182 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
10183 true. Use bve when TARGET_64BIT is true.
10184
d1164330
RH
101852003-02-06 Richard Henderson <rth@redhat.com>
10186
10187 * combine.c (nonzero_bits): Fix double break.
10188
5fbf0217 101892003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 10190 Richard Henderson <rth@redhat.com>
5fbf0217
EB
10191
10192 PR c/9530
10193 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
10194 from functions that return a float to functions that don't.
10195
62c9aa5f 101962003-02-06 Jan Hubicka <jh@suse.cz>
8f62128d
JH
10197
10198 * i386.c (x86_inter_unit_moves): New variable.
10199 (ix86_secondary_memory_needed): Fix 64bit case, honor
10200 TARGET_INTER_UNIT_MOVES
10201 * i386.h (x86_inter_unit_moves): Declare.
10202 (TARGET_INTER_UNIT_MOVES): New macro.
10203 * i386.md (movsi_1): Cleanup constraints; disable
10204 when not doing inter-unit moves.
10205 (movsi_1_nointernunit): New.
10206 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
10207 (movdi_1_rex64_nointerunit): New.
10208 (mivsf_1): disable when not doing inter-unit moves.
10209 (movsf_1_nointerunit): New.
10210
10211 * basic-block.h (inside_basic_block_p): Declare.
10212 * cfgbuild.c (inside_basic_block_p): Make global.
10213 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
10214 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
10215 update CFG.
10216 (fix_basic_block_boundaries, add_missing_bbs): New.
10217 (rank): Use profile.
10218 (scheudle_ebbs): Rely on CFG; update coments.
10219
476d9098
GK
102202003-02-05 Geoffrey Keating <geoffk@apple.com>
10221
10222 * Makefile.in (host_hook_obj): New.
10223 (OBJS): Add $(host_hook_obj).
10224 (host_default.o): New rule.
10225 * config.gcc (host_hook_obj): New, default to host-default.o.
10226 (powerpc-*-darwin*): Use host-darwin.o.
10227 (out_host_hook_obj): New.
10228 * configure: Regenerate.
10229 * configure.in: Print information about out_host_hook_obj, substitute
10230 into output files.
10231 * host-default.c: New file.
10232 * hosthooks.h: New file.
10233 * toplev.c (general_init): Call host_hooks.extra_signals.
10234 * config/rs6000/host-darwin.c: New file.
10235 * config/rs6000/x-darwin: New file.
10236 * doc/hostconfig.texi: Add documentation for new host hook.
10237 Rearrange existing documentation.
10238
69bd9368
RS
102392003-02-05 Roger Sayle <roger@eyesopen.com>
10240
10241 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
10242 with *targetm.delegitimize_address.
10243 (rtl_for_decl_location): Likewise.
10244 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
10245 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
10246
10247 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
10248 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
10249 prototype.
10250 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
10251 i386_simplify_dwarf_addr. Made static. Prototyped.
10252 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
10253 i386_simplify_dwarf_addr to ix86_delegitimize_address.
10254 (ix86_find_base_term): Likewise.
10255 (maybe_get_pool_constant): Likewise.
10256
10257 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
10258 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
10259 prototype.
10260 * config/s390/s390.c (s390_delegitimize_address): Renamed from
10261 s390_simplify_dwarf_addr. Made static. Prototyped.
10262 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
10263
7127fd58
RH
102642003-02-05 Richard Henderson <rth@redhat.com>
10265
8dde7a2c 10266 PR c/8602
3963c2e0
ZW
10267 * integrate.c (output_inline_function): Reset input_filename
10268 and lineno from the decl before rest_of_compilation.
7127fd58 10269
7dba8395
RH
102702003-02-05 Richard Henderson <rth@redhat.com>
10271
10272 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
10273 (CTZ_DEFINED_VALUE_AT_ZERO): New.
10274 * doc/rtl.texi, doc/tm.texi: Document them.
10275
10276 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
10277 of the value at zero properly.
10278 * fold-const.c (tree_expr_nonnegative_p): Likewise.
10279 * simplify-rtx.c (simplify_unary_operation): Likewise.
10280
10281 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
10282 (CTZ_DEFINED_VALUE_AT_ZERO): New.
10283
10284 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
10285 (TARGET_EXPAND_BUILTIN): Remove.
10286 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
10287 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
10288 (enum arm_builtins): Remove.
10289 * config/arm/arm.md (UNSPEC_CLZ): Remove.
10290 (clzsi2): Rename from clz; use clz instead of unspec.
10291 (ctzsi2): New.
10292 * config/arm/arm-protos.h: Update.
10293
62c9aa5f 102942003-02-05 Jan Hubicka <jh@suse.cz>
8d705469
JH
10295
10296 * i386-protos.h (x86_emit_floatuns): Declare.
10297 * i386.c (x86_emit_floatuns): New global function.
10298 * i386.md (floatunssisf2, floatunsdisf2,
10299 floatunsdidf2): New patterns.
10300
bc810602
ZD
103012003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10302
10303 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
10304
07938cec
HB
103052003-02-05 Hans Boehm <Hans.Boehm@hp.com>
10306
10307 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
10308 config/ia64/linux.h
10309
c876997f 103102003-02-05 Roger Sayle <roger@eyesopen.com>
ca9398d1
RS
10311
10312 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
10313
4f6ae35d
JJ
103142003-02-05 Jakub Jelinek <jakub@redhat.com>
10315
10316 PR optimization/8555
10317 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
10318 instead of aborting.
10319
8acfdd43
RH
103202003-02-04 Richard Henderson <rth@redhat.com>
10321
10322 * config/i386/i386.md (UNSPEC_BSF): Remove.
10323 (ffssi2): Split into cmove and no_cmove insns and splitters;
10324 lose pentium float trick for now.
10325 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
10326 (ctzsi2, clzsi2, bsr): New.
10327
c407570a
RH
103282003-02-04 Richard Henderson <rth@redhat.com>
10329
10330 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
10331 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
10332 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
10333 (ffsdi2): Use popcount instead of unspec.
10334 (popcountdi2): Rename from *popcnt.
10335 (ctzdi2, clzdi2, getf_exp_tf): New.
10336
4b3cf522
KH
103372003-02-04 Kazu Hirata <kazu@cs.umass.edu>
10338
10339 * genconfig.c (main): Generate CC0_P.
10340 * rtl.h (CC0_P): Remove.
10341
dfff898c
RH
103422003-02-04 Richard Henderson <rth@redhat.com>
10343
10344 * libgcc2.h, libgcc2.c (__ffsSI2): New.
10345 (__ffsDI2): Rename from __ffsdi2.
10346 * mklibgcc.in (lib2funcs): Add _ffssi2.
10347
0c9ed856
RH
103482003-02-04 Richard Henderson <rth@redhat.com>
10349
10350 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
10351 rounds with a "bit table" lookup.
10352
9537511b
UW
103532003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10354
10355 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 10356 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
10357 reloads for operands where a mandatory reload was already pushed.
10358
1efd0b97
RH
103592003-02-04 Richard Henderson <rth@redhat.com>
10360
10361 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
10362 builtins instead of inline assembly.
10363
087fc75a 103642003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 10365
087fc75a
FH
10366 PR c/9376
10367 * libgcc2.c (__subvdi3): Fix typo.
10368
62c9aa5f 103692003-02-04 Jan Hubicka <jh@suse.cz>
f0f0d98e
JH
10370
10371 * i386.md (movti_rex64): Fix constraint.
10372
62c9aa5f 103732003-02-04 Jan Hubicka <jh@suse.cz>
09f26fb5
JH
10374
10375 * i386.md (vector push splitters): Fix typo in resolving conflict.
10376
ff6e2d3e
RB
103772003-02-04 Rodney Brown <rbrown64@csc.com.au>
10378
10379 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
10380
9e80ada7
PE
103812003-02-04 Phil Edwards <pme@gcc.gnu.org>
10382
10383 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
10384 for recent libstdc++. Remove formatting cruft.
10385
79c758fb
JJ
103862003-02-04 Jakub Jelinek <jakub@redhat.com>
10387
10388 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
10389 attribute even if input file name is absolute, but one of the
10390 includes is relative.
10391
b3a8389d
JM
103922003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
10393
10394 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
10395 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
10396 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
10397
dabb3f04
RH
103982003-02-03 Richard Henderson <rth@redhat.com>
10399
10400 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
10401 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
10402 return type to "int". Shuffle declarations and undef int trap.
10403 * libgcc2.h: Remove their declarations.
10404 * optabs.c (expand_unop): Force outmode to int for bitops.
10405
985d0d50
BW
104062003-02-03 Bob Wilson <bob.wilson@acm.org>
10407
10408 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
10409 coprocessor registers before floating-point registers.
10410 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
10411 to account for a previously removed register.
10412 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
10413 Delete unused macros.
10414
62c9aa5f 104152003-02-03 Jan Hubicka <jh@suse.cz>
7f0e57bd
JH
10416
10417 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
10418 (mov*_internal): Fix predicates; require one of operands to not be
10419 memory.
10420 (SSE?MMX move expanders): Fix predicates; force one of operands to
10421 register.
10422 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
10423 (movups/movupd/movdqu patterns): Force one of operands to not be
10424 memory.
10425
c876997f 104262003-02-03 Roger Sayle <roger@eyesopen.com>
7daebb7a
RS
10427
10428 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
10429 takes a single rtx and returns it unmodified.
10430 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 10431 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
10432 field to target structure.
10433 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
10434 for delegitimize_address target using hook_rtx_rtx_identity.
10435 (TARGET_INITIALIZER): Initialize delegitimize_address field
10436 using TARGET_DELEGITIMIZE_ADDRESS macro.
10437 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
10438 extensions of constant pool references. Use delegitimize_address
10439 to undo the obfuscation of "-fpic".
10440 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
10441
10442 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
10443 i386_simplify_dwarf_addr.
10444 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
26182e15 10445 (maybe_get_pool_constant): Likewise.
7daebb7a 10446
62c9aa5f 104472003-02-03 Jan Hubicka <jh@suse.cz>
84520a20
JH
10448
10449 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
10450
62c9aa5f 104512003-02-03 Jan Hubicka <jh@suse.cz>
035b2a34
JH
10452
10453 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
10454
1f143d5a
KG
104552003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10456
10457 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
10458 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
10459
4b550d9f
AS
104602003-02-02 Andreas Schwab <schwab@suse.de>
10461
10462 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
10463
0732a089
RE
104642003-02-02 Richard Earnshaw <rearnsha@arm.com>
10465
10466 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
10467 (epilogue_insns): Likewise.
10468
f269f54f
JDA
104692003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10470
10471 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
10472
611ad29e
JDA
104732003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10474
10475 * pa-protos.h (attr_length_millicode_call): Remove second argument.
10476 (attr_length_indirect_call, attr_length_indirect_call,
10477 attr_length_save_restore_dltp): New prototypes.
10478 * pa.c (attr_length_millicode_call): Remove second argument. Check
10479 INSN_ADDRESSES_SET_P in distance calculation.
10480 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
10481 INSN_ADDRESSES.
10482 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
10483 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
10484 Call attr_length_call directly.
10485 (attr_length_indirect_call, output_indirect_call,
10486 attr_length_save_restore_dltp): New functions.
10487 * pa.md (attr_length_millicode_call): Drop second argument from all
10488 patterns.
10489 (return_internal_pic): Delete.
10490 (return_external_pic): Remove use of PIC register and pic operand and
10491 flag checks.
10492 (epilogue): Use return_internal for both normal and pic code.
10493 (call, call_value): Emit new 32-bit pic patterns for symref and
10494 indirect calls. Remove uses for arg pointer and pic register.
10495 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
10496 call_reg_pic_post_reload, call_val_symref_pic,
10497 call_val_symref_pic_post_reload, call_val_reg_pic,
10498 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
10499 Implement define_split and define_peephole2 patterns for pre reload
10500 patterns.
10501 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
10502 call_value_internal_reg_64bit): Shorten names.
10503 (all call patterns): Explicitly indicate registers used and clobbered.
10504 Use attr_length_indirect_call and attr_length_save_restore_dltp for
10505 attribute length calculation. Move code generation for indirect calls
10506 to output_indirect_call.
10507 (sibcall, sibcall_value): Don't restore PIC register.
10508 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
10509 register retore.
10510
8cacda7c
GP
105112003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10512
10513 * doc/install.texi (Testing): Simplify and compress instructions
10514 concerning Dejagnu.
10515
cbc158bb
JDA
105162003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10517
10518 * collect2.c (pexecute_pid): Rename to pid.
10519 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
10520 pid.
10521
dcef1843
GK
105222003-02-01 Geoffrey Keating <geoffk@apple.com>
10523
10524 * doc/extend.texi (Function Attributes): Remove documentation
10525 for PowerPC Windows NT function attributes..
10526
5d7bed9d
DJ
105272003-02-01 Daniel Jacobowitz <drow@mvista.com>
10528
10529 * dwarf2out.c (gen_type_die): Check for typedefs before calling
10530 for TYPE_MAIN_VARIANT.
10531
53585c36
RH
105322003-02-01 Richard Henderson <rth@redhat.com>
10533
10534 * libgcc2.c: Include auto-host.h.
10535 (ATTRIBUTE_HIDDEN): New.
10536 (__clz_tab): Don't declare here for clz and ctz.
10537 (__clzsi2, __clzdi2): Use count_leading_zeros.
10538 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
10539 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
10540 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
10541 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
10542
bc8a6d63
RH
105432003-02-01 Richard Henderson <rth@redhat.com>
10544
10545 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
10546 to the conditional.
10547 (ashlsi3_1_zext splitter): Likewise.
10548
2928cd7a
RH
105492003-02-01 Richard Henderson <rth@redhat.com>
10550
10551 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
10552 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
10553 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
10554 return type to Wtype.
10555
10556 * libgcc-std.ver (GCC_3.4): Fix inheritance.
10557
10558 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
10559 expander input constraint.
10560
105612003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10562
ff6e2d3e
RB
10563 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
10564 OTI_parity.
10565 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
10566 * optabs.c (widen_clz, expand_parity): New.
10567 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
10568 for libcalls to clz, ctz, popcount, and parity.
10569 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
10570 parity_optab, and set up libfunc handlers.
10571 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
10572 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
10573 __popcount_tab): New.
10574 * libgcc2.h: Declare them.
10575 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
10576 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
10577 and parity_optab.
10578 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
10579 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
10580 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
10581 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
10582 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
10583 BUILT_IN_PARITYLL): New.
10584 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
10585 and add optab argument.
10586 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
10587 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
10588 * expr.c (expand_expr): Handle them.
10589 * fold-const.c (tree_expr_nonnegative_p): Likewise.
10590 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
10591 * reload1.c (eliminate_regs): Handle them.
10592 (elimination_effects): Likewise.
10593 * function.c (instantiate_virtual_regs_1): Likewise
10594 * genattrtab.c (check_attr_value): Likewise.
10595 * simplify-rtx.c (simplify_unary_operation): Likewise.
10596 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
10597 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
10598 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
10599 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
10600 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
10601 __builtin_arm_clz.
10602 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
10603 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
10604 * doc/extend.texi (Other Builtins): Add new builtins.
10605 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 10606
112f7223
UW
106072003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
10608
10609 * reload.c: Revert 2003-01-31 change.
10610
62c9aa5f 106112003-02-01 Jan Hubicka <jh@suse.cz>
434c87d4
JH
10612
10613 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
10614
271bd540
RS
106152003-02-01 Richard Sandiford <rsandifo@redhat.com>
10616
10617 * flags.h (flag_volatile): Remove declaration.
10618 (flag_volatile_global, flag_volatile_static): Likewise.
10619 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
10620 * toplev.c (flag_volatile): Remove definition.
10621 (flag_volatile_global, flag_volatile_static): Likewise.
10622 (f_options): Remove corresponding entries here.
10623 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
10624 or flag_volatile_static.
10625 * doc/invoke.texi: Remove documentation of -fvolatile,
10626 -fvolatile-global and -fvolatile-static.
10627
17e6098e
JDA
106282003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10629
10630 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
10631 updating of total_code_bytes from prologue to epilogue.
10632
2f278625
UW
106332003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
10634
10635 * reload.c (find_reloads): Do not use the mode specified in the insn
10636 pattern as reload mode for address operands. Do not generate optional
10637 reloads for operands where a mandatory reload was already pushed.
10638 Generate optional reloads only in the final pass though find_reloads.
10639 (have_replacement_p): New function.
10640
05c425a9
GP
106412003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10642
10643 * doc/install.texi (Testing): Remove a reference to our obsolete
10644 /testresults web pages and strip redundant information concerning
10645 test results.
10646 (Binaries): Refer to Microsoft Windows instead of listing all
10647 possible variants.
10648
62c9aa5f 106492003-02-01 Jan Hubicka <jh@suse.cz>
b0c42aed
JH
10650
10651 * loop.c (emit_prefetch_instructions): Do conversion at right place in
10652 RTL chain.
10653
10654 * combine.c (simplify_set): Reverse order of ragumetns to
10655 REG_CANNOT_CHANGE_MODE_P
10656 * df.c (df_def_record_1): Likewise.
10657 * recog.c (register_operand): Likewise.
10658 * simplify-rtx.c (simplify_subreg): Likewise.
10659 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
10660 CANNOT_CHANGE_MODE_CLASS.
10661 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
10662 Likewise.
10663 * reload.c (push_reload): Likewise.
10664 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10665 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10666 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10667 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
10668 * mips.c (mips_cannot_change_mode_class): Update.
10669 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10670 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10671 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10672 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
10673 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
10674 * sh.c (sh_cannot_change_mode_class): Update.
10675 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
10676 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
10677
1f61a15d
GK
106782003-01-31 Geoffrey Keating <geoffk@apple.com>
10679
10680 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
10681 change to LINK_COMMAND_SPEC in gcc.c.
10682
7c712dcc
LR
106832003-01-31 Jan Hubicka <jh@suse.cz>
10684
10685 PR c/9506
10686 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
10687
e137391e
JDA
106882003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10689
10690 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
10691 duplicated code.
10692
1824b90d
NS
106932003-01-31 Nathan Sidwell <nathan@codesourcery.com>
10694
10695 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
10696 (BINFO_ELTS): New #define.
10697 * stor-layout.c (finalize_record_size): Don't set them.
10698 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
10699 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
10700 (BINFO_LANG_ELTS): New #define.
10701 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
10702 * java/class.c (make_class): Use BINFO_ELTS.
10703 (set_super_info): Likewse.
10704 (add_interface_do): Likewise.
10705 * objc/objc-act.c (start_class): Use BINFO_ELTS.
10706
8f9a402c
DS
107072003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
10708
10709 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
10710 (times): Don't ever declare if not HAVE_TIMES.
10711 (clock): Don't ever declare if not HAVE_CLOCK.
10712
cdd1f01b
RH
107132003-01-30 Richard Henderson <rth@redhat.com>
10714
10715 * flow.c (update_life_info): Zap life info after cleanup_cfg.
10716 (regno_uninitialized): Use correct live at function entry set.
10717 (regno_clobbered_at_setjmp): Likewise.
10718
10719 * expr.c (store_expr): Promote all MEM intermediates to regs.
10720
6bc82793
KH
107212003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10722
10723 * config/arm/arm.c: Fix comment typos.
10724 * config/arm/arm.h: Likewise.
10725 * config/arm/netbsd-elf.h: Likewise.
10726 * config/arm/netbsd.h: Likewise.
10727
f099d360
GK
107282003-01-30 Geoffrey Keating <geoffk@apple.com>
10729
10730 * gengtype.c (struct walk_type_data): Add needs_cast_p.
10731 (walk_type): Set needs_cast_p in walk_type_data.
10732 (write_types_process_field): Supply casts when required to suppress
10733 warnings.
10734 (write_root): Cast gt_pch_n_S to suppress warning.
10735 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
10736 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
10737 when they might exist.
10738 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
10739 insn-conditions.o, and rs6000.o.
10740
52895e1a
RH
107412003-01-30 Richard Henderson <rth@redhat.com>
10742
10743 * ggc-page.c (G.context_depth_allocations): New.
10744 (G.context_depth_collections): New.
10745 (alloc_page): Set G.context_depth_allocations.
10746 (ggc_collect): Set G.context_depth_collections.
10747 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
10748 (ggc_pop_context): Early exit for no allocations or collections.
10749
c35c7e52
RH
107502003-01-30 Richard Henderson <rth@redhat.com>
10751
10752 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
10753
e43dd89d
RE
107542003-01-30 Richard Earnshaw <rearnsha@arm.com>
10755
10756 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
10757 size, the link register is always saved if any other register is
10758 saved.
10759
87a902e4
KH
107602003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10761
10762 * config/h8300/h8300-protos.h: Update the prototype for
10763 compute_plussi_cc.
10764 (cpp_reader): Declare before it is used.
10765 * config/h8300/h8300.c (compute_plussi_cc): Change the return
10766 type to int.
10767 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
10768 see an unknown H8 variant.
10769
107702003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 10771
ff6e2d3e 10772 PR target/9316
0186a143
RC
10773 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
10774 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
10775 * config/rs6000/t-rtems: New file. multilib variants to match OS.
10776 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
10777 rs6000/t-ppcgas so we get the desired multilibs.
10778
f55d7103
NC
107792003-01-30 Nick Clifton <nickc@redhat.com>
10780
10781 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
10782 when popping saved IP register off the stack.
10783
b6d08ca1
KH
107842003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10785
10786 * config/rs6000/aix43.h: Fix comment typos.
10787 * config/rs6000/aix51.h: Likewise.
10788 * config/rs6000/aix52.h: Likewise.
10789 * config/rs6000/altivec.h: Likewise.
10790 * config/rs6000/rs6000.c: Likewise.
10791 * config/rs6000/rs6000.h: Likewise.
10792 * config/rs6000/rs6000.md: Likewise.
10793 * config/rs6000/spe.md: Likewise.
10794
14d22dd6
MM
107952003-01-29 Mark Mitchell <mark@codesourcery.com>
10796
10797 * c-common.c (builtin_define_float_constants): Define
10798 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
10799
825db093
KH
108002003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10801
10802 * config/sh/lib1funcs.asm: Fix comment typos.
10803 * config/sh/linux.h: Likewise.
10804 * config/sh/sh.c: Likewise.
10805 * config/sh/sh.md: Likewise.
10806
f1d5271a
LR
108072003-01-30 Loren James Rittle <ljrittle@acm.org>
10808
10809 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
10810
266a9ef1
AO
108112003-01-30 Alexandre Oliva <aoliva@redhat.com>
10812
10813 * config/fp-bit.h (__make_dp): Declare if TMODES.
10814
0889116d
KH
108152003-01-29 Kazu Hirata <kazu@cs.umass.edu>
10816
10817 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
10818 general_operand_src and general_operand_dst.
10819
c8c99a68
DE
108202003-01-29 David Edelsohn <edelsohn@gnu.org>
10821
10822 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
10823 Return true for variable sized types.
10824 (rs6000_va_arg): Handle variable sized types passed by reference
10825 on non-SVR4 ABI.
10826
ccf4d512
RE
108272003-01-29 Richard Earnshaw <rearnsha@arm.com>
10828
10829 * arm.c (arm_legtimize_address): New function.
10830 * arm-protos.h (arm_legtimize_address): Add prototype.
10831 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
10832 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
10833 do ... while (0)
10834
0889116d 108352003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 10836
7429b411 10837 PR bootstrap/9296
0680c8fb 10838 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 10839 depended on it being defined until now.
0680c8fb 10840
7429b411 108412003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 10842
7429b411 10843 PR target/9295
c934274a
JS
10844 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
10845 RTEMS code knows which C++ initialization style the toolset
7429b411 10846 configuration is using.
c934274a 10847
0889116d 108482003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 10849
7429b411 10850 PR bootstrap/9293
ff6e2d3e 10851 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 10852 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 10853
0889116d 108542003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 10855
7429b411 10856 PR bootstrap/9292
64abe03e
JS
10857 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
10858 RTEMS threads.
10859 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 10860
2f12fb2b
NC
108612003-01-29 Nick Clifton <nickc@redhat.com>
10862
10863 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
10864 not $(srcdir).
10865
cf0150b9
AH
108662003-01-29 Andrew Haley <aph@redhat.com>
10867
10868 * tree-inline.c (walk_tree): Add CHAR_TYPE.
10869
62c9aa5f 108702003-01-29 Jan Hubicka <jh@suse.cz>
9b74f3ea
JH
10871
10872 * i386.md (subdi3_carry_rex64): Fix typo.
10873
e150159c
SS
108742003-01-28 Stan Shebs <shebs@apple.com>
10875
10876 * coretypes.h (cpp_reader): Forward declare struct.
10877 * c-pragma.h (cpp_reader): Remove forward declaration.
10878 * hashtable.h (cpp_reader): Likewise.
10879 * scan.h (cpp_reader): Likewise.
10880 * tree.h (cpp_reader): Likewise.
10881 * config/darwin-protos.h (cpp_reader): Likewise.
10882 * config/arm/arm-protos.h (cpp_reader): Likewise.
10883 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
10884 struct cpp_reader in prototypes.
10885
53b50ac1
CC
108862003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
10887
10888 * doc/install.texi: Add documentation for installation into
10889 tooldirs and with DESTDIR.
10890
021aa6ed
RH
108912003-01-28 Richard Henderson <rth@redhat.com>
10892
10893 * config.gcc (ia64*-*-aix*): Remove.
10894 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
10895 * config/ia64/unwind-aix.c: Remove file.
10896
c1c1d123
AS
108972003-01-28 Andreas Schwab <schwab@suse.de>
10898
ff6e2d3e
RB
10899 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
10900 register.
10901 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
10902 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
10903 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
10904 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
10905 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
10906 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
10907 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 10908
6d09ef27
RS
109092003-01-28 Richard Sandiford <rsandifo@redhat.com>
10910
10911 * combine.c (nonzero_bits): Fix check for negative divide operands.
10912
1e1bd14e
RH
109132003-01-28 Richard Henderson <rth@redhat.com>
10914
10915 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
10916 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
10917
e37135f7
RH
109182003-01-28 Richard Henderson <rth@redhat.com>
10919
10920 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
10921
75642f32
RH
10922 * config/cris/cris.c (cris_address_cost): Make static.
10923 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
10924 * config/cris/cris.h (ADDRESS_COST): Remove.
10925 * config/cris/cris-protos.h: Update.
10926
e37135f7 109272003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
10928
10929 * regclass.c (init_reg_autoinc): New function.
10930 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 10931 here...
1f80c9ef 10932 (init_regs): to here. Avoids reinitialization for each function,
26182e15 10933 saving compilation time.
1f80c9ef 10934
9fbd3e41
JM
109352003-01-28 Jason Merrill <jason@redhat.com>
10936
10937 * cpplib.h (struct cpp_options): Add warn_deprecated field.
10938 * cppinit.c (cpp_create_reader): Turn it on by default.
10939 * c-opts.c (c_common_decode_option): Set it.
10940 * cpplib.c (do_pragma_once): Only complain about #pragma once
10941 if warn_deprecated is set.
10942
fe352c29 109432003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 10944
1e1bd14e
RH
10945 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
10946 * loop.c (scan_loop): Move movables on -Os rich-register targets.
10947 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 10948
dcefdf67
RH
109492003-01-28 Richard Henderson <rth@redhat.com>
10950
10951 * target.h (targetm.address_cost): New.
10952 * target-def.h (TARGET_ADDRESS_COST): New.
10953 (TARGET_RTX_COSTS): Uncomment. Oops.
10954 * cse.c (address_cost): Use new target hook.
10955 (default_address_cost): New.
10956 * output.h (default_address_cost): Declare.
10957 * hooks.c (hook_int_rtx_0): New.
10958 * hooks.h (hook_int_rtx_0): Declare.
10959 * loop.c (combine_givs_p): Remove if 0 code.
10960 * system.h (ADDRESS_COST): Poison.
10961
10962 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
10963 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
10964 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
10965 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
10966 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
10967 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
10968 config/xtensa/xtensa.c, config/xtensa/xtensa.h
10969 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
10970 (ADDRESS_COST): Remove.
10971
10972 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
10973 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
10974 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
10975 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
10976 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
10977 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
10978 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
10979 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 10980 config/mips/mips.c, config/mips/mips.h,
dcefdf67 10981 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 10982 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
10983 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
10984 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
10985 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
10986 config/vax/vax.c, config/vax/vax.h
10987 (foo_address_cost): Make static.
10988 (TARGET_ADDRESS_COST): New.
10989 (ADDRESS_COST): Remove.
10990
10991 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
10992 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
10993 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
10994 config/stormy16/stormy16.h
10995 (ADDRESS_COST): Move code ...
10996 (foo_address_cost): ... here.
10997 (TARGET_ADDRESS_COST): New.
10998
10999 * config/m32r/m32r.c (m32r_address_cost): Remove.
11000 * config/m32r/m32r-protos.h: Update.
11001
11002 * config/mmix/mmix.c (mmix_address_cost): Remove.
11003 * config/mmix/mmix-protos.h: Update.
11004
11005 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
11006 mn10300_address_cost; move unsig allocation ...
11007 (mn10300_address_cost): ... here.
11008 (TARGET_ADDRESS_COST): New.
11009 * config/mn10300/mn10300-protos.h: Update.
11010 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
11011
75642f32
RH
11012 * doc/tm.texi: Update.
11013
58fb7809
VM
110142003-01-28 Vladimir Makarov <vmakarov@redhat.com>
11015
11016 * haifa-sched.c (schedule_insn): Return necessary cycle advance
11017 after issuing the insn.
11018 (rank_for_schedule): Make a insn with /S the highest priority
11019 insn.
11020 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
11021 (choose_ready): Check SCHED_GROUP_P.
11022 (schedule_block): Advance cycle after issuing insn if it is
11023 necessary. Don't reorder insns if there is an insn with /S.
11024 (set_priorities): Ignore schedule groups.
11025
11026 * sched-deps.c (remove_dependence, group_leader): Remove the
11027 functions.
11028 (add_dependence): Ignore schedule groups.
11029 (set_sched_group_p): Don't make copy of dependencies from previous
11030 insn of the schedule group. Add anti-dependency to the previous
11031 insn of the schedule group.
11032 (compute_forward_dependences): Ignore schedule groups.
11033
11034 * sched-ebb.c (init_ready_list): Ignore schedule groups.
11035
11036 * sched-rgn.c (init_ready_list): Ditto.
11037 (can_schedule_ready_p): Ditto.
ff6e2d3e 11038
371c988b
VM
110392003-01-28 Vladimir Makarov <vmakarov@redhat.com>
11040
11041 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
11042 register to another one.
11043
40cdfd5a
RH
110442003-01-28 Richard Henderson <rth@redhat.com>
11045
11046 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
11047
a77b7e32
RS
110482003-01-28 Roger Sayle <roger@eyesopen.com>
11049
11050 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
11051
3620944c
RS
110522003-01-28 Richard Sandiford <rsandifo@redhat.com>
11053
11054 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
11055 class contains a floating-point register, return the size of the
11056 mode in half words.
11057
62c9aa5f 110582003-01-28 Jan Hubicka <jh@suse.cz>
e6e81735 11059
26182e15
SB
11060 * i386.c (ix86_carry_flag_operator): New predicate.
11061 (fcmov_operator): Fix whitespace.
11062 (ix86_expand_carry_flag_compare): Deal with floating point.
11063 (ix86_expand_int_movcc): Deal with fp; update insn expansion
11064 (ix86_expand_int_addcc): Likewise.
11065 (ix86_expand_strlensi_unroll_1): likewsie.
11066 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
11067 * i386.md (add?i_carry_rex64): Use new predicate.
11068 (sub?i3_carry_rex64): Likewise.
11069 (x86_mov?icc_0_m1*): Likewise.
e6e81735 11070
43196589
AS
110712003-01-28 Andreas Schwab <schwab@suse.de>
11072
32214c32
AS
11073 * cfgloopmanip.c (create_preheader): Initialize src to avoid
11074 warning.
11075
11076 * expmed.c (emit_store_flag): Fix cast to avoid sign
11077 comparison warning.
11078
43196589
AS
11079 * combine.c (force_to_mode): Add cast to fix warning when
11080 STORE_FLAG_VALUE is negative.
11081
3c50106f
RH
110822003-01-27 Richard Henderson <rth@redhat.com>
11083
11084 * Makefile.in (cse.o): Depend on TARGET_H.
11085 * cse.c (rtx_cost): Use targetm.rtx_costs.
11086 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
11087 * doc/tm.texi: Update.
ff6e2d3e 11088
3c50106f
RH
11089 * target.h (targetm.rtx_costs): New.
11090 * target-def.h (TARGET_RTX_COSTS): New.
11091 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
11092 * hooks.h: Update.
11093
11094 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
11095 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
11096 * config/alpha/alpha.h (PROCESSOR_MAX): New.
11097 (CONST_COSTS, RTX_COSTS): Remove.
11098
11099 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
11100 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
11101 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
11102 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
11103 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
11104 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
11105 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
11106 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
11107 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
11108 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
11109 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
11110 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
11111 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
11112 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
11113 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
11114 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
11115 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
11116 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
11117 config/v850/v850.c, config/v850/v850.h,
11118 config/xtensa/xtensa.c, config/xtensa/xtensa.h
11119 (CONST_COSTS, RTX_COSTS): Move code ...
11120 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
11121
11122 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
11123 (arm_rtx_costs, TARGET_RTX_COSTS): New.
11124 * config/arm/arm-protos.h: Update.
11125 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
11126
11127 * config/avr/avr.h (CONST_COSTS): Move code ...
11128 * config/avr/avr.c (avr_rtx_costs): ... here.
11129 (default_rtx_costs): Make static.
11130 * config/avr/avr-protos.h: Update.
11131
11132 * config/h8300/h8300.c (const_costs): Make static.
11133 (h8300_and_costs, h8300_shift_costs): Likewise.
11134 * config/h8300/h8300-protos.h: Update.
11135
11136 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
11137 (CONST_COSTS): Move code ...
11138 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
11139 default_rtx_costs; update for signature change.
11140 * config/ip2k/ip2k-protos.h: Update.
11141
11142 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
11143 (CONST_COSTS): Move code ...
11144 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
11145 (TARGET_RTX_COSTS): New.
11146 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
11147 * config/m68hc11/m68hc11-protos.h: Update.
11148
11149 * config/m68k/m68k.c (const_int_cost): Make static.
11150 * config/m68k/m68k-protos.h: Update.
11151
11152 * config/mcore/mcore.c (mcore_const_costs): Make static.
11153 (mcore_and_cost, mcore_ior_cost): Likewise.
11154 * config/mcore/mcore-protos.h: Update.
11155
11156 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
11157 (mmix_rtx_cost_recalculated): Remove.
11158 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
11159 * config/mmix/mmix-protos.h: Update.
11160
11161 * config/sh/sh.c (shiftcosts): Make static.
11162 (addsubcosts, andcosts, multcosts): Likewise.
11163 * config/sh/sh-protos.h: Update.
11164
11165 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
11166 (sparc_rtx_costs): Make static; update for change in signature.
11167 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
11168 * config/sparc/sparc-protos.h: Update.
11169
11170 * config/v850/v850.c (const_costs): Make static.
11171 * config/v850/v850-protos.h: Update.
11172
11173 * config/vax/vax.h (RTX_COSTS): Remove.
11174 (CONST_COSTS): Move code ...
11175 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
11176 from vax_rtx_cost.
11177 (vax_rtx_costs, TARGET_RTX_COSTS): New.
11178
b9962e0a
RH
111792003-01-27 Richard Henderson <rth@redhat.com>
11180
11181 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 11182 * config/vax/vax-protos.h: Update. Really.
b9962e0a 11183
8a381273
AO
111842003-01-28 Alexandre Oliva <aoliva@redhat.com>
11185
11186 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
11187 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
11188 zero if no hardware floating point.
11189 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
11190 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
11191 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
11192 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
11193 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
11194 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
11195 even FP registers on N32 and N64.
11196 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
11197 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
11198 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
11199 even-register-like alignment to 128-bit arguments.
11200 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
11201 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
11202 on N32 or N64.
11203 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
11204 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
11205 (TPBIT): Set to tp-bit.c.
11206 (tp-bit.c): Create out of fp-bit.c.
11207
820e01be
GDR
112082003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
11209
11210 * c-parse.in: Remove '%expect 32' directive in objc mode.
11211
23af32e6
NS
112122003-01-27 Nathan Sidwell <nathan@codesourcery.com>
11213
11214 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
11215 (LIBGCOV): New variable.
11216 (libgcc.mk): Add LIBGCOV.
11217 (LIBGCC_DEPS): Add libgcov.c.
11218 (libgcov.a): New target.
11219 (clean): Remove libgcov.a.
11220 (install-libgcc): Do libgcov too.
11221 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
11222 with libgcov.a.
11223 * libgcc2.c (L_gcov): Move into ...
11224 * libgcov.c: ... here. New file.
11225 * mklibgcc.in: Add libgcov rules.
11226 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
11227
11228 * doc/invoke.texi (profile-arcs, test-coverage): Update and
11229 clarify.
ff6e2d3e 11230
23af32e6
NS
11231 * profile.c (index_counts_file): Remove duplicate check for open file.
11232
9fe42917 112332003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
11234
11235 * gcc/doc/invoke.texi (Optimization Options): Group together
11236 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 11237 out of this section. Group floating point flags together.
d4463dfc
JQ
11238 (Code Gen Options): Move trapv and bounds-check to here.
11239
244d05fb
JZ
112402003-01-27 Josef Zlomek <zlomekj@suse.cz>
11241
11242 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
11243
c552c146
RE
112442003-01-27 Richard Earnshaw <rearnsha@arm.com>
11245
11246 PR optimization/9090
11247 * function.c (purge_addressof_1): After pushing an addressed register
11248 onto the stack, simplify the result.
11249
90a21764
VR
112502003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11251
11252 * doc/extend.texi: Fix typo.
11253
9a376494
VR
112542003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11255
11256 * doc/cppopts.texi: Fix typo.
11257 * doc/objc.texi: Likewise.
11258 * doc/passes.texi: Likewise.
11259
f004e5f3
AO
112602003-01-27 Alexandre Oliva <aoliva@redhat.com>
11261
11262 * real.c (ibm_extended_format): Add 53 to minimum exponent.
11263 (encode_ibm_extended): Adjust.
11264
58c60e52
GDR
112652003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
11266
11267 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
11268 timevar_id enumerations.
11269
e869aa39
KH
112702003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11271
11272 * combine.c: Fix formatting.
11273
74fb4811
KH
112742003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11275
11276 * doc/gccint.texi: Update the copyright.
11277
3bcf1b13
KH
112782003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11279
11280 * doc/cpp.texi: Fix typos.
11281 * doc/extend.texi: Likewise.
11282 * doc/gty.texi: Likewise.
11283 * doc/install.texi: Likewise.
11284 * doc/passes.texi: Likewise.
11285 * doc/rtl.texi: Likewise.
11286 * doc/tm.texi: Likewise.
11287
9e4f94de
KH
112882003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11289
11290 * config/ia64/fde-glibc.c: Fix comment typos.
11291 * config/ia64/hpux.h: Likewise.
11292 * config/ia64/ia64.c: Likewise.
11293 * config/ia64/ia64.h: Likewise.
11294 * config/ia64/unwind-ia64.c: Likewise.
11295
4aae8a9a
KH
112962003-01-26 Kazu Hirata <kazu@cs.umass.edu>
11297
11298 * config/i386/i386-modes.def: Fix comment typos.
11299 * config/i386/i386.c: Likewise.
11300 * config/i386/i386.md: Likewise.
11301
35d8c8e2
SB
113022003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
11303
11304 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
11305 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
11306 ASM_FINISH_DECLARE_OBJECT before defining it.
11307 * toplev.c (rest_of_decl_compilation): Don't define
11308 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
11309 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
11310 parameters for DWARF2 targets because they _are_ used.
11311
ea976606
AO
113122003-01-26 Alexandre Oliva <aoliva@redhat.com>
11313
b44cf3d9
AO
11314 * fp-bit.h: Define macros for TFmode floating-point constants
11315 in IBM-extended TFmode types.
11316 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
11317 widths.
11318 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
11319 TFmode type.
11320
ea976606
AO
11321 * config/fp-bit.h: Define macros for TFmode floating-point
11322 constants in IEEE quad TFmode type. Declare functions according
11323 to L_ macros.
11324 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
11325 (TFtype, TItype, UTItype): Define if TMODES is defined.
11326 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
11327 (F_T_BITOFF, D_T_BITOFF): Define.
11328 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
11329 guaranteed to be wide enough.
11330 * config/fp-bit.c: Check for L_ macros for tf functions.
11331 (__thenan_tf): New.
11332 (nan): Adjust.
11333 (pack_d, unpack_d): Support IEEE 854 quad type.
11334 (_fpmul_parts): Support TFmode. Compute exponent adjustment
11335 from FRAC_NBITS, FRAC_BITS and NGARDS.
11336 (usi_to_float): Cast constants to be shifted to fractype
11337 instead of assuming long long is wide enough.
11338 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
11339
fd7fd61e
AJ
113402003-01-26 Andreas Jaeger <aj@suse.de>
11341
11342 * df.c: Remove prototype of unused function df_regno_rtl_debug.
11343
8ae91fc0
AO
113442003-01-26 Alexandre Oliva <aoliva@redhat.com>
11345
88e83acb
AO
11346 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
11347 (DBBIT_FUNCS): Added _df_to_tf.
11348 (TPBIT_FUNCS): New.
11349 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
11350 (LIBGCC_DEPS): Added TPBIT.
11351 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
11352
2cd622c3
AO
11353 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
11354 been able to move the result to target.
11355
8ae91fc0
AO
11356 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
11357 for the appropriate mode.
11358
c3297561
AO
11359 * calls.c (emit_library_call_value_1): Handle return values
11360 in a PARALLEL.
11361
187515f5
AO
11362 * rtl.c (get_mode_alignment): Moved to...
11363 * stor-layout.c: ... here.
11364
6ebd2ef4
AO
11365 * print-rtl.c (print_rtx): Don't print MEM details in
11366 GENERATOR_FILEs.
11367
7890e8f3
MH
113682003-01-26 Michael Hayes <mph@paradise.net.nz>
11369
11370 * df.h: Update comments, tidy formatting.
11371 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
11372 REVERSE, UNION, INTERSECTION. All uses updated.
11373 (OLD_DF_INTERFACE): Remove.
11374 (struct insn_info): Remove commented out insn field.
11375 * df.c: Update comments, tidy formatting.
11376 (df_def_table_realloc): Remove.
11377
11378
b820d2b8
AM
113792003-01-26 Alan Modra <amodra@bigpond.net.au>
11380
11381 * calls.c (save_fixed_argument_area): Tidy.
11382 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
11383 (expand_call): Comment typo fixes. Don't init low_to_save. Start
11384 call chain loop at 1 if !try_tail_call. Formatting.
11385 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
11386 Use save_fixed_argument_area and restore_fixed_argument_area.
11387
42510de4
MH
113882003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11389
11390 * df.c (df_uses_record): Handle CC0.
11391
acf9fa5f
UW
113922003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
11393
1e1bd14e
RH
11394 * reload.c (maybe_memory_address_p): New function.
11395 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 11396
5a09edba
KK
113972003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
11398
11399 * final.c (shorten_branches): Align the address of code label
1e1bd14e 11400 when computing initial lengths and addresses.
5a09edba 11401
f5818c0c
KH
114022003-01-25 Kazu Hirata <kazu@cs.umass.edu>
11403
11404 * config/m68hc11/m68hc11.md: Fix a comment typo.
11405
21ff35fb
AJ
114062003-01-25 Andreas Jaeger <aj@suse.de>
11407
11408 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
11409 TARGET_MACHO.
11410
7821bfc7
RS
114112003-01-25 Roger Sayle <roger@eyesopen.com>
11412
11413 * gcse.c (bypass_last_basic_block): New global variable.
11414 (bypass_block): Use redirect_edge_and_branch_force to redirect
11415 fall-through edges. Use bypass_last_basic_block to determine
11416 which blocks have valid PRE information.
11417 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
11418
62c9aa5f 114192003-01-25 Jan Hubicka <jh@suse.cz>
5f0bea72
JH
11420
11421 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
11422
62c9aa5f 114232003-01-25 Jan Hubicka <jh@suse.cz>
1649d92f
JH
11424 Eric Botcazou <ebotcazou@libertysurf.fr>
11425 PR opt/8492
11426 * gcse.c (one_cprop_pass): Delete unreachable blocks.
11427
6ca86a1a
RH
114282003-01-25 Richard Henderson <rth@redhat.com>
11429
11430 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
11431 from ia64_aix_select_rtx_section.
11432 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
11433 instead of saving and restoring flag_pic.
11434 (ia64_rwreloc_unique_section): Similarly.
11435 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
11436 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
11437 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
11438 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
11439
aa2fb4dd
KH
114402003-01-25 Kazu Hirata <kazu@cs.umass.edu>
11441
11442 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
11443 comment.
11444
c876997f 114452003-01-25 Richard Henderson <rth@redhat.com>
1125849a
RH
11446
11447 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
11448
c876997f 114492003-01-25 Kelley Cook <kelleycook@comcast.net>
3900a23b
KC
11450
11451 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
11452
72e42e26
SB
114532003-01-25 Segher Boessenkool <segher@koffie.nl>
11454
11455 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
11456 type for bitmaps. Use unsigned long.
11457 (nBITMAP_WORD_BITS): New macro.
11458 (BITMAP_WORD_BITS): New macro.
11459 (rest of file): Use it.
11460 * bitmap.c: Use it.
11461
8324663f
RH
114622003-01-25 Richard Henderson <rth@redhat.com>
11463
11464 2002-02-19 Robert Lipe <robertlipe@usa.net>
11465 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
11466
c876997f 114672003-01-25 Roger Sayle <roger@eyesopen.com>
2adc9b0f
RS
11468
11469 * builtins.c (purge_builtin_constant_p): Scan insn stream
11470 sequentially rather than by basic block.
11471 * function.c (purge_addressof): Simplify test with INSN_P.
11472
ad487c38
KH
114732003-01-25 Kazu Hirata <kazu@cs.umass.edu>
11474
8324663f 11475 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 11476
c876997f 114772003-01-25 Roger Sayle <roger@eyesopen.com>
07d9b20d
RS
11478
11479 * function.h (struct function): New field calls_constant_p.
11480 (current_function_calls_constant_p): New macro for above.
11481 * function.c (prepare_function_start): Initialize calls_eh_return
11482 and calls_constant_p.
11483 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
11484 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
11485 when the current_function_calls_constant_p.
11486 * integrate.c (expand_inline_function): Set calls_constant_p if
11487 the function being inlined has calls_constant_p set.
11488
c876997f 114892003-01-25 Roger Sayle <roger@eyesopen.com>
41559112
RS
11490
11491 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
11492 optimizing, even if flag_gcse is true.
11493 * toplev.c (rest_of_compilation): purge_builtin_constant_p
11494 only needs to be called when "optimize > 0 && flag_gcse".
11495
9bb231fd
RS
114962003-01-25 Roger Sayle <roger@eyesopen.com>
11497
11498 * stmt.c (emit_case_bit_tests): New routine to implement suitable
11499 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
11500 (case_bit_test_cmp): New comparison function for "qsort" to order
11501 case_bit_tests by decreasing number of destination nodes.
11502 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
11503 (expand_end_case_type): Use emit_case_bit_tests to implement
11504 suitable switch statments.
11505 (CASE_USE_BIT_TESTS): New target macro to disable the above.
11506 * Makefile.in (stmt.o): Add dependency on optab.h.
11507 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
11508
a073323c
AS
115092003-01-23 Andreas Schwab <schwab@suse.de>
11510
11511 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
11512 __do_global_ctors_aux hidden global and don't put it in
11513 .init_array.
11514 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
11515 instead so that it comes first.
11516
62c9aa5f 115172003-01-25 Jan Hubicka <jh@suse.cz>
36ddc6b0
JH
11518
11519 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
11520 subreg is read/modify.
11521
62c9aa5f 115222003-01-25 Jan Hubicka <jh@suse.cz>
26771da7
JH
11523
11524 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
11525 do libcall for large blocks.
11526 * i386.md (comi patterns): Set type to ssecomi.
11527 (sse2_unpck?pd): Fix mode of vec_select.
11528
11529 * cse.c: Include except.h
11530 (cse_set_around_loop): Do not create new basic blocks.
11531 * Makefile.in (cse.o): Add dependnecy on except.h
11532
62c9aa5f 115332003-01-25 Jan Hubicka <jh@suse.cz>
27a6aa72
JH
11534
11535 * builtins.c (fold_trunc_transparent_mathfn): New function.
11536 (fold_builtin): Use it.
11537 * convert.c (convert_to_real): Re-enable code to convert
11538 math functions; add support for floor familly functions.
11539
cd68f4e4
ZD
115402003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11541
11542 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
11543 dependencies on coretypes.h and $(TM_H).
11544
62c9aa5f 115452003-01-25 Jan Hubicka <jh@suse.cz>
67945f2e
JH
11546
11547 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
11548
c876997f 115492003-01-24 Stuart Hastings <stuart@apple.com>
095fa594 11550
08f0414b 11551 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 11552
1e4c04e0
MH
115532003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11554
11555 * config/c4x/c4x.md (UNSPEC_BU): New constants.
11556 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
11557 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
11558 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
11559 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
11560 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
11561 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
11562 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
11563
62c9aa5f 115642003-01-24 Jan Hubicka <jh@suse.cz>
a560d4d4 11565
08f0414b 11566 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
11567 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
11568 functions.
11569 (reg_rtx): Do not maintain regno_decl.
11570 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
11571 set_mem_attrs_from_reg): New global function.
11572 (init_emit): Do not initialize regno_decl.
11573 (init_emit_once): initialize reg_attrs_htab.
11574 * final.c (alter_subreg): Do not replace REG by SUBREG.
11575 (gen_mem_expr_from_op): Improve output.
11576 (output_asm_operands): Likewise.
11577 * function.c (assign_params): Do not set REGNO_DECL.
11578 * function.h (struct function): Kill regno_decl.
11579 (REGNO_DECL): Kill.
11580 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
11581 * print_rtl.c (print_rtx): Output REG information.
11582 * regclass.c (reg_scan_mark_refs): Update attrs.
11583 * reload1.c (alter_reg): Likewise.
11584 * simplify_rtx.c (simplify_subreg): Likewise.
11585 * stmt.c (expand_decl): Likewise.
11586 * rtl.def (REG): Add new field.
11587 * rtl.h (struct reg_attrs): New.
11588 (rtunion_def): At rtreg.
11589 (X0MEMATTR): Add checking.
11590 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
11591 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
11592 Declare.
11593 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
11594
1d0ea52e
BW
115952003-01-24 Bob Wilson <bob.wilson@acm.org>
11596
11597 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
11598 (xtensa_emit_call, print_operand): Fix printf format strings
11599 to avoid compile warnings.
11600 (xtensa_function_prologue, xtensa_function_epilogue): Change type
11601 of "size" argument to HOST_WIDE_INT to fix compile warnings.
11602 * config/xtensa/xtensa-protos.h
11603 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
11604
62c9aa5f 116052003-01-24 Jan Hubicka <jh@suse.cz>
272f51a3
JH
11606
11607 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
11608 (implicit_built_in_decls): New global array.
11609 (mathfn_built_in): New global function.
11610 (fold_trunc_transparent_mathfn): New static function
11611 (expand_builtin_strstr, expand_bultin_strchr,
11612 expand_builtin_strpbrk, expand_builtin_strcpy,
11613 expand_builtin_strncpy, expand_bultin_strcmp,
11614 expand_bultin_strncat, expand_builtin_fputs): Use
11615 implicint_built_in_decls.
11616 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
11617 * builtins.def: Fix comments.
11618 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
11619 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
11620 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
11621 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
11622 (DEF_C99_C90RES_BULTIN): New.
11623 (*f, *l builtins): Update.
11624 * c-common.c (DEF_BUILTIN): Initialize implicit array.
11625 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
11626 * convert.c (strip_float_extensions): New global function.
11627 * tree.h (DEF_BUILTIN): Accept 10 arguments.
11628 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
11629 Declare.
11630 * java/builtins.c (define_builtin): Handle implicit.
11631 (DEF_BUILTIN): Update.
11632 * tm.texi (TARGET_C99_FUNCTIONS): Document.
11633 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
11634 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
11635 when using glibc2.
11636
1f37a5b2
BW
116372003-01-24 Bob Wilson <bob.wilson@acm.org>
11638
11639 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
11640 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
11641 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
11642 * config/xtensa/crti.asm: New file.
11643 * config/xtensa/crtn.asm: New file.
11644 * config/xtensa/t-elf: New file.
11645 * config/xtensa/t-linux: New file.
11646 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
11647 Move various CFLAGS settings to new t-elf file.
11648
84f5e1b1
RH
116492003-01-24 Richard Henderson <rth@redhat.com>
11650
11651 PR optimization/4382
11652 * tree-inline.c (find_builtin_longjmp_call_1): New.
11653 (find_builtin_longjmp_call): New.
11654 (inlinable_function_p): Use it.
11655
09b2e78d
ZD
116562003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11657
11658 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
11659 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
11660 * config/i386/i386.c (function_arg_pass_by_reference): New.
11661 (ix86_va_arg): Support arguments passed by reference.
11662
3d436d2a
ZD
116632003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11664
11665 * cfgloopanal.c: New file.
11666 * cfgloopmanip.c: New file.
11667 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
11668 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
11669 cfglayout.o): Add dependency on cfgloop.h.
11670 (cfgloop.o): Add flags.h dependency.
11671 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
11672 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
11673 (struct loop, struct loops, flow_loops_find, flow_loops_update,
11674 flow_loops_free, flow_loops_dump, flow_loop_dump,
11675 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
11676 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
11677 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
11678 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
11679 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
11680 find_common_loop, verify_loop_structure): Declarations moved to ...
11681 * cfgloop.h: New file.
11682 * bb-reorder.c (reorder_basic_blocks): Modified.
11683 * cfglayout.c: Include cfgloop.h.
11684 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
11685 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
11686 (break_superblocks): New static function.
11687 (cfg_layout_finalize): Use it.
11688 (cfg_layout_split_block): New function.
11689 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
11690 fields.
11691 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
11692 changed.
11693 (cfg_layout_split_block): Declare.
11694 * cfgloop.c: Include cfgloop.h and flags.h.
11695 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
11696 get_loop_body): Avoid signed versus unsigned comparison warnings.
11697 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
11698 loop_latch_edge): Modified.
11699 (verify_loop_structure): Modified to use flags stored in loop structure;
11700 check irreducible loops.
11701 (cancel_loop, cancel_loop_tree): New functions.
11702 (estimate_probability): Use loop analysis code for predictions.
11703 (estimate_loops_at_level): Avoid signed versus unsigned comparison
11704 warnings.
11705 * doloop.c: Include cfgloop.h.
11706 * loop.c: Include cfgloop.h.
11707 * predict.c: Include cfgloop.h.
11708 * toplev.c: Include cfgloop.h.
11709 * unroll.c: Include cfgloop.h.
11710 * tracer.c (tracer): Modified.
11711
a38b3eea
KH
117122003-01-24 Kazu Hirata <kazu@cs.umass.edu>
11713
11714 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
11715
fd3cd001
UW
117162003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
11717
11718 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
11719 * configure: Regenerate.
11720
11721 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
11722 (tls_symbolic_reference_mentioned_p): Add prototype.
11723 (s390_tls_get_offset): Add prototype.
11724 (emit_pic_move): Remove prototype, replace by ...
11725 (emit_symbolic_move): .. this new prototype.
11726
11727 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
11728 (tls_model_chars): New global variable.
11729 (s390_encode_section_info): Encode TLS model.
11730 Use targetm.binds_local_p to check for local symbols.
11731 (s390_strip_name_encoding): New function.
11732 (TARGET_STRIP_NAME_ENCODING): Define.
11733
11734 (get_thread_pointer): New function.
21ff35fb 11735 (legitimize_tls_address): New function.
fd3cd001
UW
11736 (legitimize_address): Call it.
11737 (emit_pic_move): Remove, replace by ...
11738 (emit_symbolic_move): ... this new function.
11739
11740 (larl_operand): Handle TLS operands.
11741 (legitimate_constant_p): Likewise.
11742 (s390_decompose_address): Likewise.
11743 (s390_cannot_force_const_mem): New function.
11744 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
11745
11746 (s390_output_symbolic_const): Handle TLS unspecs.
11747 (print_operand): New code 'J'.
11748 (machine_function): Add struct member 'some_ld_name'.
11749 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
11750
11751 (enum s390_builtin): New type.
11752 (code_for_builtin_64, code_for_builtin_31): New global variables.
11753 (s390_init_builtins, s390_expand_builtin): New functions.
11754 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
11755
11756 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
11757 (ASM_OUTPUT_LABELREF): Define.
11758 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
11759
11760 * config/s390/s390.md: Define TLS UNSPEC constants.
11761 ("movdi", "movsi"): Handle TLS operands.
11762 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
11763 ("*tls_load_64", "*tls_load_31"): New insns.
11764 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 11765 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
11766 "bas_tls_64", "bas_tls_31"): New insns.
11767
01f4962d
NS
117682003-01-24 Nathan Sidwell <nathan@codesourcery.com>
11769
11770 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
11771 spe ABI is configured, if requested.
11772
70b91854
VR
117732003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11774
11775 * doc/passes.texi: Fix typo.
11776
b8089d8d
AS
117772003-01-24 Andreas Schwab <schwab@suse.de>
11778
11779 * stor-layout.c (excess_unit_span): Only define if used.
11780
38df970e
JQ
117812003-01-24 Jerry Quinn <jlquinn@optonline.net>
11782
11783 * gcc/doc/invoke.texi (Optimization Options): List -O levels
11784 for each optimization flag.
11785
dff23a65
KH
117862003-01-24 Kazu Hirata <kazu@cs.umass.edu>
11787
11788 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
11789
05739753
VR
117902003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11791
11792 * doc/bugreport.texi: Use @command instead of @code for commands.
11793 * doc/collect2.texi: Likewise.
11794 * doc/headerdirs.texi: Likewise.
11795 * doc/invoke.texi: Likewise.
11796 * doc/standards.texi: Likewise.
11797 * doc/tm.texi: Likewise.
11798 * doc/trouble.texi: Likewise.
11799
06bea5aa
NC
118002003-01-24 Nick Clifton <nickc@redhat.com>
11801
11802 * config/arm/arm.c (use_return_insn): Do not use a single return
11803 instruction for interrupt handelrs which have to create a stack
11804 frame.
11805 (arm_expand_prologue): Do not pre-bias the return address of
11806 interrupt handlers which create a stack frame.
11807
118082003-01-24 Nick Clifton <nickc@redhat.com>
11809
11810 * Add sh2e support:
11811
11812 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
11813
11814 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
11815 med_cbranches. Fix logic in short_cbranches.
11816
11817 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
11818
11819 * config/sh/sh.md (delay for cbranch): Don't annul delay
11820 slots on SH2e.
11821 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
11822 cbranch with unfilled delay slot on SH2e.
11823 (output_branch): Fill with a nop the delay slot of a
11824 branch that required a delay slot but didn't get one.
11825
11826 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
11827
11828 * doc/invoke.texi (SH options): Document -m2e.
11829 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
11830 * config/sh/lib1funcs.asm: Likewise.
11831 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
11832 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
11833 not __sh1__.
11834 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
11835 SH2E up.
11836 (SH3E_BIT): Renamed to...
11837 (SH_E_BIT): ... this. Replace all uses.
11838 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
11839 Replace all uses of TARGET_SH3E with TARGET_SH2E.
11840 (TARGET_SWITCHES): Added 2e.
11841 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
11842 (processor_type): Added PROCESSOR_SH2E.
11843 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
11844 TARGET_SH2E, except in sqrtsf2_i.
11845 (attribute cpu): Added sh2e.
11846 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
11847 (MULTILIB_MATCHES): Use m2e multilib for m3e.
11848 * config.gcc: Add sh2e target support.
11849
65ca2d60
PE
118502003-01-24 Phil Edwards <pme@gcc.gnu.org>
11851
11852 Rename -W to -Wextra.
11853 * c-decl.c: Update comments.
11854 * c-typeck.c: Likewise.
11855 * flags.h: Likewise.
11856 * function.c: Likewise.
11857 * stmt.c: Likewise.
11858 * toplev.c: Update comments.
11859 (W_options): Add 'extra'.
11860 (display_help): Remove '-W'.
11861 (decode_W_option): Special warn_uninitialized treatment in the case
11862 of -Wextra.
11863 * doc/invoke.texi: Update with new entries.
11864
3de9c088
RH
118652003-01-23 Richard Henderson <rth@redhat.com>
11866
8324663f
RH
11867 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
11868 in no-else-block case. Add commentary.
3de9c088 11869
49691411
KG
118702003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11871
b4862477
KG
11872 * configure.in: Revert last change.
11873
118742003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11875
11876 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
11877 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
11878 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
11879 ATTRIBUTE_UNUSED.
11880
11881 * configure: Regenerate.
11882
c4db7ecb
FS
118832003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11884
11885 PR java/6748
11886 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
11887 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
11888 kernels.
11889
fc69c47c
KG
118902003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11891
11892 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
11893
adbe6dfd
UW
118942003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
11895
11896 * genattrtab.c (write_attr_get): Mark 'insn' paramter
11897 as ATTRIBUTE_UNUSED.
11898
76a318e9
RE
118992003-01-23 Richard Earnshaw <rearnsha@arm.com>
11900
11901 * arm.c (thumb_base_register_rtx_p): New function.
11902 (thumb_index_register_rtx_p): New function.
11903 (thumb_legitimate_address_p): New function.
11904 (thumb_legitimate_offset_p): New function.
11905 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 11906 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
11907 definitions.
11908 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
11909 (THUMB_LEGITIMATE_OFFSET): Delte.
11910 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
11911 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
11912 (thumb_legitimate_offset_p): Likewise.
11913
9a600d0c
AS
119142003-01-23 Andreas Schwab <schwab@suse.de>
11915
11916 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
11917
2d110c0a
KG
119182003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11919
11920 * fixinc/Makefile.in (FL_LIST): Revert last change.
11921
2d1d9215
VR
119222003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11923
11924 PR other/7341
11925 * invoke.texi (ftest-coverage): Fix broken cross-reference.
11926 Change @code to @command for gcov command.
11927
11928 * gcc.texi: Adjust title of gcov section.
11929 Adjust copyright.
11930 * gcov.texi: Likewise.
11931
34ee7f82
RS
119322003-01-22 Roger Sayle <roger@eyesopen.com>
11933
11934 PR optimization/8423
11935 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
11936 its argument is constant, or 0 if !flag_gcse.
11937 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
11938 if it's argument is constant.
11939 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
11940 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
11941 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
11942 * builtins.c (purge_builtin_constant_p): New function to force
11943 instantiation of any remaining CONSTANT_P_RTX nodes.
11944 * rtl.h (purge_builtin_constant_p): Prototype here.
11945 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
11946 pass after GCSE and before loop.
11947 (flag_gcse): No longer static.
11948 * flags.h (flag_gcse): Prototype here.
11949
bab0b43b
UW
119502003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
11951
11952 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
11953 introduced by last change.
11954
7e657a61
AS
119552003-01-22 Andreas Schwab <schwab@suse.de>
11956
11957 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
11958
75a3503b
KH
119592003-01-22 Kazu Hirata <kazu@cs.umass.edu>
11960
11961 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
11962 request a scratch reg on H8S when the shift count is 8.
11963
4888ec5d
UW
119642003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
11965
11966 * config/s390/s390-protos.h (preferred_la_operand_p):
11967 Remove second parameter.
11968 * config/s390/s390.c (preferred_la_operand_p): Likewise.
11969 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
11970 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
11971 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
11972 Add peepholes to transform ADD to LOAD ADDRESS.
11973
6b990f6b
RE
119742003-01-22 Richard Earnshaw <rearnsha@arm.com>
11975
11976 * arm.c (arm_address_register_rtx_p): New function.
11977 (arm_legitimate_address_p): New function.
11978 (arm_legitimate_index_p): New function.
11979 (legitimize_pic_address): Use arm_legitimate_index_p.
11980 * arm-protos.h (arm_legtimate_address_p): Add prototype.
11981 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
11982 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
11983
f0bf1270
HP
119842003-01-22 Hartmut Penner <hpenner@de.ibm.com>
11985
11986 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
11987 * config/s390/2064.md (define_bypass): Correct 'Load' and
11988 'Load-address' bypass values.
21ff35fb 11989
fcb6a0f5
AS
119902003-01-22 Andreas Schwab <schwab@suse.de>
11991
11992 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
11993
c24b8026
ZW
119942003-01-21 Zack Weinberg <zack@codesourcery.com>
11995
11996 * genautomata.c (output_internal_insn_latency_func,
11997 output_print_reservation_func): Short circuit when there is no
11998 automaton to generate code for.
11999
38afe605
KG
120002003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12001
12002 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
12003 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
12004
d24652ee
GK
120052003-01-21 Geoffrey Keating <geoffk@apple.com>
12006
12007 * config/rs6000/rs6000.md: Remove warning.
12008 (builtin_setjmp_receiver): Likewise.
12009 * config/darwin.c (update_stubs): Slightly improve terrible hack
12010 with identifiers. Add comment pointing out problems with it.
12011 (update_non_lazy_ptrs): Likewise.
12012
1c99d804
RH
120132003-01-21 Richard Henderson <rth@redhat.com>
12014
12015 * dwarf2out.c (lookup_filename): Fix printf format warning.
12016 * system.h (fread_unlocked, fwrite_unlocked): Undef.
12017
12018 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
12019 (fixincl.o-warn, gnu-regex.o-warn): New.
12020 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
12021 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
12022 * fixinc/fixincl.c (process): Fix printf format warning.
12023
f0b886ab
UW
120242003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
12025
12026 * dwarf2out (output_file_names): Don't crash if called
12027 with empty file_table.
12028
490c57bb
ZW
120292003-01-21 Zack Weinberg <zack@codesourcery.com>
12030
12031 * genautomata.c (output_internal_insn_latency_func): Add
12032 missing break statement to generated code.
12033
100e3acb
RS
120342003-01-21 Roger Sayle <roger@eyesopen.com>
12035
12036 * stmt.c (same_case_target_p): New function to determine whether
12037 two case labels branch to the same target. Split out from...
12038 (group_case_nodes): ... here. Use same_case_target_p instead.
12039 (strip_default_case_nodes): Remove explicit case nodes
12040 that branch to the default destination.
12041 (expand_end_case_type): Call strip_default_case_nodes after
12042 group_case_nodes, to simplify the case-list before we count it.
12043 Only generate table_label RTX when actually needed. Try to share
12044 thiscase->exit_label and thiscase->data.case_stmt.default_label
12045 when a switch has no explicit default case. Simplify test for
12046 constant index.
12047
e8e8c1e5
KH
120482003-01-21 Kazu Hirata <kazu@cs.umass.edu>
12049
12050 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
12051 \t.
12052 (*negsf2_h8300hs): Likewise.
12053 (*addsi3_lshiftrt_16_zexthi): Likewise.
12054 (*iorhi3_lshiftrt_8): Likewise.
12055
044b4de3
UW
120562003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
12057
12058 * dwarf2out.c (fde_table_in_use): Mark GTY.
12059 (dwarf2out_cfi_label_num): New variable, marked GTY.
12060 (dwarf2out_cfi_label): Use it instead of static label_num.
12061 * emit-rtl.c (label_num): Mark GTY.
12062
cfedf91b
KH
120632003-01-21 Kazu Hirata <kazu@cs.umass.edu>
12064
12065 * config/h8300/h8300.c (output_plussi): Support H8/300.
12066 (compute_plussi_length): Likewise.
12067 (compute_plussi_cc): Likewise.
12068 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
12069 output assembly instructions.
12070
dd859b8a
KG
120712003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12072
1f5b3282
KG
12073 * calls.c (fix_unsafe_tree): Prototype.
12074
dd859b8a
KG
12075 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
12076 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
12077 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
12078 c-parse.o-warn): Add -Wno-error.
12079 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
12080
12081 * configure.in (--enable-werror): Add new flag.
12082 * doc/install.texi (--enable-werror): Document.
12083 * configure: Regenerate.
12084
12085 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
12086
4f9365e2
AS
120872003-01-21 Andreas Schwab <schwab@suse.de>
12088
12089 * genautomata.c (output_internal_insn_latency_func): Fix missing
12090 close paren in output.
12091
a543eb5e
ZW
120922003-01-21 Zack Weinberg <zack@codesourcery.com>
12093
12094 * genautomata.c: Space savings in generated code:
12095 (output_dfa_insn_code_func): Split out the table-enlargement
12096 path to an out-of-line static function, dfa_insn_code_enlarge.
12097 (output_internal_insn_latency_func): Use a lookup table for the
12098 default latencies.
12099 (output_print_reservation_func): Use a lookup table for the
12100 strings.
12101
292e35a3
CE
121022003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
12103
12104 PR opt/7507
12105 * calls.c (fix_unsafe_tree): Split out from ...
12106 (expand_call): ... here. Use it on the function address too.
12107
d8d0f5af
RH
121082003-01-20 Richard Henderson <rth@redhat.com>
12109
12110 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
12111
5b50aa9d
RH
121122003-01-20 Richard Henderson <rth@redhat.com>
12113
515e1c9f 12114 PR opt/7154
5b50aa9d
RH
12115 * stmt.c (expand_asm_operands): Validize memory operands.
12116
7a174a15
RH
121172003-01-20 Richard Henderson <rth@redhat.com>
12118
12119 PR opt/8848
12120 * ifcvt.c (noce_process_if_block): Correct arguments to
12121 modified_between_p for no-else-block case.
12122
9ac7ebba
KH
121232003-01-20 Kazu Hirata <kazu@cs.umass.edu>
12124
12125 * config/h8300/h8300.c (const_costs): Remove a warning.
12126 (output_plussi): Likewise.
12127 (compute_plussi_length): Likewise.
12128 (compute_plussi_cc): Likewise.
12129
309c52b5
KH
121302003-01-20 Kazu Hirata <kazu@cs.umass.edu>
12131
12132 * config/h8300/h8300.md (addsi_h8300): Remove the last
12133 alternative.
12134
b30686ec
KH
121352003-01-20 Kazu Hirata <kazu@cs.umass.edu>
12136
12137 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
12138
87608693
KG
121392003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12140
12141 * system.h (__NO_STRING_INLINES): Define.
12142
475c8250
JDA
121432003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12144
12145 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
12146 is not a scalar int mode.
12147
dbaff908
RS
121482003-01-20 Roger Sayle <roger@eyesopen.com>
12149
12150 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
12151 insn's notes following a substitution inside a libcall.
12152
da8a6064
ZW
121532003-01-20 Zack Weinberg <zack@codesourcery.com>
12154
12155 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 12156 * configure, config.in: Regenerate.
da8a6064
ZW
12157 * cpphash.h: Only typedef 'uchar' if the system doesn't.
12158
a4b1b92a
RH
121592003-01-20 Richard Henderson <rth@redhat.com>
12160
12161 * expr.h (MUST_PASS_IN_STACK): Move implementation...
12162 * calls.c (default_must_pass_in_stack): ... here.
12163
d530b07f
VM
121642003-01-20 Vladimir Makarov <vmakarov@redhat.com>
12165
da8a6064
ZW
12166 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
12167
d530b07f
VM
12168 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
12169
12170 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
12171 Wrap up definition of `insn_alts'.
12172
12173 * genattrtab.c (main): Wrap up `insn_alts'.
12174
351df804
KG
121752003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12176
12177 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
12178 prototyping.
12179 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 12180
351df804
KG
12181 * config.in, configure: Regenerate.
12182
e3289412
NC
121832003-01-20 Nick Clifton <nickc@redhat.com>
12184
12185 * config/arm/arm.md (sibcall_epilogue): Add an
12186 UNSPEC_PROLOGUE_USE to prevent the link register from being
12187 considered dead.
12188
62c9aa5f 121892003-01-20 Jan Hubicka <jh@suse.cz>
5794139a
JH
12190
12191 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
12192
0a18ddf9
AS
121932003-01-20 Andreas Schwab <schwab@suse.de>
12194
12195 * system.h: Don't declare strsignal if the decl test hasn't been
12196 run yet.
12197
d99c740f
KH
121982003-01-20 Kazu Hirata <kazu@cs.umass.edu>
12199
12200 * config/h8300/h8300.c (notice_update_cc): Don't assume that
12201 recog_data.operands[0] is always associated with cc0.
12202
825c5408
DE
122032003-01-19 David Edelsohn <edelsohn@gnu.org>
12204
12205 * collect2.c (ldgetname): Expand declaration to prototype.
12206 * read-rtl.c (atoll): Add prototype.
da3e0142 12207 * system.h (strsignal): Also declare if no declaration found.
825c5408 12208
3bd6d4c4
AO
122092003-01-19 Alexandre Oliva <aoliva@redhat.com>
12210
12211 * config.gcc (mips64*-*-linux*): Added.
12212 * config/mips/linux64.h, config/mips/t-linux64: New file.
12213 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
12214 * config/mips/mips.c (override_options): Use it.
12215 * config/mips/mips.h (TARGET_SWITCHES): Added...
12216 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
12217 * Makefile.in (SPECS): New.
12218 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
12219 * gcc.c (process_command): Move self-spec processing past spec
12220 file loading.
12221 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
12222 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
12223 CRTSTUFF_T_CFLAGS.
12224 (SPECS): Document.
12225 * doc/invoke.texi (-mabi-fake-default): Document.
12226
e9f13564
SC
122272003-01-19 Stephane Carrez <stcarrez@nerim.fr>
12228
12229 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
12230 z_reg, z_reg_qi): Declare static and GTY().
12231 (da_reg): Remove.
12232 (create_regs_rtx): Don't create da_reg.
12233 ("gt-m68hc11.h"): Include for GTY roots.
12234 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
12235 and GTY() here.
12236 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
12237 (m68hc11_soft_tmp_reg): Likewise.
12238 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
12239
32dd366d
KH
122402003-01-18 Kazu Hirata <kazu@cs.umass.edu>
12241
12242 * basic-block.h: Fix comment formatting.
12243 * calls.c: Likewise.
12244 * combine.c: Likewise.
12245 * convert.c: Likewise.
12246 * gcov.c: Likewise.
12247 * haifa-sched.c: Likewise.
12248 * libgcc2.c: Likewise.
12249 * loop.c: Likewise.
12250 * profile.c: Likewise.
12251 * system.h: Likewise.
12252
bc3cb712
RS
122532003-01-18 Roger Sayle <roger@eyesopen.com>
12254
12255 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
12256
25e42e9d
KG
122572003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12258
12259 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
12260
6f9c81f5
DJ
122612003-01-17 Dale Johannesen <dalej@apple.com>
12262
da8a6064 12263 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
12264 (*floatunssidf2_internal): Ditto.
12265
95bd1dd7
KH
122662003-01-17 Kazu Hirata <kazu@cs.umass.edu>
12267
12268 * alias.c: Fix comment typos.
12269 * basic-block.h: Likewise.
12270 * c-common.c: Likewise.
12271 * c-common.h: Likewise.
12272 * c-decl.c: Likewise.
12273 * c-opts.c: Likewise.
12274 * c-pragma.c: Likewise.
12275 * c-pretty-print.h: Likewise.
12276 * cfg.c: Likewise.
12277 * cfganal.c: Likewise.
12278 * cfgbuild.c: Likewise.
12279 * cfgcleanup.c: Likewise.
12280 * cfglayout.c: Likewise.
12281 * cfgrtl.c: Likewise.
12282 * convert.c: Likewise.
12283 * cpphash.h: Likewise.
12284 * cpplex.c: Likewise.
12285 * cpplib.h: Likewise.
12286 * df.h: Likewise.
12287 * diagnostic.c: Likewise.
12288 * diagnostic.h: Likewise.
12289 * dwarf2.h: Likewise.
12290
d5840e09
SS
122912003-01-17 Stan Shebs <shebs@apple.com>
12292
12293 * config/darwin-protos.h: Forward-declare struct cpp_reader.
12294
e607534b
DR
122952003-01-17 Douglas B Rupp <rupp@gnat.com>
12296
12297 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
12298 mistake in last checkin.
12299
fbe5a4a6
KH
123002003-01-17 Kazu Hirata <kazu@cs.umass.edu>
12301
12302 * et-forest.c: Fix comment typos.
12303 * et-forest.h: Likewise.
12304 * except.c: Likewise.
12305 * expr.c: Likewise.
12306 * flags.h: Likewise.
12307 * flow.c: Likewise.
12308 * gcc.c: Likewise.
12309 * gcse.c: Likewise.
12310 * genattrtab.c: Likewise.
12311 * genautomata.c: Likewise.
12312 * gengtype.c: Likewise.
12313 * genrecog.c: Likewise.
12314 * global.c: Likewise.
12315 * gthr-rtems.h: Likewise.
12316
095f9093
KG
123172003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12318
12319 * i386.c (x86_function_profiler): Fix format specifier.
12320
084087e1
RH
123212003-01-17 Richard Henderson <rth@redhat.com>
12322
12323 * gengtype.c (walk_type): Allow paramN_is.
12324
4a13592e
NC
123252003-01-17 Nick Clifton <nickc@redhat.com>
12326
12327 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
12328
01193617
RH
123292003-01-16 Richard Henderson <rth@redhat.com>
12330
12331 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
12332
f030826a
RH
123332003-01-16 Richard Henderson <rth@redhat.com>
12334
12335 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
12336 (alpha_next_sequence_number): Likewise.
12337 (alpha_this_literal_sequence_number): Likewise.
12338 (alpha_this_gpdisp_sequence_number): Likewise.
12339 (struct alpha_funcs, alpha_funcs_num): Likewise.
12340 (struct alpha_links): Fix branch merge error.
12341 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
12342
e1551d47
AO
123432003-01-17 Alexandre Oliva <aoliva@redhat.com>
12344
12345 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
12346 R. Ghazi.
12347
3d042e77
KH
123482003-01-16 Kazu Hirata <kazu@cs.umass.edu>
12349
12350 * ifcvt.c: Fix comment typos.
12351 * lcm.c: Likewise.
12352 * libgcc2.c: Likewise.
12353 * local-alloc.c: Likewise.
12354 * loop.c: Likewise.
12355 * predict.c: Likewise.
12356 * ra-build.c: Likewise.
12357 * ra.c: Likewise.
12358 * ra-colorize.c: Likewise.
12359 * ra.h: Likewise.
12360 * ra-rewrite.c: Likewise.
12361 * regmove.c: Likewise.
12362 * reload.h: Likewise.
12363 * rtlanal.c: Likewise.
12364 * toplev.c: Likewise.
12365 * tree.h: Likewise.
12366 * unwind-dw2-fde-glibc.c: Likewise.
12367 * vmsdbgout.c: Likewise.
12368
c4274b22
RH
123692003-01-16 Richard Henderson <rth@redhat.com>
12370
12371 * dwarf2out.c (struct file_table): Remove.
12372 (FILE_TABLE_INCREMENT): Remove.
12373 (file_table): Make a varray; mark for GC. Update all users.
12374 (file_table_last_lookup_index): Extract from struct file_table.
12375 (output_file_names): Fix unsigned compare warnings.
12376 (add_name_attribute): Remove inline marker.
12377 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
12378 (lookup_filename): Don't manage size of file_table.
12379 (init_file_table): Allocate file_table with GC.
12380 (dwarf2out_init): Don't record main_input_filename here.
12381 (dwarf2out_finish): Do it here instead.
12382
19162d0e
BK
123832003-01-16 Bruce Korb <bkorb@gnu.org>
12384
12385 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
12386
f1e2239f
KK
123872003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
12388
da8a6064
ZW
12389 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
12390 instead of rotldi3_mextr.
f1e2239f 12391
cda1f765
VM
123922003-01-16 Vladimir Makarov <vmakarov@redhat.com>
12393
12394 * haifa-sched.c (move_insn): Restore moving all schedule group.
12395 (set_priorities): Restore taking SCHED_GROUP_P into account.
12396
12397 * sched-deps.c (add_dependence): Restore processing the last group
12398 insn.
12399 (remove_dependence, group_leader): Restore the functions.
12400 (set_sched_group_p): Restore adding dependencies from previous insn
12401 in the group.
12402 (compute_forward_dependences): Restore usage of group_leader.
12403
12404 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
12405 account.
12406
12407 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
12408 account.
12409 (can_schedule_ready_p): Ditto.
12410 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 12411
200097cc
SC
124122003-01-16 Stephane Carrez <stcarrez@nerim.fr>
12413
12414 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
12415 68HC12 pre/post inc/dec side effects.
12416
f411c739
SC
124172003-01-16 Stephane Carrez <stcarrez@nerim.fr>
12418
12419 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
12420
62c9aa5f 124212003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
08c43ea7
R
12422
12423 * sh.md (mshflo_w_x): Fix description of operation.
12424
07488f32
ZW
124252003-01-16 Zack Weinberg <zack@codesourcery.com>
12426
12427 * config/rs6000/rs6000.h: Mention Altivec registers in
12428 commentary. Fix typo.
12429
27dc0551
DE
124302003-01-16 David Edelsohn <edelsohn@gnu.org>
12431
12432 * config/rs6000/rs6000.md (movti_string): Remove clobber.
12433 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
12434 generate PARALLEL with clobber for TARGET_POWER.
12435
0334ef47
KG
124362003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12437
12438 * ra-colorize.c (colorize_one_web): Initialize variable.
12439 * regmove.c (fixup_match_1): Likewise.
12440 * reload1.c (reload_as_needed): Likewise.
12441 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
12442
16f2b86a
ZD
124432003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12444
12445 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
12446
fc555370
KG
124472003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12448
93d8c755
KG
12449 * dbxout.c (lastfile, cwd): Fix `unused' warning.
12450 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
12451 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
12452 is_main_source, file_table, decl_die_table_in_use,
12453 abbrev_die_table_in_use, line_info_table_in_use,
12454 separate_line_info_table_in_use, pubname_table_in_use,
12455 arange_table_in_use, ranges_table_in_use,
12456 current_function_has_inlines): Likewise.
12457 * flow.c (life_analysis): Likewise.
12458 * genemit.c (gen_insn): Likewise.
12459 * protoize.c (cplus_suffix): Likewise.
12460
0c2ca901
KG
12461 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
12462 * arm.h (ROUND_UP_WORD): Likewise.
12463
fc555370
KG
12464 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
12465 warning.
12466 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
12467 init_emit_once): Likewise.
12468 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
12469 Likewise.
12470 * function.c (assign_stack_temp_for_type): Likewise.
12471 * loop.c (loop_invariant_p): Likewise.
12472 * recog.c (push_operand): Likewise.
12473 * regclass.c (init_reg_sets_1): Likewise.
12474 * reload.c (update_auto_inc_notes): Likewise.
12475 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
12476 * stmt.c (expand_asm_operands): Likewise.
12477 * stor-layout.c (start_record_layout): Likewise.
12478
64510a4f
HB
124792003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
12480
07488f32 12481 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 12482
77480b0b
RH
124832003-01-15 Richard Henderson <rth@redhat.com>
12484
12485 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
12486 also check that GP is being used.
12487 (alpha_find_lo_sum_using_gp): New.
12488 (alpha_does_function_need_gp): Use get_attr_usegp.
12489 * config/alpha/alpha-protos.h: Update.
12490 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
12491 as needed.
12492
a0134312
RS
124932003-01-15 Roger Sayle <roger@eyesopen.com>
12494
12495 * gcse.c (one_cprop_pass): Change function arguments to take both
12496 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
12497 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
12498 (bypass_jumps): New function to perform separate jump bypassing pass.
12499 * rtl.h (bypass_jumps): Add function prototype.
12500 * timevar.def (TV_BYPASS): New timing variable.
12501 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
12502 (dump_file): New entry for the bypass RTL dump file.
12503 (rest_of_compilation): Insert new jump bypassing optimization
12504 pass after loop.
12505 * doc/passes.texi: Document new pass.
12506
4af6a063
JDA
125072003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
12508
12509 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
12510 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
12511 * pa.h (TARGET_SOM_SDEF): Define.
12512 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
12513
51e13b71
SC
125142003-01-16 Stephane Carrez <stcarrez@nerim.fr>
12515
07488f32 12516 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
12517 allocate 4-bytes of locals on 68HC11.
12518 (expand_epilogue): Likewise.
12519 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
12520
f077f169
SC
125212003-01-15 Stephane Carrez <stcarrez@nerim.fr>
12522
12523 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
12524 and -mshort-double to the assembler to specify the ABI.
12525 (LINK_SPEC): Likewise.
12526 (CPP_SPEC): Pass HCS12 specific define.
12527 (MASK_M68S12): New define.
12528 (TARGET_M68S12): Likewise.
12529 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
12530 (TARGET_VERSION): Update.
12531 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
12532 (LINK_SPEC): Update.
12533 (ASM_SPEC): Update.
12534 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
12535 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
12536
c0f684dc
SC
125372003-01-15 Stephane Carrez <stcarrez@nerim.fr>
12538
12539 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
12540 the return code.
12541
6982ae15
JZ
125422003-01-15 Josef Zlomek <zlomekj@suse.cz>
12543
12544 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
12545 flag before setting it.
12546
8cadeff1
RS
125472003-01-15 Roger Sayle <roger@eyesopen.com>
12548
12549 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
12550 when loop condition is known true, i.e. "while (1) { ... }".
12551 (genrtl_for_stmt): Similarly for "for" statements.
12552
03cd8aba
RS
125532003-01-15 Roger Sayle <roger@eyesopen.com>
12554
12555 * real.c (real_sqrt): Return a bool result indicating whether
12556 a floating point exception or trap should be raised.
12557 * real.h (real_sqrt): Update function prototype.
12558 * builtins.c (fold_builtin): Only fold non-trapping square
12559 roots unless we're ignoring errno and trapping math.
12560
4da78214
JDA
125612003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
12562
12563 * expr.h (emit_conditional_add): Add PARAMS to declaration.
12564 * gengtype-lex.l (malloc, realloc): Move defines after include of
12565 system.h. Remove duplicate include of system.h.
12566
9ee0a442
RS
125672003-01-15 Roger Sayle <roger@eyesopen.com>
12568
12569 PR middle-end/9009
12570 * optabs.c (expand_unop): When manipulating the FP sign bit
12571 using integer operations, account for targets with different
12572 integer and FP word orders.
12573 (expand_abs): Likewise.
12574
e3981aab
DE
125752003-01-15 David Edelsohn <edelsohn@gnu.org>
12576
12577 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
12578 file extension in section name.
12579
89c4b810
RE
125802003-01-15 Richard Earnshaw <rearnsha@arm.com>
12581
12582 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
12583 constant offset.
12584
3cd45774
RE
125852003-01-15 Richard Earnshaw <rearnsha@arm.com>
12586
12587 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
12588 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
12589 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
12590 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
12591
62c9aa5f 125922003-01-15 Jan Hubicka <jh@suse.cz>
b1a6f8db
JH
12593
12594 PR f/9258
07488f32 12595 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
12596 (global_conflicts): Set no_stack_reg.
12597 (find_reg): Use it.
12598
12599 * convert.c (convert_to_real): Fold - and abs only when profitable.
12600 * fold-const.c (fold): Fold truncates in - and abs.
12601
d18c7e59
JZ
126022003-01-15 Josef Zlomek <zlomekj@suse.cz>
12603
12604 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
12605
12606 * predict.c (real_inv_br_prob_base): New variable.
12607 (propagate_freq): Use multiply by reciprocal instead of
12608 division. Don't divide by 1.0 at all.
12609 (estimate_bb_frequencies): Similar.
12610
027faee7
AO
126112003-01-15 Alexandre Oliva <aoliva@redhat.com>
12612
12613 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
12614 * configure: Rebuilt.
12615
077dab3b 126162003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 12617
077dab3b
HP
12618 * config/s390/s390.c (s390_safe_attr_type): New function.
12619 (s390_use_dfa_pipeline_interface): New function, return true for z900.
12620 (s390_issue_rate): New function.
12621 (s390_agen_dep_p): New function.
12622 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
12623 (s390_adjust_cost): Return 'cost' if new DFA is used.
12624 (s390_adjust_priority): Delete function.
12625 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
12626 * config/s390/s390.md (atype attribute): Attribute 'atype' default
12627 determined by 'op_type'.
12628 (type attribute): Added more type attributes.
12629 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 12630
077dab3b 126312003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 12632
acfa9d9f
AO
12633 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
12634 forced to memory. Fixes PR bootstrap/9036.
12635
3c0121e4
AO
12636 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
12637 to set $gp before the call.
12638
553eb139
RH
126392003-01-14 Richard Henderson <rth@redhat.com>
12640
12641 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
12642 for force_const_mem.
12643
dd1b7476
KG
126442003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12645
12646 * genattr.c (main): Rearrange output to avoid prototype warning.
12647 * genautomata.c (transform_3): Fix ambiguous-else warning.
12648 * local-alloc.c (requires_inout): Add parentheses around
12649 assignment used as truth-value.
12650 * timevar.c: Move system includes above local includes. Include
12651 toplev.h
12652 * Makefile.in (timevar.o): Depend on toplev.h.
12653
6028880a
DC
126542003-01-14 Denis Chertykov <denisc@overta.ru>
12655
12656 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
12657 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
12658
12659 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 12660 attributes.
6028880a
DC
12661 (TARGET_ATTRIBUTE_TABLE): New macro.
12662 (valid_machine_type_attribute): Remove.
12663 (valid_machine_decl_attribute): Remove.
12664 (ip2k_handle_progmem_attribute): New function.
12665 (ip2k_handle_fndecl_attribute): New function.
12666
4a2953e4 126672003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
12668
12669 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
12670 registers to be in correct order. Add rip.
12671
4d77fda2
KH
126722003-01-14 Kazu Hirata <kazu@cs.umass.edu>
12673
12674 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
12675 (*iorsi3_and_lshiftrt_9_sb): Likewise.
12676
62c9aa5f 126772003-01-14 Jan Hubicka <jh@suse.cz>
77f9af81
JH
12678
12679 * convert.c (strip_float_extensions): Look for narrowest type handling
12680 FP constants.
12681
12682 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
12683 float1 CMP float2.
12684 * convert.c (strip_float_extensions): Make global.
12685 * tree.h (strip_float_extensions): Declare.
12686
fd371a93
GDR
126872003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
12688
12689 * timevar.def: define TV_NAME_LOOKUP.
12690 * timevar.c (timevar_pop): Be verbose when aborting.
12691
dcd1c2b8
AS
126922003-01-13 Andreas Schwab <schwab@suse.de>
12693
12694 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
12695 $(parsedir), just move the temporary file at the end.
12696 ($(parsedir)/gengtype-yacc.c): Likewise.
12697
eb4b5f93
AO
126982003-01-13 Alexandre Oliva <aoliva@redhat.com>
12699
12700 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
12701 ${ac_tool_prefix} to ADAC or CC. Protect them from word
12702 splitting.
12703 * configure: Rebuilt.
12704
f7835768
KG
127052003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12706
12707 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
12708 internal_mcount): Don't use PARAMS.
12709 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
12710 ISO C style.
12711 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
12712
38a3dbbb
AS
127132003-01-13 Andreas Schwab <schwab@suse.de>
12714
12715 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
12716 directive.
12717
98dc53e3
KH
127182003-01-13 Kazu Hirata <kazu@cs.umass.edu>
12719
12720 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
12721 (*iorsi3_and_lshiftrt_n_sb): Likewise.
12722
e8f2b18d
MM
127232003-01-12 Mark Mitchell <mark@codesourcery.com>
12724
12725 PR c++/9264
12726 * c-lex.c (c_lex): Set the token value to error_mark_node for
12727 invalid numeric constants.
12728
70f8b89f
KG
127292003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12730
12731 * c-pch.c (asm_file_startpos): Change to `long'.
12732 (pch_init): Use ftell, not ftello.
12733 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
12734 Use `long' instead of `off_t'.
12735 (c_common_read_pch): Likewise.
12736 * ggc-common.c (gt_pch_save): Use long/ftell instead of
12737 off_t/ftello.
12738
8e37cba8
AM
127392003-01-12 Alan Modra <amodra@bigpond.net.au>
12740
12741 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
12742
04f08c8e
RE
127432003-01-11 Richard Earnshaw (rearnsha@arm.com)
12744
12745 * arm-protos.h (struct cpp_reader): Add declaration.
12746
62c9aa5f 127472003-01-11 Jan Hubicka <jh@suse.cz>
a5cf80f0
JH
12748
12749 PR target/9068
12750 * i386.c (output_fp_compare): Fix typo.
12751
bbfb86aa
DE
127522003-01-10 David Edelsohn <edelsohn@gnu.org>
12753
12754 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
12755
223b87b6
GK
127562003-01-10 Geoffrey Keating <geoffk@apple.com>
12757
3859c32a
GK
12758 * Makefile.in (parsedir): New variable.
12759 (docobjdir): New variable.
07488f32 12760 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
12761 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
12762 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
12763 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 12764 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
12765 Use docobjdir.
12766 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
12767 objc.maintainer-clean): Use parsedir.
12768
63af3bd1
GK
12769 * varasm.c (struct constant_descriptor_rtx): Remove unused
12770 `label' field.
12771
223b87b6
GK
12772 * toplev.c (documented_lang_options): Document -Winvalid-pch.
12773
fbadafbc
RH
127742003-01-10 Richard Henderson <rth@redhat.com>
12775
12776 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
12777 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
12778
ab5ecb01
RH
127792003-01-10 Richard Henderson <rth@redhat.com>
12780
12781 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
12782 not INTEGRAL_MODE_P when widening extensions.
12783
7f24e7c5
RH
127842003-01-10 Richard Henderson <rth@redhat.com>
12785
12786 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
12787
6dd05d08
GK
127882003-01-10 Geoffrey Keating <geoffk@apple.com>
12789
19cc0dd4
GK
12790 * ggc-page.c (ggc_collect): Avoid overflow computing
12791 min_expand.
12792
6dd05d08
GK
12793 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
12794 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
12795 Remove calls.
12796 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
12797
62c9aa5f 127982003-01-10 Jan Hubicka <jh@suse.cz>
5f1355ef
JH
12799
12800 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
12801 with weird operands.
12802
0cdca92b 128032003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
12804
12805 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
12806 parameters. Call check_sibcall_argument_overlap if indicated.
12807 (check_sibcall_argument_overlap): Add mark_stored_args_map
12808 parameter. Don't mark parameter area as clobbered if not set.
12809 (expand_call): Adjust calls to above.
12810
128112003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
12812
12813 * configure.in (linker read-only and read-write section mixing):
12814 Squelch some assembler warnings.
12815 * configure: Likewise.
12816
be2c2a4b
HP
128172003-01-10 Hartmut Penner <hpenner@de.ibm.com>
12818
21ff35fb 12819 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
12820 option for S/390 and zSeries.
12821 * config/s390/s390.c (s390_tune_string) New variable.
12822 (s390_cpu_string) Delete variable.
12823 (override_options): Use s390_tune_string instead of
12824 s390_cpu_string.
12825 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
12826
1f450138
KH
128272003-01-10 Kazu Hirata <kazu@cs.umass.edu>
12828
12829 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
12830
d330ce15
JZ
128312003-01-10 Josef Zlomek <zlomekj@suse.cz>
12832
12833 * jump.c (next_nonnote_insn_in_loop): New function.
12834 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
12835 next_nonnote_insn.
12836 (duplicate_loop_exit_test). Likewise.
12837
17211ab5
GK
128382003-01-09 Geoffrey Keating <geoffk@apple.com>
12839
12840 Merge from pch-branch:
12841
12842 2003-01-06 Geoffrey Keating <geoffk@apple.com>
12843
12844 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
12845 load.
12846
12847 2002-12-24 Geoffrey Keating <geoffk@apple.com>
12848
12849 * cpplib.c (count_registered_pragmas): New function.
12850 (save_registered_pragmas): New function.
12851 (_cpp_save_pragma_names): New function.
12852 (restore_registered_pragmas): New function.
12853 (_cpp_restore_pragma_names): New function.
12854 * cpphash.h (_cpp_save_pragma_names): Prototype.
12855 (_cpp_restore_pragma_names): Likewise.
12856 * cpppch.c (struct save_macro_item): Split from save_macro_data.
12857 (struct save_macro_data): New field 'saved_pragmas'.
12858 (save_macros): Update for changes to struct save_macro_data.
12859 (cpp_prepare_state): Call _cpp_save_pragma_names, update
12860 for changes to struct save_macro_data.
12861 (cpp_read_state): Call _cpp_restore_pragma_names, update
12862 for changes to struct save_macro_data.
12863
12864 * cpppch.c (cpp_read_state): Restore the hashtable references
12865 in the cpp_reader.
07488f32 12866
17211ab5
GK
12867 * tree.h (built_in_decls): Mark for PCH.
12868
12869 * dbxout.c (lastfile): Don't mark for PCH.
12870
12871 * ggc.h: Document PCH calls into memory managers.
12872
12873 2002-12-18 Geoffrey Keating <geoffk@apple.com>
12874
12875 * doc/invoke.texi (Precompiled Headers): Document the
12876 directory form of PCH.
12877 * cppfiles.c (validate_pch): New function.
12878 (open_file_pch): Search suitably-named directories for PCH files.
12879
12880 2002-12-14 Geoffrey Keating <geoffk@apple.com>
12881
12882 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
12883 reorder options.
12884 (Type Information): Mention that the information is also
12885 used to implement PCH.
12886 * doc/passes.texi (Passes): Improve documentation of
12887 language-specific files.
12888
12889 2002-12-11 Geoffrey Keating <geoffk@apple.com>
12890
12891 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
12892 (struct walk_type_data): Add reorder_fn field.
12893 (walk_type): Process 'reorder' option.
12894 (write_types_process_field): Reorder parameters to gt_pch_note_object,
12895 call reorder_note_routine.
12896 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
12897 (ggc_wtd): Update for change to struct write_types_data.
12898 (pch_wtd): Likewise.
12899 * ggc.h (gt_pch_note_object): Reorder parameters.
12900 (gt_handle_reorder): New definition.
12901 (gt_pch_note_reorder): New prototype.
12902 * ggc-common.c (struct ptr_data): Add reorder_fn.
12903 (gt_pch_note_object): Reorder parameters.
12904 (gt_pch_note_reorder): New.
12905 (gt_pch_save): Call reorder_fn.
12906 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
12907
12908 * dbxout.c (cwd): Don't mark for PCH.
12909
12910 2002-12-09 Geoffrey Keating <geoffk@apple.com>
12911
12912 * gengtype.c (finish_root_table): Fix some warnings.
12913 (write_root): Handle TYPE_STRING.
12914 * ggc.h (gt_ggc_m_S): Add prototype.
12915 * stringpool.c (gt_ggc_m_S): New function.
12916
12917 2002-11-30 Geoffrey Keating <geoffk@apple.com>
12918
12919 * dwarf2out.c (dw2_string_counter): New.
12920 (AT_string_form): Use it.
12921 (same_dw_val_p): Update for removal of hashtable.h hash tables.
12922
12923 2002-11-22 Geoffrey Keating <geoffk@apple.com>
12924
12925 * dbxout.c: Include gt-dbxout.h.
12926 (lastfile): Mark for PCH/GGC.
12927 (cwd): Likewise.
12928 (struct typeinfo): Likewise.
12929 (typevec): Likewise.
12930 (typevec_len): Likewise.
12931 (next_type_number): Likewise.
12932 (struct dbx_file): Likewise.
12933 (current_file): Likewise.
12934 (next_file_number): Likewise.
12935 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
12936 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
12937 (dbxout_end_source_file): Don't free struct dbx_file.
12938 (dbxout_type): Use GGC to allocate typevec.
12939 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
12940 (GTFILES): Add dbxout.c.
12941 (gt-dbxout.h): New rule.
07488f32 12942
17211ab5
GK
12943 * Makefile.in (c-pch.o): Add debug.h as dependency.
12944 * c-pch.c: Include debug.h.
12945 (pch_init): Call start_source_file to keep nesting right.
12946 (c_common_read_pch): Add orig_name parameter. Call
12947 start_source_file debug hook. Call end_source_file debug hook.
12948 * c-common.h (c_common_read_pch): Update prototype.
12949 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
12950 callback.
12951 * cppfiles.c (struct include_file): Add new field `header_name'.
12952 (find_or_create_entry): Default it to `name'.
12953 (open_file_pch): Set it to the original header file searched for.
12954 (stack_include_file): Don't stack an empty buffer, just handle
12955 PCH files immediately. Pass header_name field to read_pch callback.
12956
12957 2002-11-19 Geoffrey Keating <geoffk@apple.com>
12958
12959 * function.c (funcdef_no): Mark to be saved in a PCH.
12960
12961 2002-11-15 Geoffrey Keating <geoffk@apple.com>
12962
12963 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
12964
12965 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
12966
12967 2002-11-14 Geoffrey Keating <geoffk@apple.com>
12968
12969 * optabs.h (code_to_optab): Add GTY marker.
12970
12971 2002-11-13 Geoffrey Keating <geoffk@apple.com>
12972
12973 * Makefile.in (GTFILES): Add cpplib.h.
12974 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
12975 * c-decl.c (build_compound_literal): Don't use var_labelno.
12976 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
12977 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
12978 * varasm.c (const_labelno): Use gengtype to mark.
12979 (var_labelno): Likewise.
12980 (in_section): Likewise.
12981 (in_named_name): Likewise.
12982 (struct in_named_entry): Likewise.
12983 (in_named_htab): Likewise.
12984 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
12985 (init_varasm_once): Use GGC to allocate in_named_htab.
12986 * config/darwin.c (current_pic_label_num): Mark for PCH.
12987
12988 2002-11-11 Geoffrey Keating <geoffk@apple.com>
12989
12990 * ggc-simple.c (init_ggc_pch): New stub procedure.
12991 (ggc_pch_count_object): Likewise.
12992 (ggc_pch_total_size): Likewise.
12993 (ggc_pch_this_base): Likewise.
12994 (ggc_pch_alloc_object): Likewise.
12995 (ggc_pch_prepare_write): Likewise.
12996 (ggc_pch_write_object): Likewise
12997 (ggc_pch_finish): Likewise.
12998 (ggc_pch_read): Likewise.
12999
13000 2002-11-08 Geoffrey Keating <geoffk@apple.com>
13001
13002 * c-pch.c (c_common_write_pch): Write the macro definitions after
13003 the GCed data.
13004 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
13005 definitions after the GCed data.
13006 * cpplib.c (save_macros): New.
13007 (reset_ht): New.
13008 (cpp_write_pch_deps): Split out of cpp_write_pch.
13009 (cpp_write_pch_state): Split out of cpp_write_pch.
13010 (cpp_write_pch): Delete.
13011 (struct save_macro_data): Delete.
13012 (cpp_prepare_state): New.
13013 (cpp_read_state): Erase and restore initial macro definitions.
13014 * cpplib.h (struct save_macro_data): Forward-declare.
13015 (cpp_write_pch_deps): Prototype.
13016 (cpp_write_pch_state): Prototype.
13017 (cpp_write_pch): Delete prototype.
13018 (cpp_prepare_state): Prototype.
13019 (cpp_read_state): Add fourth argument.
13020
13021 2002-11-04 Geoffrey Keating <geoffk@apple.com>
13022
13023 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
13024 (write_array): Remove warning.
13025
13026 * gengtype.c (contains_scalar_p): New.
13027 (finish_root_table): Add the table to all languages, even if it's
13028 empty.
13029 (write_roots): Output gt_pch_scalar_rtab.
13030 * ggc-common.c (gt_pch_save): Write out scalars.
13031 (gt_pch_restore): Read scalars back.
13032
13033 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
13034 (struct page_entry): Delete pch_page field.
13035 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
13036 (clear_marks): Likewise.
13037 (sweep_pages): Likewise.
13038 (poison_pages): Likewise.
13039 (ggc_print_statistics): Likewise.
13040 (ggc_pch_read): Don't free objects read from a PCH.
13041 Properly set up in_use_p and page_tails.
13042
13043 2002-10-25 Geoffrey Keating <geoffk@apple.com>
13044
13045 * gengtype.c (struct write_types_data): New.
13046 (struct walk_type_data): Make `cookie' const; add extra
13047 prev_val item; add `orig_s' field.
13048 (walk_type): Update prev_val[3].
13049 (write_types_process_field): New.
13050 (write_func_for_structure): Take write_types_data structure.
13051 (write_types): New.
13052 (ggc_wtd): New.
13053 (pch_wtd): New.
13054 (write_types_local_process_field): New.
13055 (gc_mark_process_field): Delete.
13056 (write_local_func_for_structure): New.
13057 (gc_mark_func_name): Delete.
13058 (write_gc_types): Delete.
13059 (write_local): New.
13060 (finish_root_table): Don't include 'ggc_' in PFX.
13061 (write_root): Rename from write_root. Fill pchw field of structures.
13062 (write_array): New.
13063 (write_roots): Rename from write_gc_roots. Split out to write_array.
13064 Update to changes to other routines. Write gt_pch_cache_rtab table.
13065 (main): Write PCH walking routines.
13066 * ggc-common.c: Include toplev.h, sys/mman.h.
13067 (ggc_mark_roots): For cache hashtables, also mark the hash table
13068 and the array of entries.
13069 (saving_htab): New.
13070 (struct ptr_data): New.
13071 (POINTER_HASH): New.
13072 (gt_pch_note_object): New.
13073 (saving_htab_hash): New.
13074 (saving_htab_eq): New.
13075 (struct traversal_state): New.
13076 (call_count): New.
13077 (call_alloc): New.
13078 (compare_ptr_data): New.
13079 (relocate_ptrs): New.
13080 (write_pch_globals): New.
13081 (struct mmap_info): New.
13082 (gt_pch_save): New.
13083 (gt_pch_restore): New.
13084 * ggc-page.c (ROUND_UP_VALUE): New.
13085 (ROUND_UP): New.
13086 (struct page_entry): Add field `pch_page'.
13087 (init_ggc): Use ROUND_UP.
13088 (struct ggc_pch_data): Declare.
13089 (init_ggc_pch): New.
13090 (ggc_pch_count_object): New.
13091 (ggc_pch_total_size): New.
13092 (ggc_pch_this_base): New.
13093 (ggc_pch_alloc_object): New.
13094 (ggc_pch_prepare_write): New.
13095 (ggc_pch_write_object): New.
13096 (ggc_pch_finish): New.
13097 (ggc_pch_read): New.
13098 * ggc.h (gt_pointer_operator): New.
13099 (gt_note_pointers): New.
13100 (gt_pch_note_object): New prototype.
13101 (gt_pointer_walker): New.
13102 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
13103 (LAST_GGC_ROOT_TAB): Update.
13104 (gt_pch_cache_rtab): Declare.
13105 (gt_pch_scalar_rtab): Declare.
13106 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
13107 (LAST_GGC_CACHE_TAB): Update.
13108 (gt_pch_save_stringpool): Declare.
13109 (gt_pch_restore_stringpool): Declare.
13110 (gt_pch_p_S): Declare.
13111 (gt_pch_n_S): Declare.
13112 (struct ggc_pch_data): Forward-declare.
13113 (init_ggc_pch): Declare.
13114 (ggc_pch_count_object): Declare.
13115 (ggc_pch_total_size): Declare.
13116 (ggc_pch_this_base): Declare.
13117 (ggc_pch_alloc_object): Declare.
13118 (ggc_pch_prepare_write): Declare.
13119 (ggc_pch_write_object): Declare.
13120 (ggc_pch_finish): Declare.
13121 (ggc_pch_read): Declare.
13122 (gt_pch_save): Declare.
13123 (gt_pch_restore): Declare.
13124 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
13125 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
13126 const_double_htab, mem_attrs_htab using GGC.
13127 * c-pch.c: Include ggc.h.
13128 (pch_init): Allow reading PCH file back.
13129 (c_common_write_pch): Call gt_pch_save.
13130 (c_common_read_pch): Call gt_pch_restore.
13131 * c-parse.in (init_reswords): Delete now-untrue comment.
13132 Allocate ridpointers using GGC.
13133 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
13134 calling expand_deferred_fns.
13135 * c-common.h (ridpointers): Mark for GTY machinery.
13136 * Makefile.in (stringpool.o): Update dependencies.
13137 (c-pch.o): Update dependencies.
13138 (ggc-common.o): Update dependencies.
13139 * stringpool.c: Include gt-stringpool.h.
13140 (gt_pch_p_S): New.
13141 (gt_pch_n_S): New.
13142 (struct string_pool_data): New.
13143 (spd): New.
13144 (gt_pch_save_stringpool): New.
13145 (gt_pch_restore_stringpool): New.
13146 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 13147
17211ab5
GK
13148 2002-10-04 Geoffrey Keating <geoffk@apple.com>
13149
13150 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
13151 (output_mangled_typename): Don't pass size_t to printf.
13152
13153 * tree.h (union tree_type_symtab): Add tag to `address' field.
13154 (union tree_decl_u2): Add tag to 'i' field.
13155 * varasm.c (union rtx_const_un): Add tags to all fields.
13156 * gengtype.c (struct walk_type_data): New.
13157 (output_escaped_param): Take struct walk_type_data parameter.
13158 (write_gc_structure_fields): Delete.
13159 (walk_type): New.
13160 (write_gc_marker_routine_for_structure): Delete.
13161 (write_func_for_structure): New.
13162 (gc_mark_process_field): New.
13163 (gc_mark_func_name): New.
13164 (gc_counter): Delete.
13165 (write_gc_types): Use write_func_for_structure.
13166 (write_gc_roots): Use walk_type.
13167
13168 2002-10-02 Geoffrey Keating <geoffk@apple.com>
13169
13170 * ggc-common.c (ggc_mark_roots): Delete 'x'.
13171 (ggc_splay_dont_free): Fix warning about unused 'x'.
13172 (ggc_print_common_statistics): Remove warnings.
13173
13174 2002-10-01 Mike Stump <mrs@apple.com>
13175
07488f32
ZW
13176 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
13177 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
13178
13179 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
13180 Catherine Moore <clm@redhat.com>
13181
13182 * Makefile (c-pch.o): Update dependencies.
13183 (LIBCPP_OBJS): Add cpppch.o.
13184 (cpppch.o): New.
13185 * c-common.c (c_common_init): Don't call pch_init here.
13186 * c-common.h (c_common_read_pch): Update prototype.
13187 * c-lex.c (c_common_parse_file): Call pch_init here.
13188 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
13189 (c_common_decode_option): Handle them.
13190 * c-pch.c: Include c-pragma.h.
13191 (save_asm_offset): Delete.
13192 (pch_init): Move contents of save_asm_offset into here, call
13193 cpp_save_state.
13194 (c_common_write_pch): Call cpp_write_pch.
13195 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
13196 cpp_valid_state.
13197 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 13198 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
13199 parameters of cb.read_pch.
13200 * cpphash.h (struct cpp_reader): Add `savedstate' field.
13201 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
13202 `restore_pch_deps' fields.
13203 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
13204 (cpp_save_state): Prototype.
13205 (cpp_write_pch): Prototype.
13206 (cpp_valid_state): Prototype.
13207 (cpp_read_state): Prototype.
13208 * cpppch.c: New file.
13209 * flags.h (version_flag): Remove prototype.
13210 * mkdeps.c (deps_save): New.
13211 (deps_restore): New.
13212 * mkdeps.h (deps_save): Prototype.
13213 (deps_restore): Prototype.
13214 * toplev.c (late_init_hook): Delete.
13215 (version_flag): Make static again.
13216 (compile_file): Don't call late_init_hook.
13217 * toplev.h (late_init_hook): Delete.
13218 * doc/cppopts.texi: Document -fpch-deps.
13219 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
13220
13221 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
13222
13223 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
13224 callers.
13225 (c_common_valid_pch): Rename from c_valid_pch, change callers.
13226 (c_common_read_pch): Rename from c_read_pch, change callers.
13227
13228 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
13229 a space between it and its argument.
13230
13231 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
13232
13233 * c-pch.c: New file.
13234 * toplev.h (late_init_hook): Declare.
13235 * toplev.c (late_init_hook): Define.
13236 (version_flag): Make globally visible.
13237 (compile_file): Call late_init_hook.
13238 (init_asm_output): Make output file seekable.
13239 * gcc.c (default_compilers): Update c-header rule.
13240 * flags.h (version_flag): Declare.
13241 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
13242 fields.
13243 * cppfiles.c (struct include_file): Add 'pch' field.
13244 (INCLUDE_PCH_P): New.
13245 (open_file_pch): New.
13246 (stack_include_file): Handle PCH files specially.
13247 (find_include_file): Call open_file_pch instead of open_file.
13248 (_cpp_read_file): Explain why open_file is used instead of
13249 open_file_pch.
13250 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
13251 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
13252 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
13253 in cpplib callbacks.
13254 * c-common.c (pch_file): Correct comment.
13255 (allow_pch): Define.
13256 (c_common_init): Call pch_init.
13257 * c-common.h (allow_pch): Declare.
13258 (pch_init): Declare.
13259 (c_valid_pch): Declare.
13260 (c_read_pch): Declare.
13261 (c_write_pch): Declare.
13262 * Makefile.in (c-pch.o): New.
13263 (C_AND_OBJC_OBJS): Add c-pch.o.
13264 * doc/invoke.texi (Precompiled Headers): Add index entries,
13265 complete truncated paragraph.
13266
13267 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
13268
13269 * c-common.c: (pch_file): Define.
13270 * c-common.h (pch_file): Declare.
13271 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
13272 (missing_arg): Require --output-pch= to have an argument.
13273 (c_common_decode_option): Handle --output-pch=.
13274 * gcc.c: Document new %V.
13275 (default_compilers): Handle compiling C header files.
13276 (do_spec_1): Implement %V.
13277 (main): Handle "gcc foo.h" without trying to run linker.
13278 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
13279 (Overall Options): Document what the driver does with header files,
13280 document new -x option possibilities.
13281 (Invoking G++): More documentation for PCH.
13282 (Precompiled Headers): New.
13283
13284 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
13285
13286 * ggc.h: Don't include varray.h. Rearrange functions to be more
13287 organized.
13288 (ggc_add_root): Delete.
13289 (ggc_mark_rtx): Delete.
13290 (ggc_mark_tree): Delete.
13291 (struct ggc_statistics): Remove contents.
13292 * ggc-common.c: Remove unneeded includes.
13293 (struct ggc_root): Delete.
13294 (roots): Delete.
13295 (ggc_add_root): Delete.
13296 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
13297 (ggc_print_common_statistics): Remove most of the contents.
13298 * Makefile.in (GGC_H): No longer uses varray.h.
13299 (ggc-common.o): Update dependencies.
13300 (c-parse.o): Add varray.h to dependencies.
13301 (c-common.o): Add varray.h.
13302 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
13303 (mark_ident_hash): Rename to ggc_mark_stringpool.
13304 (init_stringpool): Don't use ggc_add_root.
13305 * c-parse.in: Include varray.h.
13306 * c-common.c: Include varray.h.
13307 * objc/Make-lang.in (objc-act.o): Add varray.h.
13308 * objc/objc-act.c: Include varray.h.
13309
13310 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
13311
13312 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
13313 (dw_cfi_oprnd1_desc): Likewise.
13314
13315 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
13316
13317 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
13318 move out of ifdef.
13319 (alpha_links): Use gengtype to mark; move out of ifdef.
13320 (mark_alpha_links_node): Delete.
13321 (mark_alpha_links): Delete.
13322 (alpha_need_linkage): Use GGC to allocate splay tree, struct
13323 alpha_links, strings. Don't use ggc_add_root.
13324 * ggc-common.c (ggc_splay_alloc): New.
13325 (ggc_splay_dont_free): New.
13326 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13327 (ggc_mark_tree): Likewise.
13328 (splay_tree_new_ggc): New.
13329 (ggc_splay_alloc): Declare.
13330 (ggc_splay_dont_free): Declare.
13331 * dwarf2asm.c: Include gt-dwarf2asm.h.
13332 (mark_indirect_pool_entry): Delete.
13333 (mark_indirect_pool): Delete.
13334 (indirect_pool): Use gengtype to mark.
13335 (dw2_force_const_mem): Don't use ggc_add_root.
13336 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
13337 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
13338 (gt-dwarf2asm.h): Depend on s-gtype.
13339
13340 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
13341
13342 * tree.h (union tree_type_symtab): Mark `die' field.
13343 * Makefile.in (dwarf2out.o): Update dependencies.
13344 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
13345 hash tables.
13346 (dw_cfi_oprnd1_desc): New function.
13347 (dw_cfi_oprnd2_desc): New function.
13348 (indirect_string_alloc): Delete.
13349 (debug_str_do_hash): New function.
13350 (debug_str_eq): New function.
13351 (mark_limbo_die_list): Delete.
13352 (dwarf2out_init): Don't call ggc_add_root.
13353
30028c85
VM
133542003-01-09 Vladimir Makarov <vmakarov@redhat.com>
13355
13356 The following changes are merged from itanium-sched-branch:
13357
13358 2003-01-08 David Edelsohn <edelsohn@gnu.org>
13359
13360 * doc/md.texi: Clarify assignment of units to automata description.
13361
13362 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
13363
13364 * genautomata.c (unit_decl): Remove members
13365 `the_same_automaton_unit' and
13366 `the_same_automaton_message_reported_p'.
13367 (process_unit_to_form_the_same_automaton_unit_lists,
13368 form_the_same_automaton_unit_lists_from_regexp,
13369 form_the_same_automaton_unit_lists, the_same_automaton_lists):
13370 Remove them.
13371 (annotation_message_reported_p): New global variable.
13372 (check_unit_distribution_in_reserv,
13373 check_regexp_units_distribution): New functions.
13374 (check_unit_distributions_to_automata): Rewrite it.
13375
13376 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
13377
13378 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
13379 Use continue instead of break if cycle is too big.
13380
13381 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
13382
13383 * genautomata.c (check_unit_distributions_to_automata): Output at
13384 most one message for a unit.
13385 (process_unit_to_form_the_same_automaton_unit_lists): Check
13386 automaton of units instead of units themself.
13387
13388 * doc/md.texi: Describe the constraint about assigning unit to
13389 automata.
13390
13391 2002-12-20 Jan Hubicka <jH@suse.cz>
13392 Vladimir Makarov <vmakarov@redhat.com>
13393
13394 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
13395 and `in_set_p'.
13396 (gen_cpu_unit): Initialize the new members.
13397 (process_regexp_cycles): Calculate minimal finish cycle too. Set
13398 up `min_occ_cycle_num'.
13399 (evaluate_max_reserv_cycles): Change the function call.
13400 (CLEAR_BIT): New macro.
13401 (states_union, state_shift): Use the mask.
13402 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
13403 (form_reservs_matter): New function.
13404 (make_automaton): Call the function and use the mask.
13405 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
13406 account.
07488f32 13407
30028c85
VM
13408 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13409
13410 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
13411
13412 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13413
13414 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
13415 for Itanium.
13416
13417 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13418
13419 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
13420 default cpu.
13421
13422 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
13423 2002-10-31 Dale Johannesen <dalej@apple.com>
13424
13425 * haifa-sched.c (find_set_reg_weight): New function.
13426 (find_insn_reg_weight): Use the new function.
13427 (schedule_block): Do sorting ready queue always
13428 after insn issue.
13429
13430 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
13431
13432 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
13433
13434 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
13435
13436 * haifa-sched.c (choice_entry): New structure.
13437 (choice_stack, cycle_issued_insns): New variables.
13438 (max_issue): Rewrite it.
13439 (choose_ready): Set up ready_try for unknown insns too.
13440 (schedule_block): Allocate and free choice_stack. Set up
13441 and modify cycle_issued_insns.
13442
13443 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
13444 with and without filling the bundle.
13445 (bundling): Combine calls of issue_nops_and_insn.
07488f32 13446
30028c85
VM
13447 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
13448
13449 * config/ia64/itanium1.md: New file.
13450
13451 * config/ia64/itanium2.md: New file.
13452
13453 * config/ia64/ia64.md: Move DFA descriptions into the new files.
13454 Remove the old pipeline description.
07488f32 13455
30028c85
VM
13456 * config/ia64/ia64.c (ia64_override_options): Add aliases of
13457 itanium processor names.
07488f32 13458
30028c85
VM
13459 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
13460
13461 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
13462 (ia64_reorg): Set up queried unit codes for Itanium2 too.
13463
13464 * config/ia64/ia64.md: Add descriptions for Itanium2.
13465
13466 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
13467
13468 * config/ia64/ia64.h (processor_type): New enumeration.
13469 (ia64_tune, ia64_tune_string): New external declarations.
13470 (TARGET_OPTIONS): Add option `tune='.
13471
13472 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
13473 variables.
13474 (ia64_override_options): Set up `ia64_tune'.
13475 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
13476 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
13477 (bundling): Add nops for MM-insns only for Itanium.
13478 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
13479 Itanium.
13480
13481 * config/ia64/ia64.md (cpu): New attribute.
13482 (DFA description): Enable it only for Itanium.
07488f32 13483
30028c85
VM
13484 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
13485 Richard Henderson <rth@redhat.com>
13486
13487 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
13488 MASK_EARLY_STOP_BITS.
13489 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
13490 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
13491 `early-stop-bits'.
07488f32 13492
30028c85
VM
13493 * config/ia64/ia64.c (ia64_dfa_new_cycle,
13494 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
13495 instead of TARGET_TUNE_STOP_BITS.
07488f32 13496
30028c85
VM
13497 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
13498 `-mearly-stop-bits'.
13499
13500 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 13501
30028c85
VM
13502 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
13503
07488f32 13504 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
13505 New macros.
13506 (TARGET_SWITCHES): Add entries for the new option.
07488f32 13507
30028c85
VM
13508 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
13509 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
13510 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
13511 global variables.
13512 (ia64_sched_reorder2): Set up `clocks'.
13513 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
13514 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
13515 queue when TARGET_TUNE_STOP_BITS.
13516 (bundling): Insert additional nops for MM-insns.
13517 (final_emit_insn_group_barriers): Add insertion of stop bits
13518 according `stops_p'.
13519 (ia64_reorg): Initiate the new varibales.
13520
13521 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 13522
30028c85
VM
13523 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
13524
13525 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
13526 insns at the end of block insn scheduling.
13527
13528 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
13529
13530 * sched-deps.c (remove_dependence, group_leader): Remove it.
13531 (add_dependence): Add dependence to group leader to.
13532 (set_sched_group_p): Add dependence to the first insn of the
13533 schedule group too.
13534 (sched_analyze_insn): Make dependence to jump as anti-dependence.
13535 Change true dependence by anti-dependence when
13536 `reg_pending_barrier'.
13537
13538 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
13539 add_branch_dependences): Ignore schedule groups.
13540
13541 * sched-ebb.c (init_ready_list): Ditto.
13542
13543 * (move_insn, set_priorities): Ditto.
13544
13545 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
13546 flag is clear after reload.
13547 (adjust_cost): Change cost only for output dependencies.
07488f32 13548
30028c85 13549 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 13550
30028c85
VM
13551 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
13552
13553 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
13554
13555 * target.h (gcc_target): Add member
13556 `dependencies_evaluation_hook'.
13557
13558 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
13559 macro.
13560 (TARGET_SCHED): Add initiatialization of the new member.
13561
13562 * sched-ebb.c: Include `target.h'.
13563 (schedule_ebb): Call `dependencies_evaluation_hook'.
13564
13565 * sched-rgn.c (schedule_region): Call
13566 `dependencies_evaluation_hook'.
13567
13568 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
13569 New macro.
13570 (ia64_dependencies_evaluation_hook): New function.
13571
13572 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
13573 Describe the new hook.
07488f32 13574
30028c85
VM
13575 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
13576
13577 * target.h (gcc_target): Add members
13578 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
13579
13580 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
13581 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
13582 macros.
13583 (TARGET_SCHED): Add initiatialization of the new members.
13584
13585 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
13586 insn scheduling too.
13587 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
13588 initialize `ready_try'.
13589 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
13590 `dfa_new_cycle' says not to do it.
07488f32 13591
30028c85
VM
13592 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
13593 bundling.
13594
13595 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
13596
13597 * config/ia64/ia64.c: Include `hashtab.h'.
13598 (ia64_first_cycle_multipass_dfa_lookahead_guard,
13599 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
13600 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
13601 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
13602 bundle_state_eq_p, insert_bundle_state,
13603 initiate_bundle_state_table, finish_bundle_state_table,
13604 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
13605 get_template, get_next_important_insn, bundling): New functions.
13606 (ia64_internal_sched_reorder): Remove it.
13607 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
13608 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
13609 (ia64_safe_itanium_requires_unit0): Remove it.
13610 (group_barrier_needed_p): Place group barrier right before a real
13611 insn.
13612 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
13613 Remove them.
13614 (bundle_name): New variable.
13615 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
13616 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
13617 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
13618 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
13619 temp_dfa_state, prev_cycle_state): New global variables.
13620 (insn_matches_slot, maybe_rotate, finish_last_head,
13621 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
13622 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
13623 find_best_packet, itanium_reorder, dump_current_packet,
13624 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
13625 (sched_data, sched_ready, sched_types): Remove them.
13626 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
13627 `init_insn_group_barriers'.
13628 (ia64_sched_reorder, ia64_sched_reorder2): Call
13629 ia64_dfa_sched_reorder.
13630 (ia64_variable_issue): Rewrite it.
13631 (bundle_state): New structure.
13632 (index_to_bundle_states, bundle_states_num,
13633 allocated_bundle_states_chain, free_bundle_state_chain): New
13634 global variables.
13635 (ia64_sched_finish): Add stop bits and call `bundling' after the
13636 2nd insn scheduling.
13637 (ia64_use_dfa_pipeline_interface): Return zero always.
13638 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
13639 insn scheduling.
13640 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
13641 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
13642 (ia64_reorg): Add bundling insns.
13643
13644 * doc/tm.texi
13645 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
13646 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 13647
30028c85
VM
13648 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
13649
13650 * config/ia64/ia64.md: Add Itanium1 DFA description.
13651 (itanium_class): Add `nop' and `pre_cycle'. Add
13652 define_function_unit for `nop'.
13653 (nop): Change attribute `itanium_class'.
13654 (pre_cycle): New define_insn.
13655
13656 * config/ia64/ia64-protos.h (bundling_p): New external variable.
13657 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
13658 ia64_produce_address_p): New function prototypes.
13659
13660 * config/ia64/ia64.c (bundling_p): New global variable.
13661 (ia64_use_dfa_pipeline_interface,
13662 ia64_first_cycle_multipass_dfa_lookahead,
13663 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
13664 functions.
13665 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13666 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13667 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13668 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
13669 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
13670 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
13671 (dfa_pre_cycle_insn): New variable.
07488f32 13672
30028c85
VM
13673 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
13674
13675 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
13676 constructions.
13677
13678 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
13679 New function prototypes.
13680
13681 * genattrtab.c (main): Process the new constructions.
13682
13683 * genautomata.c (gen_presence_absence_set,
13684 process_presence_absence_names, process_presence_absence_patterns,
13685 add_presence_absence, check_absence_pattern_sets): Add parameter
13686 `final_p'.
13687 (unit_decl): Add new members `final_presence_list' and
13688 `final_absence_list'.
13689 (unit_pattern_rel_decl): Add new member `final_p'.
13690 (gen_final_presence_set, gen_final_absence_set): New functions.
13691 (process_decls): Use member `final_p'.
13692 (temp_reserv): New global variable.
13693 (reserv_sets_are_intersected): Add processing `final_presence_set'
13694 and `final_absence_set'.
13695 (initiate_states): Allocate `temp_reserv'.
13696 (unit_final_presence_set_table, unit_final_absence_set_table): New
13697 gloabal variables.
13698 (initiate_presence_absence_pattern_sets): Initiate them.
13699 (NDFA_to_DFA): Fix typo.
13700 (output_description): Output `final_presence_set' and
13701 `final_absence_set'.
13702
13703 * doc/md.texi (final_presence_set, final_absence_set): Describe
13704 them.
07488f32 13705
30028c85
VM
13706 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
13707
13708 * genautomata.c (transform_3): Process a missing case (nothing on
13709 unit place).
13710
13711 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
13712
13713 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
13714 comments about queried units and the minimization.
07488f32 13715
30028c85 13716 * doc/md.texi: Ditto.
07488f32 13717
30028c85
VM
13718 * genautomata.c (create_composed_state): Return nonzero if the new
13719 state has been created.
13720 (first_cycle_unit_presence): New function.
13721 (state_is_differed): Add new parameter. Use the new function.
13722 Take queried units into account.
13723 (partition_equiv_class): Pass additional parameter to
13724 `state_is_differed'.
13725 (merge_states): Process composed states too.
13726 (build_automaton, create_automata, output_min_issue_delay_table,
13727 output_tables, output_statistics): Output more information.
13728 (output_reserved_units_table): Use function
13729 `first_cycle_unit_presence'.
13730 (output_tables): Output table of queried units even if the
13731 minimization is switched on.
13732 (write_automata): Output code for querying units even if the
13733 minimization is switched on.
07488f32 13734
30028c85
VM
13735 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
13736
13737 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
13738 syntax of the constructions.
07488f32 13739
30028c85
VM
13740 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
13741 extended syntax of the constructions.
07488f32 13742
30028c85
VM
13743 * genautomata.c (unit_rel_decl): Rename it to
13744 `unit_pattern_rel_decl'.
13745 (pattern_set_el, pattern_reserv): New structures.
13746 (pattern_set_el_t, pattern_reserv_t): New types.
13747 (gen_presence_absence_set): New function.
13748 (process_presence_absence): Remove it.
13749 (process_presence_absence_names,
13750 process_presence_absence_patterns): New functions.
13751 (get_presence_absence_set): Remove it.
13752 (initiate_presence_absence_sets): Rename it on
13753 `initiate_presence_absence_pattern_sets'. Use new function
13754 `form_reserv_sets_list'.
13755 (form_reserv_sets_list, check_presence_pattern_sets,
13756 check_absence_pattern_sets, output_pattern_set_el_list): New
13757 functions.
13758 (unit_decl): Change types of members `presence_list' and
13759 `absence_list'.
13760 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
13761 (decl): Change types of members `excl', `presence', and `absence'.
13762 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
13763 at the end of the vector.
13764 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
13765 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
13766 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
13767 (gen_presence_set, gen_absence_set): Use new function
13768 `gen_presence_absence_set'.
13769 (add_presence_absence): Process `pattern_list' instead of
13770 `source_list'.
13771 (process_decls): USe new functions
13772 `process_presence_absence_names' and
13773 `process_presence_absence_patterns'.
13774 (reserv_sets_are_intersected): Use new function
13775 `check_presence_pattern_sets'.
13776 (presence_set, absence_set): Remove them.
13777 (unit_presence_set_table, unit_absence_set_table): New global
13778 variables.
13779 (output_description): Use new function
13780 `output_pattern_set_el_list'.
13781 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 13782
30028c85
VM
13783 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
13784
13785 * genattr.c (main): Add output of prototype of new interface
13786 function `dfa_clean_insn_cache'.
13787
13788 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
13789 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
13790 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
13791 the generated code.
13792 (write_automata): Call the new function.
07488f32 13793
62c9aa5f 137942003-01-09 Jan Hubicka <jh@suse.cz>
cb297538 13795
17211ab5
GK
13796 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
13797 correctly.
cb297538 13798
3a6e2189
PC
137992003-01-09 Paolo Carlini <pcarlini@unitus.it>
13800
13801 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
13802
62c9aa5f 138032003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
97488870
R
13804
13805 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
13806 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13807 (CONSTRAINT_LEN): Provide default definition.
13808 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
13809 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
13810 (EXTRA_CONSTRAINT_STR): Likewise.
13811 (REG_CLASS_FROM_CONSTRAINT): Define.
13812 * genoutput.c (check_constraint_len, constraint_len): New functions.
13813 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
13814 constraint / modifier.
13815 (gen_insn): Call check_constraint_len.
13816 * local-alloc.c (block_alloc): Update to use new macros / pass
13817 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
13818 * ra-build.c (handle_asm_insn): Likewise.
13819 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
13820 (constrain_operands, peep2_find_free_register): Likewise.
13821 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13822 * regmove.c (find_matches): Likewise.
13823 * reload.c (push_secondary_reload, find_reloads): Likewise.
13824 (alternative_allows_memconst): Likewise.
13825 * reload1.c (maybe_fix_stack_asms): Likewise.
13826 (reload_cse_simplify_operands): Likewise.
13827 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13828 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
13829 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
13830 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
13831 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
13832 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
13833
13834 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
13835
fc182093
KH
138362003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13837
13838 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
13839 length.
13840 (*extzv_1_r_h8300hs): Likewise.
13841 (*extzv_1_r_inv_h8300): Likewise.
13842 (*extzv_1_r_inv_h8300hs): Likewise.
13843
3b1c9927
KH
138442003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13845
13846 * config/h8300/h8300.h (PREDICATE_CODES): New.
13847
867504e6
KH
138482003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13849
13850 * config/h8300/h8300.md (*addsi3_upper): New.
13851 (*iorsi3_shift): Likewise.
13852 (two splitters): Likewise.
13853 (*addsi3_shift): Likewise.
13854 (two splitters): Likewise.
13855
4a69cf79
JZ
138562003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
13857
13858 * Makefile.in (optabs.o): Add dependency on basic-block.h.
13859 * basic-block.h (control_flow_insn_p): Fuction was exported.
13860 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
13861 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
13862 notes only when the region is contained in a single basic block.
13863
4c46ea23
EB
138642003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
13865
13866 PR inline-asm/8832
13867 * tree.h (expand_asm): New prototype.
13868 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
13869 to do so.
13870 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
13871 down to expand_asm.
13872 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
13873 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
13874 (volatile_refs_p) [ASM_INPUT]: Likewise.
13875 (side_effects_p) [ASM_INPUT]: Likewise.
13876
62c9aa5f 138772003-01-09 Jan Hubicka <jh@suse.cz>
f56e86bd
JH
13878
13879 * i386.md (*mul*): FIx constraints; remove confused comment; fix
13880 athlon_decode attributes
13881 (imul/k8 optimization peep2s): New.
13882
13883 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
13884 * i386.md (type attribute): Add ssecomi.
13885 (unit, memory, prefix attributes): Handle ssecomi.
13886 (cvt?2? patterns): Fix athlon_decode attribute
13887 (comi patterns): Set attribute to ssecomi.
13888
13889 PR target/8343
13890 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
13891
98c29f71
RS
138922003-01-09 Richard Sandiford <rsandifo@redhat.com>
13893
13894 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
13895 that match register_operands.
13896 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
13897 register_operand the default case.
13898
bbb818c6
EB
138992003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
13900
13901 PR c/8032
13902 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
13903 an empty element, do not advance the pointer to unfilled
13904 fields if there are pending initializers.
13905
90961eff
AJ
139062003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
13907
13908 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
13909 (install-gcc-tooldir, install-cpp, installdirs,
13910 install-common, install-driver, install-info, install-man,
13911 install-headers, install-include-dir, install-headers-tar,
13912 install-headers-cpio, install-headers-cp, install-mkheaders,
13913 install-collect2, uninstall): Prepend $(DESTDIR) to
13914 destination paths in all (un)installation commands.
13915 (install-driver): Rewrite $(LN) commands to support DESTDIR
13916 with "ln" as well as with "ln -s".
13917 (installdirs): Simply use mkinstalldirs.
13918 (install-libgcc, install-multilib): Also pass DESTDIR.
13919 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
13920 installation destination variable ldir.
13921 * config/alpha/t-osf4, config/arm/t-netbsd,
13922 config/ia64/t-hpux, config/mips/t-iris5-6,
13923 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
13924 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
13925 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
13926 in the definition of SHLIB_INSTALL.
13927 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
13928 $(libsubdir) in the installation commands.
13929
8b26829f
KK
139302003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
13931
13932 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
13933 non-optimizing compile.
13934 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
13935 compile.
13936
fe77449a
DR
139372003-01-08 Douglas B Rupp <rupp@gnat.com>
13938
13939 * config/i386/i386.c (ix86_attribute_table): Add new attributes
13940 ms_struct and gcc_struct.
13941 (ix86_handle_struct_attribute): New function.
13942 (ix86_ms_bitfield_layout_p): Update to take new attributes
13943 into account.
13944 * doc/extend.texi: Document new attributes.
13945 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
13946
98417968
DS
139472003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
13948
07488f32
ZW
13949 PR optimization/8750
13950 * config/i386/i386.c (ix86_expand_prologue): Don't allow
13951 scheduling pass to move insns across __alloca call.
98417968 13952
e46e3130
DJ
139532003-01-08 Dale Johannesen <dalej@apple.com>
13954
07488f32
ZW
13955 * config/rs6000/rs6000.md: Replace *store_multiple_string
13956 with *stmsi[3-8].
e46e3130 13957
c40e5172
JS
139582003-01-08 Jeff Sturm <jsturm@one-point.com>
13959
13960 PR target/9210
13961 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
13962 Set SYMBOL_REF_FLAG on local data sym_ref.
13963
de62b72c 139642003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
13965
13966 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 13967 REG_PARM_STACK_SPACE.
07488f32 13968 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
13969 pretend_args_size.
13970
25839c41
NN
139712003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
13972
13973 * gcc.hlp: Delete.
13974
62c9aa5f 139752003-01-09 Jan Hubicka <jh@suse.cz>
4bdc8610
JH
13976
13977 * i386.c (ix86_expand_int_addcc): Fix thinko.
13978
5b71a4e7
DE
139792003-01-08 David Edelsohn <edelsohn@gnu.org>
13980
13981 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
13982 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
13983 as hook_bool_tree_hwi_hwi_tree_true.
13984 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
13985 (rs6000_emit_epilogue): Same.
13986 (rs6000_output_mi_thunk): Re-implement as RTL.
13987 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
13988 xcoffout_declare_function if any debugging enabled.
13989
2d2a50c3
CD
139902003-01-08 Chris Demetriou <cgd@broadcom.com>
13991
13992 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
13993 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
13994 * config/mips/mips.h (enum processor_type): Rename
13995 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
13996 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
13997 Add PROCESSOR_M4K.
13998 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
13999 (ISA_MIPS32R2): New define.
14000 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
14001 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
14002 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
14003 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
14004 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
14005 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
14006 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
14007 compiling MIPS16 code.
14008 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
14009 comment.
14010 (ISA_HAS_SEB_SEH): New define.
14011 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
14012 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
14013 processor_type value renaming. Add support for MIPS32R2.
14014 Clean up comments, and move "sb1" entry with other MIPS64 CPU
14015 entries.
14016 (override_options): Reimplement -mipsN option handling so that
14017 it will work correctly for -mips32r2. Avoid branch-likely
14018 instructions on MIPS32R2.
14019 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
14020 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
14021 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
14022 (extendhisi2_hw, extendqisi2_hw): New.
14023 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
14024 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
14025 MIPS32R2, and MIPS64.
14026 (LINK_SPEC): Pass -mips32r2 to linker.
14027 * config/mips/t-isa3264: Built -mips32r2 multilibs.
14028 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
14029 for mips32r2 in the -march description. Alphabetically sort
14030 CPU names in the -march description. Add long-missed -mips32
14031 and -mips64 to MIPS option summary.
14032
14033 * config.gcc: Update copyright years to include 2003.
14034 * config/mips/mips.c: Likewise.
14035 * config/mips/mips.h: Likewise.
14036 * config/mips/mips.md: Likewise.
14037 * config/mips/netbsd.h: Likewise.
14038 * doc/invoke.texi: Likewise.
14039
918c4fe4
AS
140402003-01-08 Andreas Schwab <schwab@suse.de>
14041
14042 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
14043 variable.
14044 * configure: Regenerated.
14045
c5e7ce43
KH
140462003-01-08 Kazu Hirata <kazu@cs.umass.edu>
14047
14048 * config/h8300/h8300.c (output_logical_op): Replace byte/word
14049 extraction of det with b0, b1, w0, w2, etc.
14050 (compute_logical_op_length): Likewise.
14051 (compute_logical_op_cc): Likewise.
14052
eb8a8ec4
KH
140532003-01-08 Kazu Hirata <kazu@cs.umass.edu>
14054
14055 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
14056 HIGH on all variants.
14057
62c9aa5f 140582003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 14059
56f15830
JZ
14060 * Makefile.in (PARTITION_H): New.
14061 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
14062 * basic-block.h: Include hard-reg-set.h.
14063
ab57893b
RE
140642003-01-08 Richard Earnshaw <rearnsha@arm.com>
14065
14066 * arm.h (ENABLE_XF_PATTERNS): Delete.
14067 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
14068 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
14069 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
14070 (cmpxf_trap): Delete.
14071 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
14072
62c9aa5f 140732003-01-08 Jan Hubicka <jh@suse.cz>
7b52eede
JH
14074
14075 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
14076 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
14077 (add??cc): New expanders.
14078 * i386.c (expand_int_addcc): New function.
14079 * i386-protos.h (expand_int_addcc): Declare.
14080
14081 * alias.c (memory_modified_1): New static function.
14082 (memory_modified): New static varaible.
14083 (memory_modified_in_insn_p): New global function.
14084 * rtl.h (memory_modified_in_insn_p): Declare.
14085 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
14086 references.
14087
14088 * expr.h (emit_conditional_add): Declare.
14089
74049755
JJ
140902003-01-07 Janis Johnson <janis187@us.ibm.com>
14091
14092 PR other/8947
14093 * doc/invoke.texi (-malign-double): Explain that the option breaks
14094 binary compatibility.
14095
e7edc5a0
AS
140962003-01-08 Andreas Schwab <schwab@suse.de>
14097
14098 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
14099 should come from the generic *-*-linux* entry.
14100
62c9aa5f 141012003-01-07 Jan Hubicka <jh@suse.cz>
9635cfad
JH
14102
14103 * cselib.c (cselib_current_insn_in_libcall): New static variable.
14104 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
14105 we are inside libcall.
14106 * cselib.h (elt_loc_list): Add in_libcall.
14107 * gcse.c (do_local_cprop): Do not copy propagate using insns
14108 in libcalls.
14109
3ee04299
DE
141102003-01-07 David Edelsohn <edelsohn@gnu.org>
14111
14112 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
14113 not normally affect to issue rate.
14114
62c9aa5f 141152003-01-07 Jan Hubicka <jh@suse.cz>
068f5dea
JH
14116
14117 * genopinit.c (optabs): Add addc_optab.
14118 * ifcvt.c (noce_try_store_flag): Rename to ...
14119 (noce_try_addcc): ... this one; handle generic conditional increment.
14120 (noce_process_if_block): Update noce_try_addcc call.
14121 * optabs.c (emit_conditional_add): New.
14122 (init_obtabs): Initialize addc_optab.
14123 * optabs.h (optab_index): Add OTI_addcc.
14124 (addcc_optab): New macro.
14125 * md.texi: Document addMcc
14126
14127 PR target/8322
14128 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
14129 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
14130 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
14131
14132 * reload1.c (delete_output_reload): Avoid repeated attempts
14133 to delete insn.
14134
eb70d86d
AS
141352003-01-07 Andreas Schwab <schwab@suse.de>
14136
e7edc5a0
AS
14137 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
14138 Move --enable-initfini-array check ...
14139 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
14140 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
14141 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
14142 * configure: Rebuild.
eb70d86d 14143
1afdf91c
RH
141442003-01-07 Richard Henderson <rth@redhat.com>
14145
e7edc5a0
AS
14146 * alias.c (find_base_value): Only use new_reg_base_value shortcut
14147 if the register is set once.
1afdf91c 14148
36210500 141492003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 14150
36210500
SP
14151 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
14152 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
14153 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
14154
cb25b0ce
BK
141552003-01-07 Benjamin Kosnik <bkoz@redhat.com>
14156 Sunil Davasam <sunil.k.davasam@intel.com>
14157
07488f32 14158 PR libstdc++/9076
cb25b0ce
BK
14159 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
14160 DW_CFA_same_value, read next and ignore.
14161
94c040bd
RH
141622003-01-07 Richard Henderson <rth@redhat.com>
14163
14164 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
14165
f6cb56fa
DB
141662003-01-07 Daniel Berlin <dberlin@dberlin.org>
14167
14168 * cfg.c: Include alloc-pool.h
14169 (edge_pool): New pool.
14170 (bb_pool): New pool.
14171 (first_deleted_edge): Remove.
14172 (first_deleted_block): Remove.
14173 (init_flow): Alloc/free the pools.
14174 (free_edge): Use pools.
14175 (alloc_block): Ditto.
14176 (expunge_block): Ditto.
14177 (cached_make_edge): Ditto.
14178
14179 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
14180
141812003-01-07 Daniel Berlin <dberlin@dberlin.org>
14182
14183 * et-forest.c: Include alloc-pool.h.
14184 (struct et_forest): Add node_pool and occur_pool.
14185 (et_forest_create): Create the new pools.
14186 (et_forest_delete): Delete them.
14187 (et_forest_add_node): Allocate and free using pools.
14188 (et_forest_add_edge): Ditto.
14189 (et_forest_remove_node): Ditto.
14190 (et_forest_remove_edge): Ditto.
14191
14192 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
14193
f9ac2f95
KH
141942003-01-07 Kazu Hirata <kazu@cs.umass.edu>
14195
14196 * config/h8300/h8300.c (output_logical_op): Simplify and
14197 optimize the handling of SImode.
14198 * config/h8300/h8300.c (compute_logical_op_length): Update
14199 accordingly.
14200 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
14201
83282119
RS
142022003-01-07 Richard Sandiford <rsandifo@redhat.com>
14203
14204 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
14205 big-endian correction to indirect arguments too.
14206
59a4c851
AH
142072003-01-06 Aldy Hernandez <aldyh@redhat.com>
14208
14209 Segher Boessenkool <segher@koffie.nl>
14210
36210500
SP
14211 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
14212 (alt_reg_names): Ditto, fix formatting.
14213 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 14214
7798db98
KH
142152003-01-06 Kazu Hirata <kazu@cs.umass.edu>
14216
14217 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
14218 (output_logical_op): Constify intval and det.
14219 (compute_logical_length): Likewise.
14220 (compute_logical_cc): Likewise.
14221 (output_a_shift): Constify mask.
14222 (h8300_encode_label): Constify len.
14223
4705d102
KH
142242003-01-06 Kazu Hirata <kazu@cs.umass.edu>
14225
14226 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
14227 (h8300_expand_epilogue): Likewise.
14228
98c9a8e8
AH
142292003-01-06 Aldy Hernandez <aldyh@redhat.com>
14230
14231 Segher Boessenkool <segher@koffie.nl>
14232
36210500
SP
14233 * config/rs6000/altivec.md: Remove spaces from assembler
14234 instruction argument lists.
07488f32 14235
86143814
MH
142362003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14237
14238 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
14239 c4x_assembler_function_p.
14240 (c4x_null_epilogue_p): Complement return value, all uses updated.
14241 (c4x_insert_attributes): Add naked.
14242 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
14243 * doc/extend.texi: Update C4x function attributes.
14244
52fd80fb
RH
142452003-01-06 Richard Henderson <rth@redhat.com>
14246
14247 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
14248 properly when changing "local-ness".
14249 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
14250
a16b43c5
DJ
142512003-01-06 Dale Johannesen <dalej@apple.com>
14252
14253 * config/darwin-protos.h: Add prototypes for new section functions.
14254
ef8dfae6
CD
142552003-01-06 Chris Demetriou <cgd@broadcom.com>
14256
14257 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
14258 to EABI.
14259
44f9a8e4
ZW
142602003-01-06 Zack Weinberg <zack@codesourcery.com>
14261
14262 * hwint.h: If the current compiler has no 64-bit type at all,
14263 make HOST_WIDEST_INT 32 bits.
14264
2610198a
EC
142652003-01-06 Eric Christopher <echristo@redhat.com>
14266
14267 * config/mips/mips.md (movdf_internal2): Fix constraints.
14268
efbd757f
KH
142692003-01-06 Kazu Hirata <kazu@cs.umass.edu>
14270
14271 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
14272
727b9b8c
RS
142732003-01-06 Richard Sandiford <rsandifo@redhat.com>
14274
14275 * config/mips/mips.md (leadi): Use dla rather than la.
14276
4705d102 142772003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
14278
14279 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
14280 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
14281
4705d102 142822003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 14283
44f9a8e4 14284 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
14285 redefinition.
14286
dff0ea43
KH
142872003-01-05 Kazu Hirata <kazu@cs.umass.edu>
14288
14289 * config/h8300/h8300.md (*extzv_8_23): New.
14290
94e6fd3e
JDA
142912003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
14292
14293 * pa64-hpux.h (JCR_SECTION_NAME): Define.
14294 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
14295 USE_EH_FRAME_REGISTRY when defining.
14296
cd9b5ca8
KH
142972003-01-05 Kazu Hirata <kazu@cs.umass.edu>
14298
14299 * config/h8300/h8300.c (output_a_shift): Do not output a
14300 variable shift.
14301 * config/h8300/h8300.md (two splitters): New.
14302
1ba8a9c4
RS
143032003-01-05 Richard Sandiford <rsandifo@redhat.com>
14304
14305 * config/mips/mips.md: Disable the movstrsi define_split.
14306
c7c50494
KG
143072003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14308
14309 * alloc-pool.c: Don't include "libiberty.h".
14310 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
14311 * convert.c (convert_to_real): Hide unused variable.
14312
83fa8d7a
KG
143132003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14314
14315 * Makefile.in (gtyp-gen.h): Const-ify.
14316 * gcov-dump.c (tag_table): Likewise.
14317
871dab3e
BK
143182003-01-04 Bruce Korb <bkorb@gnu.org>
14319
14320 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
14321 of *both* the file name and the fix name.
14322
90961eff 143232003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
14324
14325 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
14326 collect2.
14327 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
14328 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
14329 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
14330 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
14331 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
14332 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
14333 elfos.h.
14334 (EH_FRAME_IN_DATA_SECTION): Delete define.
14335 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
14336 (STARTFILE_SPEC): Use crtbegin.o.
14337 (ENDFILE_SPEC): Use crtend.o.
14338 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
14339 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
14340 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
14341 DTOR_LIST_BEGIN): Define.
14342 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
14343 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
14344 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
14345
b0588013
BK
143462002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
14347
14348 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
14349 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
14350 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
14351 Cleanup handling of replacement text.
14352 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
14353
143542003-01-04 Bruce Korb <bkorb@gnu.org>
14355
14356 * fixinc/tests/base/math.h: removed obsolete results
14357 * fixinc/tests/base/stdlib.h: ditto
14358 * fixinc/tests/base/sys/param.h: ditto
14359 * fixinc/tests/base/sys/stat.h: ditto
14360 * fixinc/tests/base/time.h: ditto
14361 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
14362 * fixinc/tests/base/sys/byteorder.h: ditto
14363 * fixinc/inclhack.def: Remove superfluous backslashes
14364
68ee6df6
KH
143652003-01-04 Kazu Hirata <kazu@cs.umass.edu>
14366
14367 * config/h8300/h8300-protos.h: Add prototypes for
14368 the new functions defined below.
14369 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
14370 define.
14371 (dosize): Emit RTL instead of assembly code.
14372 (push): Likewise.
14373 (pop): Likewise.
14374 (h8300_output_function_prologue): Remove.
14375 (h8300_expand_prologue): New.
14376 (h8300_expand_epilogue): New.
14377 (h8300_output_function_epilogue): Do only the reset of
14378 pragma_saveall.
14379 * config/h8300/h8300.md (push_h8300): New.
14380 (push_h8300hs): Likewise.
14381 (pop_h8300): Likewise.
14382 (pop_h8300hs): Likewise.
14383 (*stm_h8300s_2): Change the name to stm_h8300s_2.
14384 (*stm_h8300s_3): Change the name to stm_h8300s_3.
14385 (*stm_h8300s_4): Change the name to stm_h8300s_4.
14386 (*ldm_h8300s_2): New.
14387 (*ldm_h8300s_3): Likewise.
14388 (*ldm_h8300s_4): Likewise.
14389 (return): Likewise.
14390 (*return_1): Likewise.
14391 (prologue): Likewise.
14392 (epilogue): Likewise.
14393 (monitor_prologue): Likewise.
14394
d3c300d2
DJ
143952003-01-03 Dale Johannesen <dalej@apple.com>
14396
14397 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
14398 machopic_picsymbol_stub1.
14399 (EXTRA_SECTION_FUNCTIONS): Ditto.
14400 * rs6000/rs6000.c: Update copyright.
14401 (machopic_output_stub): Use them. Remove an insn from stub code.
14402
6cce57b0
JM
144032003-01-02 Jason Merrill <jason@redhat.com>
14404
4e8dca1c
JM
14405 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
14406
14407 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
14408 static/external decls.
2610198a 14409
6cce57b0
JM
14410 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
14411 outermost scope.
14412 * c-decl.c (c_make_fname_decl): Push the decls there, too.
14413
e392d367
KH
144142003-01-03 Kazu Hirata <kazu@cs.umass.edu>
14415
14416 * config/h8300/h8300-protos.h: Add a prototype for
14417 h8300_current_function_interrupt_function_p.
14418 * config/h8300/h8300.c (interrupt_handler): Remove.
14419 (os_task): Likewise.
14420 (monitor): Likewise.
14421 (pragma_interrupt): New.
14422 (WORD_REG_USED): Use
14423 h8300_current_function_interrupt_function_p.
14424 (dosize): Likewise.
14425 (h8300_output_function_prologue): Likewise.
14426 Do not set interrupt_handler, os_task, monitor.
14427 (h8300_output_function_prologue): Use
14428 h8300_current_function_interrupt_function_p.
14429 Do not set interrupt_handler, os_task, monitor.
14430 (h8300_current_function_interrupt_function_p): New.
14431 (h8300_pr_interrupt): Set pragma_interrupt.
14432 (h8300_insert_attributes): Reset pragma_interrupt.
14433
b15da5b7
GP
144342003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14435
14436 * doc/install.texi (Configuration): Fix markup for reference to
14437 gcc/config.gcc.
14438
bf16e745
KH
144392003-01-02 Kazu Hirata <kazu@cs.umass.edu>
14440
14441 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
14442 (*iorhi3_two_qi): Likewise.
14443 (*iorsi3_zexthi): Likewise.
14444 (*xorhi3_zextqi): Likewise.
14445 (*xorsi3_zexthi): Likewise.
14446 (*xorsi3_zextqi): Likewise.
14447
8ccf5d5f
KH
144482003-01-02 Kazu Hirata <kazu@cs.umass.edu>
14449
14450 * config/h8300/h8300.c (stack_pointer_operand): New.
14451 (const_int_gt_2_operand): Likewise.
14452 (const_int_ge_8_operand): Likewise.
14453 * config/h8300/h8300.md (a splitter): Likewise.
14454 (a peephole2): Likewise.
14455 * config/h8300/h8300-protos.h: Add prototypes for the new
14456 functions above.
14457
43c6a96a
SB
144582003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
14459
14460 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
14461 objc/objc-act.h: Fix copyright years.
14462
96c4e780
SB
144632003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
14464
14465 * doc/passes.texi: Fix documentation for -fssa-ccp
14466
8ed0a104
NB
144672003-01-02 Neil Booth <neil@daikokuya.co.uk>
14468
14469 * gccbug.in: Update for new categories.
14470
1b9f0361
KH
144712003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14472
14473 * config/h8300/h8300.md: Reorder some patterns.
14474
dc5f17ec
KH
144752003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14476
14477 * config/h8300/h8300.c (output_logical_op): Fix a warning.
14478
cd2801fb
NB
144792003-01-01 Neil Booth <neil@daikokuya.co.uk>
14480
14481 * config/darwin-protos.h, config/c4x/c4x-protos.h,
14482 config/cris/cris-protos.h, config/i370/i370-protos.h,
14483 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
14484 config/v850/v850-protos.h: Use struct, and don't conditionally
14485 compile on GCC_C_PRAGMA_H.
14486
378b1b8e
KH
144872003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14488
14489 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
14490 * config/h8300/h8300-protos.h: Likewise.
14491 * config/sh/sh-protos.h: Likewise.
14492
7106a5bc
KH
144932003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14494
14495 * config/arm/arm-protos.h: Use struct cpp_reader instead of
14496 cpp_reader.
14497 * config/h8300/h8300-protos.h: Likewise.
14498 * config/sh/sh-protos.h: Likewise.
14499
231b51a1
NB
145002003-01-01 Neil Booth <neil@daikokuya.co.uk>
14501
14502 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
14503 arm_pr_long_calls_off): Use struct.
14504 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
14505 : Similarly.
14506 Don't include cpplib.h.
14507 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
14508 sh_pr_nosave_low_regs): Similarly.
14509
0f18b2b0
KH
145102003-01-01 Kazu Hirata <kazu@cs.umass.edu>
14511
14512 * config/h8300/h8300.c: Include cpplib.h.
14513
b9593599
SB
145142003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
14515
14516 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
14517 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
14518 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
14519 "GCC" in the copyright header.
14520
c58b209a
NB
145212003-01-01 Neil Booth <neil@daikokuya.co.uk>
14522
14523 * c-pragma.c (c_register_pragma): New.
14524 (init_pragma): Use it.
14525 * c-pragma.h (cpp_register_pragma): Don't declare.
14526 (c_register_pragma): New.
14527 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
14528 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
14529 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
14530 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
14531 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
14532 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
14533 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
14534 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
14535 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
14536 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
14537 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
14538 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
14539
7210d5ae 14540See ChangeLog.8 for earlier changes.
This page took 2.008745 seconds and 5 git commands to generate.