]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
builtins.c (expand_builtin): Remove.
[gcc.git] / gcc / ChangeLog
CommitLineData
9c80ff25
RH
12003-05-03 Richard Henderson <rth@redhat.com>
2
3 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
4 <BUILT_IN_DWARF_SP_COLUMN>: New.
5 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
6 (BUILT_IN_DWARF_SP_COLUMN): New.
7 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
8 (expand_builtin_dwarf_sp_column): New.
9 * except.h: Update to match.
10 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
11 (execute_cfa_program): Record location expression address
12 before extracting length.
13 (uw_update_context_1): Install old CFA into stack pointer column.
14 (uw_init_context_1): Set cfa_reg to stack pointer column.
15
4d588c14
RH
162003-05-03 Richard Henderson <rth@redhat.com>
17
18 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
19 return bool.
20 (toc_relative_expr_p): Likewise.
21 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
22 (legitimate_constant_pool_address_p): Move from rs6000.h, change
23 into a function, downcase all users.
24 (legitimate_small_data_p): Likewise.
25 (legitimate_offset_address_p): Likewise.
26 (legitimate_indexed_address_p): Likewise.
27 (legitimate_indirect_address_p): Likewise.
28 (legitimate_lo_sum_address_p): Likewise.
29 (rs6000_mode_dependent_address): Likewise.
30 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
31 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
32 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
33 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
34 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
35 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
36 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
37 * config/rs6000/rs6000-protos.h: Update.
38
8d90f9c0
GK
392003-05-03 Geoffrey Keating <geoffk@apple.com>
40
b39358e1
GK
41 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
42 (REVERSE_CONDITION): Define.
43
b7053a3f
GK
44 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
45 to branch_positive_comparison_operator.
46 (ccr_bit): Check that sCOND conditions are actually a positive bit.
47 (print_operand): Remove %D substitution.
48 (rs6000_emit_sCOND): Generate complement operation to ensure that
49 sCOND input is a positive bit.
50 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
51 same order as bCOND, and add the missing ones. Remove the %D
52 substitutions from the scc patterns.
53
8d90f9c0
GK
54 * simplify-rtx.c (simplify_relational_operation): Add case for
55 ! (fabs(x) < 0.0).
56
8882ac3a
BK
572003-05-03 Bruce Korb <bkorb@gnu.org>
58
59 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
60 in fixincl.x
61 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
62
bd879e9a
AH
632003-05-03 Aldy Hernandez <aldyh@redhat.com>
64
4d588c14 65 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
bd879e9a 66
87f85ea0
ZW
672003-05-03 Zack Weinberg <zack@codesourcery.com>
68
69 PR c/10604
70 * c-common.c (warn_sign_compare): Initialize to -1.
71 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
72 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
73 for C++ only.
74 (c_common_post_options): Set warn_sign_compare from extra_warnings
75 if it's still -1 at this point.
76
77 * toplev.c (maybe_warn_unused_parameter): New static variable.
78 (set_Wextra): New static function.
79 (W_options): Remove "extra".
80 (decode_W_option): Call set_Wextra.
81 (independent_decode_option): Likewise.
82 (set_Wunused): Cooperate with set_Wextra in setting
83 warn_unused_parameter.
84 (rest_of_compilation): No need to check extra_warnings as
85 well as warn_uninitialized.
86
87 * c-typeck.c (build_binary_op, build_conditional_expr):
88 No need to check extra_warnings as well as warn_sign_compare.
89 (internal_build_compound_expr): No need to check extra_warnings
90 as well as warn_unused_value.
91 * function.c (expand_function_end): No need to check extra_warnings
92 as well as warn_unused_parameter.
93 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
94 as well as warn_unused_value.
95
96 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
97
98 * Makefile.in: Disable -Werror for gengtype-lex.o.
99
ee960939
OH
1002003-05-03 Olivier Hainque <hainque@act-europe.fr>
101
102 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
103 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
104 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
105 * calls.c (emit_call_1): Likewise.
87f85ea0 106 (expand_call): For calls initializing constant memory, replace
ee960939
OH
107 emission of standalone mem /u clobber with function usage entry.
108 * expr.c (emit_block_move_via_libcall): Likewise.
109 * cse.c (count_reg_usage, case EXPR_LIST): New case.
110 * flow.c (propagate_one_insn): Pass entire operand of
111 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
112 * integrate.c (try_constants): For CALL_INSNs, substitute constants
113 within the FUNCTION_USAGE also.
114 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
115 FUNCTION_USAGE lists.
116 * reload1.c (replace_pseudos_in): Renamed.
117 (reload): Use it for clobbers surviving until the end of the reload.
118
3923e410
RK
1192003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
120
13cf99ec
RK
121 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
122 gen_lowpart on non-integer modes.
123
3923e410
RK
124 * stor-layout.c (place_field): When adjusting offset_align, use
125 desired_align, not DECL_ALIGN.
126
070588f0
NS
1272003-05-03 Nathan Sidwell <nathan@codesourcery.com>
128
129 * c-decl.c (pending_invalid_xref_file): Remove.
130 (pending_invalid_xref_line): Remove.
131 (pending_invalid_xref_location): New.
132 (lookup_label): Use location_t and input_location directly.
133 (lookup_tag): Likewise.
134 (pending_xref_error): Likewise.
135 (c_expand_body_1): Likewise.
136 * c-common.c (x_expand_start_cond): Likewise.
137 * c-semantics.c (genrtl_for_stmt): Likewise.
138 (find_reachable_label): Likewise.
139 * expr.c (expand_expr): Likewise.
140 * integrate.c (output_inline_function): Likewise.
141 * tree-inline.c (find_alloca_call): Likewise.
142 (find_builtin_longjmp_call): Likewise.
143 * gcc.c (input_filename): Make static.
87f85ea0 144
b259a9a6
RS
1452003-05-03 Richard Sandiford <rsandifo@redhat.com>
146
969c6c43
RS
147 * config/mips/mips.md: Fix comment typo.
148
b259a9a6
RS
149 * config/mips/mips.c (mips_integer_op): New structure.
150 (MIPS_MAX_INTEGER_OPS): Define.
151 (mips_const_insns): Use mips_build_integer to determine the number
152 of instructions needed to load a CONST_INT.
153 (move_operand): Reject compound CONST_INTs.
154 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
155 (mips_move_integer): New fn.
156 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
157 (mips_legitimize_move): Only legitimize constants when moving
158 word or subword values.
159
28068c2c
MK
1602003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
161
162 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
163
685828f7
KG
1642003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
165
166 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
167 modifying it.
168
d9e95c63
FH
1692003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
170 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
171
172 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
173 Hernandez, and Kazu Hirata. Update Richard Henderson.
174
7454096f
GK
1752003-05-02 Geoffrey Keating <geoffk@apple.com>
176
b86fe7b4
GK
177 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
178 to tentative declaration.
87f85ea0 179
20bfcd69
GK
180 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
181 (SYMBOL_FLAG_SMALL_V4): Delete.
182 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
183 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
184 (rs6000_elf_in_small_data_p): Add extra section names. Add
185 comment about TREE_PUBLIC test.
186
7454096f
GK
187 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
188 expand_stmt on result of expand_unreachable_stmt.
189
3f4a3170
GP
1902003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
191
192 * doc/contrib.texi (Contributors): Add Daniel Berlin.
193
473f51b6
DE
1942003-05-02 David Edelsohn <edelsohn@gnu.org>
195
196 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
197 number of automata.
198
199 * config/rs6000/rs6000.c (symbol_ref_operand): Check
200 SYMBOL_REF_FUNCTION_P on AIX.
201 (current_file_function_operand): Same.
202 * config/rs6000/rs6000.md (call,call_value): Force non-function
203 symbol_ref into register on AIX.
204
e7949876
AM
2052003-05-02 Alan Modra <amodra@bigpond.net.au>
206
207 * calls.c (struct arg_data): Move offset, slot_offset, size and
208 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
209 (initialize_argument_information): Adjust call to locate_and_pad_parm.
210 Delete alignment_pad var. Don't calculate slot_offset here.
211 (emit_library_call_value_1): Delete alignment_pad, offset and size
212 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
213 Adjust call to locate_and_pad_parm. Don't tweak arg size for
214 partial in-regs here. Formatting fixes.
215 * expr.h (struct locate_and_pad_arg_data): New struct.
216 (locate_and_pad_parm): Adjust declaration.
217 * function.c (assign_parms): Localize vars. Use "locate" instead of
218 other arg location vars. Don't invoke FUNCTION_ARG or
219 FUNCTION_INCOMING_ARG unless pretend_named is different from
220 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
221 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
222 Use slot_offset for stack home of reg parms. Correct test for
223 parm passed in memory. Formatting fixes.
224 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
225 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
226 Correct initial_offset_ptr handling. Localize vars. Always pad
227 locate->offset even when in_regs.
228
6060edcb
NS
2292003-05-02 Nathan Sidwell <nathan@codesourcery.com>
230
231 * Makefile.in (TREE_H): Replace location.h with input.h.
232 (GTFILES) Remove location.h
233 (gt-lists.h): Replace gt-location.h with gt-input.h
234 * input.h (input_filename, input_line): Remove variables.
235 (location_s, location_t): Move from location.h.
236 (input_location): New.
237 (input_filename, input_line): New #defines.
238 * location.h: Remove.
239 * tree.h: Replace location.h with input.h.
240 (input_filename, input_line): Remove.
241 * diagnostic.h: Replace location.h with input.h.
242 * gcc.h (input_filename, input_filename_length): Remove declarations.
243 * toplev.c (input_filename, input_line): Remove.
244 (input_location): Define.
245 (push_srcloc, pop_srcloc): Adjust.
246 * diagnostic.c (diagnostic_report_current_module): Adjust.
247
f8000836
NC
2482003-05-02 Nick Clifton <nickc@redhat.com>
249
250 * configure.in: Add xstormy16 to list of targets that has a nop
251 instruction and hence which can be tested to see if the
252 assembler supports the --gdwarf2 switch.
253 * configure: Regenerate.
254
409f52d3 2552003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
87f85ea0
ZW
256
257 PR target/8257
258 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
259 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
260 Avoid undefined shifts by making the shift operand unsigned.
261
57458e8a
DD
2622003-05-01 DJ Delorie <dj@redhat.com>
263
264 * reload.c (find_reloads): Also check that all of a multi-reg
265 value is in the class.
266
774cb6d1
NS
2672003-05-01 Nathan Sidwell <nathan@codesourcery.com>
268
269 * scan.h (lineno): Revert the rename here.
270
e1a4211d
SS
2712003-05-01 Stan Shebs <shebs@apple.com>
272
273 * config/darwin.c (darwin_encode_section_info): Call
274 default_encode_section_info.
275
02ca7595
DE
2762003-05-01 David Edelsohn <edelsohn@gnu.org>
277
278 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
279 (movsi_internal1): Use new mfjmpr attribute.
280 (movhi_internal): Same.
281 (movqi_internal): Same.
282 (movcc_internal1): Same.
283 (movdi_internal64): Same.
284 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
285 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
286 * config/rs6000/40x.md: Add fpu_405.
287 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
288 into power4misc automata. Remove extraneous parentheses.
289 * config/rs6000/440.md: New file.
290 * config/rs6000/rs6000.c (processor_target_table): Add 440,
291 440fp. Rename 405f to 405fp.
292 (function_arg_padding): Correct formatting.
293 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
294
3b895f8e
NS
2952003-05-01 Nathan Sidwell <nathan@codesourcery.com>
296
d479d37f
NS
297 * input.h (lineno): Rename to ...
298 (input_line): ... here.
299 * tree.h (lineno): Rename to ...
300 (input_line): ... here.
301 * scan.h (lineno): Rename to ...
302 (input_line): ... here.
303 * toplev.c (lineno): Rename to ...
304 (input_line): ... here.
305 (push_srcloc, pop_srcloc): Rename lineno to input_line.
306 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
307 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
308 store_parm_decls, c_expand_body_1): Likewise.
309 * c-errors.c (pedwarn_c99): Likewise.
310 * c-format.c (status_warning): Likewise.
311 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
312 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
313 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
314 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
315 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
316 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
317 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
318 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
319 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
320 * coverage.c (create_coverage): Likewise.
321 * diagnostic.c (pedwarn, sorry, error, fatal_error,
322 internal_error, warning, diagnostic_report_current_module,
323 inform): Likewise.
324 * expr.c (expand_expr): Likewise.
325 * integrate.c (expand_inline_function,
326 output_inline_function): Likewise.
327 * rtl-error.c (file_and_line_for_asm): Likewise.
328 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
329 walk_tree): Likewise.
330 * tree.c (make_node): Likewise.
331 * ada, cp, f, java, objc, treelang: Likewise.
332 * objc/objc-act.c (objc_init): Rename lineno to input_line.
333 (build_module_descriptor, build_selector_translation_table,
334 build_protocol_template, build_method_prototype_list_template,
335 build_category_template, build_selector_table,
336 build_class_template, build_super_template, build_ivar_template,
337 build_ivar_list_template, build_method_list_template,
338 build_method_template, add_instance_variable): Likewise.
339
3b895f8e
NS
340 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
341 name from input_filename.
342
cafe096b
EC
3432003-04-30 Eric Christopher <echristo@redhat.com>
344 Richard Sandiford <rsandifo@redhat.com>
345
346 * configure: Regenerate from patches below.
347 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
348 for all symbolic operands.
349 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
350 to function.
351 * config/mips/linux.h: Fix typo.
352 * Merge from mips-3_4-rewrite branch:
353
354 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
355
87f85ea0
ZW
356 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
357 handling local labels when TARGET_ABICALLS.
cafe096b
EC
358
359 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
360
87f85ea0
ZW
361 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
362 integer argument.
363 (mips_expand_call): Likewise.
364 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
365 (FIXED_REGISTERS): Clear $31 entry.
366 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
367 (EPILOGUE_USES): Define.
368 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
369 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
370 (override_options): Add a 'j' register class.
371 (mips_expand_call): Handle sibcalls
372 (mips_expand_epilogue): Handle epilogues for sibcalls.
373 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
374 (sibcall_epilogue): New pattern.
375 (call, call_value): Adjust calls to mips_expand_call.
376 (sibcall, sibcall_value): New expanders.
377 (sibcall_internal, sibcall_value_internal): New patterns.
378 (sibcall_value_multiple_internal): New pattern.
cafe096b
EC
379
380 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
381
87f85ea0
ZW
382 * config/mips/mips.md (extended_mips16): New attribute.
383 (define_attr length): Default to 8 if extended_mips16 == yes.
384 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
385 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
386 (call_internal): Set extended_mips16 to yes for direct jumps.
387 Remove redundant mode attribute.
388 (call_value_internal, call_value_multiple_internal): Likewise.
389 (call_split): Remove redundant mode attribute.
390 (call_value_split, call_value_multiple_split): Likewise.
cafe096b 391
87f85ea0
ZW
392 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
393 of unaligned offsets.
cafe096b
EC
394
395 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
87f85ea0 396 of SYMBOL_GENERAL.
cafe096b
EC
397
398 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
399
87f85ea0
ZW
400 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
401 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
402 for mips16 code.
cafe096b
EC
403
404 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
405
87f85ea0 406 * config/mips/mips.h (ADDRESS_COST): Define.
cafe096b
EC
407
408 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
409
87f85ea0
ZW
410 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
411 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
412 * config/mips/mips.md: Replace 'R' constraints with 'U'.
cafe096b
EC
413
414 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
415
87f85ea0
ZW
416 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
417 of a two-instruction sequence. Add register->memory alternative.
418 (truncdihi2, truncdiqi2): Likewise.
419 Rework shift/truncate instructions so that they only handle right
420 shifts of 32 (or more, in the case of arithmetic shifts).
421 Add patterns for truncate/sign-extend.
cafe096b
EC
422
423 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
424
87f85ea0
ZW
425 * configure.in (mips*-*-*): Check for explicit relocation support.
426 * configure: Regenerate.
cafe096b
EC
427
428 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
429
87f85ea0
ZW
430 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
431 and -mno-explicit-relocs.
432 (MASK_EXPLICIT_RELOCS): Define.
433 (TARGET_EXPLICIT_RELOCS): Use it.
434 (mips_split_addresses): Remove declaration.
435 * config/mips/mips.c (override_options): Update comment for
436 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
cafe096b
EC
437
438 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
439
87f85ea0
ZW
440 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
441 a CONST as identity. Check the return value of gen_lowpart_common.
cafe096b
EC
442
443 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
444
87f85ea0
ZW
445 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
446 references for TARGET_EXPLICIT_RELOCS.
447 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
448 !TARGET_MIPS16.
cafe096b
EC
449
450 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
451
87f85ea0
ZW
452 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
453 (addsi3): Remove redundant constraints.
454 (addsi3_internal): Use separate register & constant alternatives.
455 Use a 'Q' constraint and "addiu" insn for the latter.
456 (adddi3_internal_3, addsi3_internal_2): Likewise.
cafe096b
EC
457
458 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
459
87f85ea0
ZW
460 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
461 (mips_expand_unaligned_store): Declare.
462 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
463 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
464 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
465 (UNSPEC_ULD, UNSPEC_USD): Remove.
466 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
467 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
468 (extv, extzv): Use mips_expand_unaligned_load.
469 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
470 predicate for operand 3.
471 (movsi_ulw, movsi_usw): Replace with...
472 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
473 (movdi_uld, movdi_usd): Likewise replace with...
474 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
cafe096b
EC
475
476 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
477
87f85ea0
ZW
478 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
479 * config/mips/mips.h (LEA_REGS): New register class.
480 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
481 (GR_REG_CLASS_P): Include LEA_REGS.
482 (DANGEROUS_FOR_LA25_P): New macro.
483 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
484 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
485 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
486 entries to LEA_REGS.
487 (mips_global_pic_constant_p): New function.
488 (override_options): Add 'e' register constraint.
489 (mips_secondary_reload_class): Return LEA_REGS when reloading
490 a dangerous constant into a class containing $25.
491 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
492 (movsi_internal): Likewise.
cafe096b
EC
493
494 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
495
87f85ea0
ZW
496 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
497 * config/mips/mips.md (call_split): New insn.
498 (call_value_split, call_value_multiple_split): New insns.
499 (call_internal): Turn into a define_insn_and_split. Split the
500 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
501 (call_value_internal, call_value_multiple_internal): Likewise.
cafe096b
EC
502
503 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
504
87f85ea0
ZW
505 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
506 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
507 (mips_encode_section_info): Don't take symbol visibility into
508 account if TARGET_ABICALLS. Add more commentary.
509 * config/mips/mips.md: Add commentary above reloc constants.
cafe096b
EC
510
511 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
512
87f85ea0
ZW
513 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
514 from mips_legitimize_move. Legitimize constant pool references.
515 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
516 a REG_EQUAL note to the last instruction.
cafe096b
EC
517
518 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
519
87f85ea0
ZW
520 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
521 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
522 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
523 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
524 * config/mips/mips.md (UNSPEC_HIGH): New constant.
525 (UNSPEC_RELOC_GPREL16): Rename to...
526 (RELOC_GPREL16): ...this.
527 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
528 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
529 (macro_calls): New attribute.
530 (length): Use it to set the default length of calls. Don't allow
531 calls to have delay slots if macro_calls is "yes".
532 (luisi, luidi): New patterns.
533 (lowsi, lowdi): Use '%R' to print the relocation.
534 (lowdi_extend): Remove.
535 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
536 (call_internal): Merge alternatives. Always use "jal".
537 (call_value_internal, call_value_multiple_internal): Likewise.
538 (reloc_gprel16): Remove.
539 * config/mips/mips.c (mips_got_alias_set): New variable.
540 (mips_classify_constant): Handle the new relocation constants.
541 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
542 (mips_symbolic_address_p): Return false if generating explicit relocs.
543 Otherwise allow local PIC symbols to have an offset.
544 (mips_splittable_symbol_p): New function.
545 (mips_classify_address): Use it to check whether a LO_SUM is valid.
546 (mips_const_insns): Always accept HIGH.
547 (call_insn_operand): Don't accept global symbols if using explicit
548 relocs.
549 (move_operand): Don't accept HIGH when generating PIC.
550 (mips_reloc, mips_lui_reloc): New functions.
551 (mips_force_temporary): Remove MODE argument. Expect VALUE to
552 be a valid right-hand-side for a SET pattern.
553 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
554 (mips_emit_high): New function.
555 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
556 case. Use mips_splittable_symbol_p to check whether a LO_SUM
557 address should be used. Use mips_emit_high to generate the
558 high part of such an address. Adjust the global symbol + offset
559 case to match the change to mips_force_temprorary.
560 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
561 If generating explicit-reloc PIC, load the address of global
562 symbols from the GOT. Use mips_emit_high to emit the high part
563 of an address.
564 (mips_simplify_dwarf_addr): New function.
565 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
566 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
567 (mips_expand_call): Load the addresses of global functions using
568 %call* relocs if generating explicit-reloc PIC. Don't generate
569 an exception_receiver pattern.
570 (override_options): Initialize mips_got_alias_set.
571 (print_relocation): Remove in favour of...
572 (mips_reloc_string): ...this new function.
573 (print_operand): Handle '%R'. Use mips_reloc_string.
574 (print_operand_address): Use print_operand to print the symbolic
575 part of a LO_SUM address.
576 (mips_output_function_prologue): Use .cprestore, reverting last patch.
577 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
578 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
579 for local symbols.
cafe096b
EC
580
581 2003-02-02 Eric Christopher <echristo@redhat.com>
582
583 * config/mips/mips.c (mips_sign_extend): Remove.
87f85ea0
ZW
584 * config/mips/mips-protos.h: Ditto.
585 * config/mips/mips.md (movdi_internal2_extend): Remove.
586 (extendsidi2): Fix mode of convert_memory_address.
cafe096b
EC
587
588 2003-01-24 Eric Christopher <echristo@redhat.com>
589
87f85ea0
ZW
590 * config/mips/mips.md: Rewrite zero_extend* and extend*
591 patterns. Use explicit instructions and split after reload
592 for register extensions.
593 (ashlsi3_internal1_extend): New combiner pattern for
594 shift and extend combinations.
595 * config/mips/mips.h: Change Pmode back to ptr_mode
596 for performance enhancement.
597 * combine.c (expand_compound_operation): Make sure
598 that zero_extend operation is profitable.
cafe096b
EC
599
600 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
601
87f85ea0
ZW
602 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
603 addresses depend on ptr_mode rather than Pmode.
604 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
605 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
606 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
607 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
608 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
609 condition for selecting cpaddsi or cpadddi: use cpadd instead.
610 (tablejump_internal1): Remove condition.
611 (tablejump_internal2): Change condition to TARGET_64BIT.
612 (cpaddsi): Rename to...
613 (cpadd): ...this.
614 (cpadddi): Remove.
cafe096b
EC
615
616 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
617
87f85ea0
ZW
618 * config/mips/mips-protos.h (mips16_constant_after_function_p,
619 mips_address_cost, mips_check_split, double_memory_operand,
620 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
621 pic_address_needs_scratch, symbolic_operand): Remove declarations.
622 (mips_legitimate_address_p): Return bool.
623 (mips_address_insns, mips_fetch_insns, mips_const_insns,
624 mips_legitimize_address, mips_legitimize_move,
625 mips_expand_call): Declare.
626 (mips_return_addr): Move outside #ifdef RTX_CODE.
627
628 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
629 (PIC_FN_ADDR_REG): New reg_class.
630 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
631 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
632 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
633 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
634 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
635 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
636 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
637 (LEGITIMATE_PIC_OPERAND): Undefine.
638 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
639 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
640 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
641 (FUNCTION_MODE): Change to SImode.
642 (CONST_COSTS): Use mips_const_insns to calculate the cost of
643 most constants. Treat const_artih_operands specially if they
644 occur in a PLUS or MINUS.
645 (CONSTANT_POOL_COST): New macro.
646 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
647 Add LO_SUM handling.
648 (ADDRESS_COST): Undefine.
649 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
650 Add CONST to the list of codes for arith_operand. Add LABEL_REF
651 to call_insn_operand and remove CONST_INT.
652
653 * config/mips/mips.c: Include integrate.h.
654 (SINGLE_WORD_MODE_P): New macro.
655 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
656 (mips_constant_info, mips_address_info): New structs.
657 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
658 (mips_classify_constant, mips_classify_symbol,
659 mips_valid_base_register_p, mips_symbolic_address_p,
660 mips_classify_address, mips_symbol_insns,
661 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
662 mips_fetch_insns, mips_force_temporary, mips_add_offset,
663 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
664 mips_print_relocation): New functions.
665 (const_arith_operand): New operand predicate.
666 (arith_operand): Use it.
667 (mips_const_double_ok, mips16_simple_memory_operand,
668 simple_memory_operand, double_memory_operand, mips_check_split,
669 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
670 mips16_gp_offset_p, mips16_output_gp_offset,
cafe096b 671 mips16_constant_after_function_p, mips16_constant): Remove.
87f85ea0
ZW
672 (call_insn_operand): Be more fussy about symbolic constants.
673 Use register_operand.
674 (move_operand): Use mips_symbolic_address_p to check symbolic
675 operands and general_operand to check the rest.
676 (symbolic_operand): Use mips_classify_constant.
677 (mips_legitimate_address_p): Use mips_classify_address.
678 (mips_move_1word): Combine handling of symbolic addresses.
679 Remove special treatment of gp-relative loads for TARGET_MIPS16.
680 (move_move_2words): Likewise. Assume addresses are offsettable
681 if they need to refer to more than one word. Add HIGH handling.
682 (mips_restore_gp): Use ptr_mode for the GP save slot.
683 (mips_expand_call): New function, combining the old mips.md
684 call and call_internal define_expands. If the address isn't
685 a call_insn_operand, force it into a register. For SVR4 PIC,
686 emit an exception_receiver instruction after the call.
687 (override_options): Only override flag_pic for TARGET_ABICALLS
688 if it is currently zero. Allow mips_split_addresses when
689 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
690 Add new register class letter, 'c'.
691 (print_operand): Use mips_classify_constant for constant operands.
692 (print_operand_address): Use mips_classify_address.
693 (mips_output_function_prologue): Don't use .cprestore.
694 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
695 via the frame pointer if current_function_calls_eh_return.
696 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
697 to mark whether a symbol is local or global.
698 (build_mips16_call_stub): Expect the address of the function rather
699 than a MEM reference to it. Update call generation sequences.
700 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
701 small-data adjustments.
702
703 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
704 length for loads and stores.
705 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
706 (define_attr type): Add const and prefetch.
707 (define_attr length): Use mips_const_insns for const instructions.
708 Use mips_fetch_insns for load and store instructions.
709 (define_attr single_insn): New.
710 (define_attr can_delay): Use it.
711 (define_attr abicalls): Remove.
712 (define_delay): Use can_delay. Always allow calls to have delay slots.
713 (addsi3_internal_2): Add 'Q' constraint.
714 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
715 (high): Remove.
716 (lowsi): Renamed from low.
717 (lowdi): New pattern.
718 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
719 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
720 (loadgp): Change operand 0 to an immediate_operand.
721 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
722 beforehand.
723 (cpaddsi, cpadddi): New patterns.
724 (tablejump_internal3, tablejump_internal4): Remove define_expands
725 and associated define_splits.
726 (call, call_value): Use mips_expand_call.
727 (call_internal): New, replacing all existing call_internal* insns.
728 (call_value_internal): Likewise call_value_internal*.
729 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
730 (untyped_call): Remove if (operands[0]) magic.
731 (prefetch_si_address, prefetch_si): Change type to "prefetch".
732 (prefetch_di_address, prefetch_di): Likewise.
733 (leasi, leadi): Remove.
734 (reloc_gprel16): New.
735
736 * config/mips/5400.md (ir_vr54_hilo): Include const type.
737 * config/mips/5500.md (ir_vr55_hilo): Likewise.
738 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
cafe096b
EC
739
740 2003-01-08 Eric Christopher <echristo@redhat.com>
741
87f85ea0
ZW
742 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
743 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
744 configure check for libgloss.
745 * config/mips/elf64.h: Ditto.
746 * config/mips/mips.c: Remove ABI_MEABI.
747 * config/mips/mips.h: Ditto.
cafe096b
EC
748
749 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
750
87f85ea0
ZW
751 Fix merge fallout.
752 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
753 (muldi3_internal): Remove outdated comment.
754 (*muls_di, *umuls_di): Fix comment and 64-bitness.
755 (*smsac_di, *umsac_di): Likewise. Reformat.
756 (umulsi3_highpart): Minor formatting tweaks.
757 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
758 redundant scratch operand. Minor formatting tweak.
759 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
760 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
761 (smulsi3_highpart): As for the unsigned version.
762 (smulsi3_highpart_internal): Likewise.
763 (smulsi3_highpart_mulhi_internal): Likewise.
764 (smulsi3_highpart_neg_mulhi_internal): Likewise.
765 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
766 (*smul_acc_di): Remove duplicated pattern.
767 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
768 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
769 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
cafe096b
EC
770
771 2002-10-22 Eric Christopher <echristo@redhat.com>
772
87f85ea0
ZW
773 * config/mips/mips-protos.h (mips_return_addr): New.
774 * config/mips/mips.c (mips_return_addr): New.
775 (movdi_operand): Remove.
776 (se_register_operand): Ditto.
777 (se_reg_or_0_operand): Ditto.
778 (se_uns_arith_operand): Ditto.
779 (se_arith_operand): Ditto.
780 (se_nonmemory_operand): Ditto.
781 (extend_operator): Ditto.
782 (highpart_shift_operator): Ditto.
783 (mips_initial_elimination_offset): Remove return address pointer
784 elimination.
785 (mips_reg_names): Remove $ra.
786 (mips_regno_to_class): Ditto.
787 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
788 and TARGET_64BIT.
789 (POINTER_BOUNDARY): Remove.
790 (POINTERS_EXTEND_UNSIGNED): Define to 0.
791 (PROMOTE_MODE): Promote to Pmode.
792 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
793 (Pmode): Define to TARGET_64BIT.
794 (FUNCTION_MODE): Define as Pmode.
795 (mips_args): Remove deleted functions.
796 (SIZE_TYPE): Depend on POINTER_SIZE.
797 (PTRDIFF_TYPE): Ditto.
798 (FIXED_REGISTERS): Fix extra registers.
799 (CALL_USED_REGISTERS): Ditto.
800 (CALL_REALLY_USED_REGISTERS): Ditto.
801 (RAP_REG_NUM): Remove.
802 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
803 (RETURN_ADDR_RTX): Define to mips_return_addr.
804 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
805 (CAN_ELIMINATE): Ditto.
806 * config/mips/mips.md: For DImode patterns, take into account
807 deletions above. Split mulsidi patterns into sign_extend and
808 zero_extend.
cafe096b
EC
809
810 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
87f85ea0
ZW
811 Michael Meissner <meissner@redhat.com>
812
813 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
814 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
815 mop up unnecessarly moves through LO.
816 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
817 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
818 change mtlo/macc sequences into mul/add sequences when a three-
819 address mul is available.
820 (*macc2): New pattern. Add a define_peephole2 to generate it.
821 (*mul_sub_si): Fix contraint for operand 5.
822 (*muls): Use in 32-bit code as well.
823 (*msac): Likewise. Use msub instead of msac in vr5500 code
824 if the destination is LO. Remove duplicate define_split.
825 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
826 (*msac_di): Likewise. Fix formatting.
827 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
828 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
829 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
830 (*xmulsi3_neg_highpart_mulhi): Likewise.
831 (*mul_acc_64bit_di): Remove.
832 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
cafe096b
EC
833
834 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
835
87f85ea0
ZW
836 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
837 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
838 (MULTILIB_DIRNAMES): Remove long32.
839 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
840 (MULTILIB_REDUNDANT_DIRS): Remove.
cafe096b
EC
841
842 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
843
87f85ea0
ZW
844 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
845 * gcc.c (driver_self_specs): New variable.
846 (do_self_spec): New function.
847 (main): Use it to process driver_self_specs.
cafe096b
EC
848
849 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
850
87f85ea0
ZW
851 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
852 Remove DImode define_split for !TARGET_64BIT.
853 (anddi3): Remove !TARGET_64BIT support from here as well.
854 Change operand 2's predicate to se_uns_arith_operand.
855 Add constant alternatives to define_insn.
856 (iordi3, xordi3, *nordi3): Likewise.
857 (anddi3_internal1, xordi3_immed): Remove.
cafe096b
EC
858
859 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
860
87f85ea0
ZW
861 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
862 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
863 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
864 * config/mips/mips.md: Apply same renaming here.
cafe096b
EC
865
866 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
867
87f85ea0
ZW
868 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
869 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
870 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
871 * config/mips/mips.md (define_attr cpu): Remove r4320.
872 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
cafe096b
EC
873
874 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
875
87f85ea0
ZW
876 * config/mips/mips.c (mips16_strings): New variable.
877 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
878 symbol in mips16_strings. Free the list.
879 (mips_encode_section_info): Keep track of local strings.
cafe096b
EC
880
881 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
882
87f85ea0
ZW
883 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
884 (sordered_df, sordered_sf): Remove.
885 * config/mips/mips.c (get_float_compare_codes): New fn.
886 (gen_int_relational, gen_conditional_move): Use it.
cafe096b
EC
887
888 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
889
87f85ea0
ZW
890 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
891 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
892 * config/mips/mips.c (fcc_register_operand): New function.
893 (mips_emit_fcc_reload): New function, extracted from reload_incc.
894 (override_options): Allow TFmode values in float registers
895 if ISA_HAS_8CC.
896 * cnfig/mips/mips.md (reload_incc): Change destination prediate
897 to fcc_register_operand. Remove misleading source constraint.
898 Use mips_emit_fcc_reload.
cafe096b
EC
899 (reload_outcc): Duplicate reload_incc.
900
901
44c8a5f8
DN
9022003-04-30 Diego Novillo <dnovillo@redhat.com>
903
904 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
905
5d638f70
GK
9062003-04-30 Geoffrey Keating <geoffk@apple.com>
907
908 * tree-inline.c (inlinable_function_p): Back out last change, it's
909 unnecessary.
910
5e26df64
SB
9112003-04-30 Steven Bosscher <steven@gcc.gnu.org>
912
913 * ggc-page.c (TREE_EXP_SIZE): Define.
914 (extra_order_size_table): New entry for expr trees with
915 two operands.
916
fba020b1
GDR
9172003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
918
919 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
920 (c_expand_start_cond): Adjust.
921 (c_expand_end_cond): Don't use warning_with_file_and_file.
922 (shadow_warning): Likewise.
923
62216ea0
NS
9242003-04-30 Nathan Sidwell <nathan@codesourcery.com>
925
926 * tree.h (DECL_POINTER_DEPTH): Remove.
927 (struct tree_decl): Remove pointer_depth.
cafe096b 928
d1908feb
JJ
9292003-04-30 Janis Johnson <janis187@us.ibm.com>
930
931 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
932 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
933 (rs6000_xcoff_encode_section_info): Remove.
934 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
935 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
936 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
937 Use SYMBOL_REF_FLAGS.
938 (rs6000_elf_encode_section_info): Call default_encode_section_info for
939 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
940 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
941 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
942 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
943 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
944
0e42348d
GDR
9452003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
946
947 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
948
dad78426
AS
9492003-04-30 Andreas Schwab <schwab@suse.de>
950
951 * doc/extend.texi (Other Builtins): Enclose multiple word data
952 type in braces for @deftypefn.
953
4c80872c
RK
9542003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
955
5826955d
RK
956 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
957
4c80872c
RK
958 * doc/install.texi (--enable-threads): Document "gnat" option.
959
10256cf5
GDR
9602003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
961
962 * diagnostic.h (output_formatted_scalar): Tweak.
963 * diagnostic.c (output_long_decimal): Likewise.
964 (output_unsigned_decimal): Likewise.
965 (output_long_unsigned_decimal): Likewise.
966 (output_octal): Likewise.
967 (output_long_octal): Likewise.
968 (output_hexadecimal): Likewise.
969 (output_long_hexadecimal): Likewise.
970 (output_pointer): New function.
971 (output_format): Use it. Recognize "%p" format specifier.
972
b2a7fa89
ZD
9732003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
974
975 * function.c (purge_addressof_1): Postpone insn in fewer cases.
976
a6fdc086
GK
9772003-04-29 Geoffrey Keating <geoffk@apple.com>
978
505b0fd6
GK
979 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
980 call abort() after running out of stack space.
981
a6fdc086
GK
982 * c-typeck.c (function_types_compatible_p): Ignore incompatible
983 'volatile' qualifiers on a function's return type in GNU mode.
984
9c0631a7
AH
9852003-04-29 Aldy Hernandez <aldyh@redhat.com>
986
87f85ea0
ZW
987 * expr.c (emit_group_load): Dump parallels of simd types to
988 memory.
9c0631a7 989
74719742
VM
9902003-04-29 Vladimir Makarov <vmakarov@redhat.com>
991
992 * genautomata.c (add_vect): Check undefined value for range type
993 too.
994
baade80b
PE
9952003-04-29 Phil Edwards <pme@gcc.gnu.org>
996
997 * configure.in: More general test for cmp --ignore-initial.
998 * configure: Regenerate.
999
84d8756d
RK
10002003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1001
0384674e
RK
1002 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
1003 (layout_decl, place_field): Likewise.
1004 Also make minor type and whitespace changes.
1005
84d8756d
RK
1006 * tree.c (save_expr): Don't fold a COMPONENT_REF.
1007
0219237c
OH
10082003-04-29 Olivier Hainque <hainque@act-europe.fr>
1009
1010 * calls.c (expand_call): When modes of target and valreg match, force
1011 sibcall failure when target is a MEM.
1012
b9538b2e
GK
10132003-04-29 Geoffrey Keating <geoffk@apple.com>
1014
b3d627e2
GK
1015 * tree-inline.c (inlinable_function_p): Don't support inlining
1016 functions using varargs.
1017
f4ddb75b
GK
1018 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
1019
0366359a
GK
1020 * dwarf2out.c (output_call_frame_info): No need to output EH
1021 unwind information if all_throwers_are_sibcalls.
1022
e55614ca
GK
1023 * c-semantics.c (expand_unreachable_stmt): Return a tree.
1024 (expand_stmt): Update for change to expand_unreachable_stmt.
1025 (expand_unreachable_if_stmt): Likewise.
1026
b9538b2e
GK
1027 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
1028
72e940d2
JM
10292003-04-29 Jason Merrill <jason@redhat.com>
1030
1031 PR middle-end/10336
cafe096b 1032 * jump.c (never_reached_warning): Really stop looking if we reach
72e940d2
JM
1033 the beginning of the function.
1034
9193479f
BW
10352003-04-29 Bob Wilson <bob.wilson@acm.org>
1036
1037 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
1038 Remove redundant macros.
1039 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
1040 (LOCAL_LABEL_PREFIX): Define unconditionally.
1041 (NO_DOT_IN_LABEL): Clarify comment.
1042 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
1043 definition to "long int".
1044
b0501ec1
AK
10452003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
1046
1047 bootstrap/10452
1048 * gengtype-yacc.y: Improve portability.
1049
8e720e8b
ZW
10502003-04-29 Zack Weinberg <zack@codesourcery.com>
1051
1052 * config.gcc: Install obsolete target list for GCC 3.3.
1053 * doc/install.texi: Mention in specific-target instructions
1054 that certain configurations are deprecated.
1055
1be3f80f
ZW
10562003-04-29 Zack Weinberg <zack@codesourcery.com>
1057
1058 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
1059
8e854b76
KL
10602003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1061
1062 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
1063 * gcc.c (display_help): Likewise.
1064 * toplev.c (f_options): Likewise.
1065 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
1066 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
1067 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
1068 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
1069 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
1070
267594f3
R
10712003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
1072
1073 * varasm.c (default_assemble_visibility): Use assemble_name.
1074
667b43dd
DB
10752003-04-29 David O'Brien <obrien@FreeBSD.org>
1076
1077 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
5b51b1f5
DB
1078 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
1079 (SIZE_TYPE): New macro.
fbf17dab
DB
1080 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
1081 (SET_ASM_OP): New macro.
1082 (HANDLE_SYSV_PRAGMA): New macro.
1083 (ASM_WEAKEN_LABEL): New macro.
667b43dd 1084
a833faa5
MM
10852003-04-28 Mark Mitchell <mark@codesourcery.com>
1086
1087 PR c++/10180
1088 * tree-inline.c (expand_call_inline): Call push_srcloc when
1089 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
1090
a72bf3e9
MS
10912003-04-28 Mike Stump <mrs@apple.com>
1092
1093 * gdbinit.in: Update to reflect new identifier structure.
1094
0864034e
ZW
10952003-04-28 Zack Weinberg <zack@codesourcery.com>
1096
1097 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
1098 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
1099 struct tree_complex, struct tree_vector): Remove RTL field.
1100 (CONSTRUCTOR_ELTS): Use elt 0.
1101 * tree.def (CONSTRUCTOR): Delete first of its two operands.
1102 * varasm.c (output_constant_def): Remove early exit if
1103 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
1104 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
1105 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
1106 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
1107
9661b15f
JJ
11082003-04-28 Jakub Jelinek <jakub@redhat.com>
1109
1110 * c-decl.c (finish_decl): When prototype with asmspec is found
1111 for built-in, adjust built_in_decls as well as expr.c decls.
1112 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
1113 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
1114 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
1115
8707fe93
RH
11162003-04-28 Richard Henderson <rth@redhat.com>
1117
0864034e
ZW
1118 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
1119 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
1120 integral constant mult operand.
1121 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
1122 (const_smulsi3_highpart_v8plus): Likewise.
1123 (const_smulsi3_highpart): Likewise.
1124 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
1125 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
1126 (const_umulsi3_highpart_v8plus): Likewise.
1127 (const_umulsi3_highpart): Likewise.
8707fe93 1128
ff4cb2e7
DB
11292003-04-28 David O'Brien <obrien@FreeBSD.org>
1130
1131 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
1132 Define as 1.
1133
495d8dd6
DB
11342003-04-28 David O'Brien <obrien@FreeBSD.org>
1135
1136 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
1137
e31603c4
JJ
11382003-04-28 Jakub Jelinek <jakub@redhat.com>
1139
1140 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
1141 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
1142 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
1143 functions.
1144 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
1145
dbe983a8
NC
11462003-04-28 Nick Clifton <nickc@redhat.com>
1147
1148 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
1149
afc6aaab
ZW
11502003-04-27 Zack Weinberg <zack@codesourcery.com>
1151
1152 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
1153 output_constant_def, use its result instead of TREE_CST_RTL (exp).
1154 Can assume it has the form (mem (symbol_ref ".LCxxx")).
1155 (expand_expr <COMPONENT_REF>): Can always just extract the
1156 relevant field of a CONSTRUCTOR.
1157 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
1158 ARRAY_RANGE_REF>): Make control flow explicit.
1159 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
1160 an INTEGER_CST.
1161
860992e6
KH
11622003-04-27 Kazu Hirata <kazu@cs.umass.edu>
1163
1164 * reload1.c (reg_set_luid): Fix a comment typo.
1165
32a61907
ZW
11662003-04-27 Zack Weinberg <zack@codesourcery.com>
1167
1168 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
1169 struct deferred_string, const_str_htab): Kill.
1170 (n_deferred_strings): New static variable.
1171 (build_constant_desc): Set SYMBOL_REF_DECL of the new
1172 symbol_ref to point to the constant.
1173 (output_constant_def): When a deferred string is forced out,
1174 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
1175 (mark_constant): Likewise.
1176 (maybe_output_constant_def_contents): When deferring a string
1177 constant, just set STRING_POOL_ADDRESS_P and increment
1178 n_deferred_strings.
1179 (mark_constant_pool): Check n_deferred_strings, not the size
1180 of const_str_htab.
1181 (init_varasm_once): No need to create const_str_htab.
1182
1183 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
1184 SYMBOL_REF_DECL points to a constant.
1185
293107d1
ZW
11862003-04-26 Zack Weinberg <zack@codesourcery.com>
1187
1188 * varasm.c (output_constant_def): Split out two new static
1189 functions, build_constant_desc and maybe_output_constant_def_contents.
1190 Restructure for comprehensibility. Don't call
1191 output_addressed_constants. Treat defstr being non-NULL for
1192 STRING_POOL_ADDRESS_P constants as an invariant.
1193 (struct deferred_string): Remove labelno field.
1194 (output_constant_def_contents): Kill labelno argument. Call
1195 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
1196 asm_out.internal_label.
1197 (mark_constant): Update call to output_constant_def_contents.
1198 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
1199 constants as an invariant.
1200
12969f45
RH
12012003-04-26 Richard Henderson <rth@redhat.com>
1202
1203 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
1204 (ix86_expand_call, ix86_rtx_consts): Likewise.
1205
5cc2f4f3
KG
12062003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1207
1208 * doc/md.texi (cmpstr): Document additional restrictions.
1209
09b04f2d
NB
12102003-04-26 Neil Booth <neil@daikokuya.co.uk>
1211
1212 * flags.h (time_report): Remove.
1213 * timevar.c (timevar_enable): New.
1214 (TIMEVAR_ENABLE): Remove, use timevar_enable.
1215 (timevar_init): Rename from init_timevar.
1216 * timevar.h (timevar_init): Rename from init_timevar.
1217 * toplev.c (time_report): Make static.
1218 (do_compile): Conditionally call init_timevar first.
1219 (preprocess_options): Move some code to do_compile.
1220
3e35d143
SC
12212003-04-26 Stephane Carrez <stcarrez@nerim.fr>
1222
1223 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
1224
e6dc0cc6
NB
12252003-04-26 Neil Booth <neil@daikokuya.co.uk>
1226
1227 * _cpp_lex_direct: Remove pointless code.
1228
5936c7e7
SC
12292003-04-26 Stephane Carrez <stcarrez@nerim.fr>
1230
1231 * doc/extend.texi (Function Attributes): Document "near" and "far"
1232 for 68HC11 and 68HC12.
1233
85a43a2f
RK
12342003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1235
1236 * expr.c (store_field): When making temporary for store, don't
1237 make it TYPE_QUAL_CONST.
1238
09e4ab56
PE
12392003-04-25 Phil Edwards <pme@gcc.gnu.org>
1240
1241 * toplev.c (read_integral_parameter): Use "argument" in error
1242 message to distinguish it from actual invalid options.
1243
ab409f1b
BW
12442003-04-25 Bob Wilson <bob.wilson@acm.org>
1245
1246 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
1247 addition of __PIC__ and __pic__ macros.
1248 * config/xtensa/xtensa.h: Clean up indentation.
1249
6a2b287f
BW
12502003-04-25 Bob Wilson <bob.wilson@acm.org>
1251
1252 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
1253 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
1254 (SUBTARGET_CPP_SPEC): Define.
1255 (LIB_SPEC): Delete.
1256 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
1257 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
1258 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
1259 Define.
1260 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
1261 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
1262
60986d64
L
12632003-04-25 H.J. Lu <hjl@gnu.org>
1264
1265 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
1266 for return mode.
1267 (ia64_expand_builtin): Set rmode to SImode for
1268 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
1269 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
1270 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
1271 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
1272
c7a5cf61
PE
12732003-04-25 Phil Edwards <pme@gcc.gnu.org>
1274
1275 * configure.in (make_compare_target): Test for GNU cmp and set this
1276 variable appropriately.
1277 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
1278 compare4-lean): Rename actual targets to slowcompare*. New compare*
1279 targets depend on names based on make_compare_target.
1280 * configure: Regenerated.
1281
f5bdba44
RH
12822003-04-25 Richard Henderson <rth@redhat.com>
1283
1284 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
1285 to clobber ar.pfs and ar.unat.
1286 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
1287 fix test for spilling ar.pfs to the stack.
1288
12892003-04-25 Richard Henderson <rth@redhat.com>
8f4e6caf 1290
293107d1
ZW
1291 PR opt/10315
1292 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
1293 checks during reload; use validize_mem instead of adjust_address.
8f4e6caf 1294
eda833e3
BE
12952003-04-26 Ben Elliston <bje@wasabisystems.com>
1296
1297 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
1298 return values from recog_memoized().
1299
9feff114
JDA
13002003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1301
1302 PR opt/8705
1303 * gcse.c (try_replace_reg): On a successful substitution of a constant
1304 into a single set, try to simplify the source of the set.
1305 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
1306 constant source.
1307
59325650
NB
13082003-04-24 Neil Booth <neil@daikokuya.co.uk>
1309
1310 * cpplex.c (cpp_token_len): Tighten up.
1311 (cpp_token_as_text): Need extra byte now.
1312 * cpplib.c (glue_header_name): Need extra 2 bytes.
1313 * cppmacro.c (cpp_macro_definition): Need extra byte.
1314
b746b8cb
AK
13152003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
1316
1317 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
293107d1 1318 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
b746b8cb
AK
1319 where they might be not present. Use their _sp64 equivalent
1320 instead.
1321
019238b7
JH
1322Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
1323
1324 * i386.md (cvtsi2sdq): Fix typo in previous patch.
293107d1 1325
39f6c4c8
KW
13262003-04-24 Krister Walfridsson <cato@df.lth.se>
1327
1328 * configure.in: Check whether mbstowcs works.
1329 * configure, config.in: Regenerate.
1330 * intl.c: Use HAVE_WORKING_MBSTOWCS.
1331
0c79f08b
L
13322003-04-24 H.J. Lu <hjl@gnu.org>
1333
1334 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
1335 for __sync_bool_compare_and_swap_di for int return type.
1336
1337 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
1338 Change return type to int.
1339 (__sync_bool_compare_and_swap): Likewise.
1340
26f74aa3
JH
1341Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
1342
1343 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
1344 looking for fallthru edge.
1345
1346 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
1347 Fix.
1348 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
1349 athlon-fvector): New.
1350 (athlon_*): Revisit to match new optimization guide.
1351 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
1352 * i386.md (cvt??2?? patterns): Fix modes.
1353 (fistp patterns): Set modes.
1354
1355 Accidentaly commited with my earlier reload patch:
1356 PR c/10308
1357 * reload.c (find_reloads_address_1): Reload plus at the place of
1358 index register.
293107d1 1359
796621e8
NS
13602003-04-24 Nathan Sidwell <nathan@codesourcery.com>
1361
1362 New GCOV_TAG_FUNCTION layout
1363 * coverage.c (struct function_list): Replace name with ident.
1364 (struct counts_entry): Likewise.
1365 (fn_ident): New.
1366 (htab_counts_entry_hash, htab_counts_entry_eq,
1367 htab_counts_entry_del): Adjust.
1368 (reads_count_file, get_coverage_counts,
1369 coverage_begin_output, coverage_end_function): Adjust.
1370 (build_fn_info_type, build_fn_info_value): Likewise.
1371 * gcov-dump.c (tag_function): Adjust.
1372 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
1373 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
1374 * gcov.c (struct function_info): Add ident.
1375 (read_graph_file, read_count_file): Adjust.
1376 * libgcov.c (gcov_exit): Adjust.
1377
6ff76c36
RH
13782003-04-23 Richard Henderson <rth@redhat.com>
1379
1380 PR opt/8300
1381 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
1382 after initialize_uninitialized_subregs; update reg info assuming
1383 new pseudos were created.
1384
6338b358
NB
13852003-04-23 Neil Booth <neil@daikokuya.co.uk>
1386
1387 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
1388 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
1389 (lex_string): Take cpp_string with full spelling.
1390 (cb_ident): Update.
1391 (c_lex): Update diagnostics.
1392 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
1393 (create_literal): New.
1394 (lex_string): Unterminated literals have type CPP_OTHER.
1395 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
1396 for CPP_OTHER.
1397 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
1398 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
1399 * cpplib.c (parse_include, do_line, do_linemarker,
1400 destringize_and_run): Update for token storing full spelling.
1401 * cpplib.h: Update token spelling types.
1402 * cppmacro.c (stringify_arg, check_trad_stringification):
1403 Update for token storing full spelling.
1404
011fd56b
UW
14052003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
1406
1407 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
1408
7052a099
RE
14092003-04-23 Richard Earnshaw <rearnsha@arm.com>
1410
1411 * arm.h (TARGET_OPTIONS): Add value field.
1412
f0ddce84
MM
14132003-04-23 Mark Mitchell <mark@codesourcery.com>
1414
1415 * doc/extend.texi: Remove duplicate 2003 copyright date.
1416
cdb23767
NS
14172003-04-23 Nathan Sidwell <nathan@codesourcery.com>
1418
1419 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
1420 (libgcov.a): Depends on LIBGCC_DEPS.
1421 * basic-block.h (profile_info): Moved here from coverage.h. Made
1422 a pointer.
1423 * coverage.c (struct function_list): Fixed array of counter types.
1424 (struct counts_entry): Keyed by counter type, contains summary.
1425 (profile_info): Moved to profile.c.
1426 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
1427 vars.
1428 (profiler_label): Remove.
1429 (ctr_labels): New.
1430 (set_purpose, label_for_tag, build_counter_section_fields,
1431 build_counter_section_value, build_counter_section_data_fields,
1432 build_counter_section_data_values, build_function_info_fields,
1433 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
1434 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
1435 build_ctr_info_value, build_gcov_info): New.
1436 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
1437 (reads_counts_file): Adjust.
1438 (get_coverage_counts): Takes counter number. Add summary
1439 parameter. Adjust.
1440 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
1441 create counter array labels.
1442 (coverage_end_function): Adjust.
1443 (create_coverage): Adjust.
1444 (find_counters_section): Remove.
1445 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
1446 (struct section_info, struct profile_info): Remove.
1447 (profile_info): Moved to basic-block.h.
1448 (coverage_counter_ref): Takes a counter number.
1449 (get_coverage_counts): Takes a counter number. Added summary
1450 parameter.
1451 (find_counters_section): Remove.
1452 * gcov-dump.c (tag_arc_counts): Rename to ...
1453 (tag_counters): ... here. Adjust.
1454 (tag_table): Move tag_counters to 3rd entry. Remove
1455 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
1456 (dump_file): Check for counter tag values here.
1457 (tag_summary): Adjust.
1458 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
1459 * gcov-io.h (GCOV_LOCKED): New.
1460 (GCOV_TAG_ARC_COUNTS): Rename to ...
1461 (GCOV_TAG_COUNTS_BASE): ... here.
1462 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
1463 Remove.
1464 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
1465 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
1466 GCOV_TAG_IS_COUNTER): New.
1467 (struct gcov_ctr_summary): New.
1468 (struct gcov_summary): Adjust.
1469 (struct gcov_counter_section): Remove.
1470 struct gcov_counter_section_data): Remove.
1471 (struct gcov_function_info): Rename to ...
1472 (struct gcov_fn_info): ... here. Adjust.
1473 (struct gcov_ctr_info): New.
1474 (struct gcov_info): Adjust.
1475 * gcov.c (read_count_file): Adjust.
1476 (output_lines): Adjust.
1477 * libgcov.c (gcov_exit): Adjust.
1478 (__gcov_flush): Adjust.
1479 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
1480 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
1481 probably_never_executed_bb_p, compute_frequency_function): Adjust
1482 profile_info use.
1483 * profile.c (struct counts_entry): Remove.
1484 (profile_info): Define here.
1485 (get_exec_counts): Adjust get_coverage_counts call.
1486 (compute_branch_probablilities): Remove find_counters_section
1487 call.
1488 (gen_edge_profiler): Adjust coverage_counter_ref call.
1489 * tracer.c (tail_duplicate): Adjust profile_info use.
1490
2be3b5ce
RS
14912003-04-23 Roger Sayle <roger@eyesopen.com>
1492
1493 PR optimization/10339
1494 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
1495 directly instead of unsafely transforming call into a memcmp.
1496 (expand_builtin_strncmp): Likewise.
1497
c57ddcf1
RS
14982003-04-22 Roger Sayle <roger@eyesopen.com>
1499
1500 * alias.c (mark_constant_function): Check for constancy and
1501 purity even of void functions. Update both the function decl
1502 and the cgraph RTL info with the results.
1503
c1a19acb
RS
15042003-04-22 Roger Sayle <roger@eyesopen.com>
1505
1506 * real.c (do_add): Change to return a bool indicating that the
1507 result of the operation may be inexact due to loss of precision.
1508 (do_multiply): Likewise.
1509 (do_divide): Likewise.
1510
c2e9147c
GK
15112003-04-22 Geoffrey Keating <geoffk@apple.com>
1512 Loren James Rittle <ljrittle@acm.org>
1513
1514 * dwarf2out.c (fde_table_allocated): Mark with GTY.
1515 (decl_die_table_allocated): Likewise.
1516 (abbrev_die_table_allocated): Likewise.
1517 (line_info_table_allocated): Likewise.
1518 (separate_line_info_table_allocated): Likewise.
1519 (pubname_table_allocated): Likewise.
1520 (arange_table_allocated): Likewise.
1521 (ranges_table_allocated): Likewise.
1522 (decl_die_table_in_use): Unconditionalize; mark with GTY.
1523 (abbrev_die_table_in_use): Likewise.
1524 (line_info_table_in_use): Likewise.
1525 (separate_line_info_table_in_use): Likewise.
1526 (pubname_table_in_use): Likewise.
1527 (arange_table_in_use): Likewise.
1528 (ranges_table_in_use): Likewise.
1529 (have_location_lists): Likewise.
1530 (emitcount): New GTY-marked static, moved...
1531 (maybe_emit_file): ...from here.
1532 (label_num): New GTY-marked static, moved...
1533 (gen_internal_sym): ...from here.
1534
4da2eb6b
RH
15352003-04-22 Richard Henderson <rth@redhat.com>
1536
293107d1
ZW
1537 PR 8866
1538 * rtl.h (MEM_NOTRAP_P): New.
1539 (MEM_COPY_ATTRIBUTES): Copy it.
1540 * rtlanal.c (may_trap_p): Check it.
1541 * expr.c (do_tablejump): Set it.
4da2eb6b
RH
1542 * doc/rtl.texi (Flags): Document it.
1543
293107d1 1544 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
4da2eb6b 1545
c1238896
OH
15462003-04-22 Olivier Hainque <hainque@act-europe.fr>
1547
1548 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
1549 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
1550
6d412a7b
VC
15512003-04-22 Vincent Celier <celier@gnat.com>
1552
293107d1
ZW
1553 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
1554 --enable-threads=gnat.
1555 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
1556 * configure.in: Add gnat to the list of thread packages
1557 * configure: Rebuild.
1558 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
6d412a7b 1559
b78f9414
NB
15602003-04-22 Neil Booth <neil@daikokuya.co.uk>
1561
1562 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
f945b4e0
DP
1563
15642003-04-22 Devang Patel <dpatel@apple.com>
1565
b78f9414
NB
1566 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
1567 parameter count.
f945b4e0 1568 (_cpp_copy_replacement_text): Same.
293107d1 1569
1067694a
NB
15702003-04-22 Neil Booth <neil@daikokuya.co.uk>
1571
1572 * c-lex.c (c_lex): Handle CPP_OTHER differently.
1573 * cppexp.c (_cpp_parse_expr): Similarly.
1574 * cpplex.c (SPELL_CHAR): Remove.
1575 (_cpp_lex_direct): Stray chars are saved as byte strings.
1576 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
1577 handle SPELL_CHAR.
1578 (cpp_avoid_paste): Update handling of CPP_OTHER.
1579 * cpplib.h: Spell CPP_OTHER like a number.
1580 (struct cpp_token): Remove member c.
1581 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
1582
77c915d8
DT
15832003-04-22 David Turner <novalis@gnu.org>
1584
1585 * gbl-ctors.h: Add special license exception.
1586 * libgcc2.h: Likewise.
1587 * tsystem.h: Likewise.
1588 * gcov-io.h: Likewise.
1589
85e50b6b
DE
15902003-04-22 David Edelsohn <edelsohn@gnu.org>
1591
1592 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
1593 macro defaulting to original BRANCH_COST heuristic.
1594 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
1595
1596 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
1597
00c060a4
AH
15982003-04-22 Aldy Hernandez <aldyh@redhat.com>
1599
293107d1 1600 * config/rs6000/t-spe: Merge in t-fprules into file.
00c060a4 1601
293107d1 1602 * config.gcc: Add t-spe to powerpc-eabispe.
00c060a4 1603
e4d72771
KJ
16042003-04-22 Kean Johnston <jkj@sco.com>
1605
1606 * tlink.c (recompile_files): Add missing '=' to putenv calls
1607
ad27e65a
NS
16082003-04-22 Nathan Sidwell <nathan@codesourcery.com>
1609
1610 * ginclude/stddef.h: Provide C++ safe offsetof.
1611
277b3b18
R
16122003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
1613
1614 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
1615 for reg notes, if there are no substitutions, just use a SUBREG.
1616
b2dd096b
MM
16172003-04-21 Mark Mitchell <mark@codesourcery.com>
1618
1619 * Makefile.in (calls.o): Depend on except.h.
1620 * calls.c: Include except.h.
1621 (emit_call_1): Call note_eh_region_may_contain_throw if
1622 appropriate.
1623 * except.c (eh_region): Add may_contain_throw.
1624 (expand_eh_region_end_cleanup): Do not include handler code when
1625 it cannot be reached.
1626 (note_eh_region_may_contain_throw): New function.
1627 * except.h (note_eh_region_may_contain_throw): New function.
1628
bfc6c67e
MM
16292003-04-21 Mark Mitchell <mark@codesourcery.com>
1630
1631 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
1632 changes.
1633
95b1c7b6
AH
16342003-04-21 Aldy Hernandez <aldyh@redhat.com>
1635
293107d1
ZW
1636 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
1637 64-bit long doubles.
95b1c7b6 1638
6a48df45
OH
16392003-04-21 Olivier Hainque <hainque@act-europe.fr>
1640
3cd58fd7
OH
1641 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
1642 a number of conversions required for type consistency and previously
1643 stripped off by STRIP_NOPS.
1644
6a48df45
OH
1645 * calls.c (expand_call): Prevent sibcall optimization for calls to
1646 nested subprograms.
1647
0d2f38ee 1648 * expmed.c (extract_bit_field): Reverse operands of && condition to
293107d1 1649 prevent a potential division by zero in the previously first branch.
0d2f38ee
OH
1650 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
1651
c3cdeef4
JB
16522003-04-21 Joel Brobecker <brobecker@gnat.com>
1653
1654 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
1655 (subrange_type_die): Likewise.
1656 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
1657 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
1658
ca29da43
NS
16592003-04-21 Nathan Sidwell <nathan@codesourcery.com>
1660
293107d1
ZW
1661 Break out coverage routines to new file.
1662 * Makefile.in (COVERAGE_H): New variable
1663 (C_OBJS): Add coverage.o
1664 (coverage.o): New target.
1665 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
1666 dependencies.
1667 (GTFILES): Adjust.
1668 (gt-coverage.h): New target.
1669 (gt-profile.h): Remove.
1670 * profile.h: Remove. Move to ...
1671 * coverage.h: ... here. New. #include gcov-io.h.
1672 * gcov-io.h: Move function definitions to ...
1673 * gcov-io.c: ... here. New.
1674 * profile.c: Move coverage routines to coverage.c.
1675 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
1676 end_branch_prob): Adjust.
1677 * coverage.c: New. Coverage routines from profile.c
1678 (coverage_counter_ref, coverage_init, coverage_finish,
1679 coverage_end_function, coverage_begin_output,
1680 coverage_counter_ref, get_coverage_counts): Define.
1681 * gcov-dump.c, gcov.c: #include gcov-io.c.
1682 * libgcov.c: Likewise. Adjust.
1683 * loop-init.c: Don't #include profile.h
1684 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
1685 * rtl.h: Add coverage prototypes.
1686 * toplev.c (compile_file): Init coverage, not branch_prob.
1687 Always call coverage_finish.
1688 (rest_of_compilation): Call coverage_end_function.
ca29da43 1689
1774b213 16902003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
dd0fbae2
MK
1691
1692 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
1693
74eb4b3e
NB
16942003-04-21 Neil Booth <neil@daikokuya.co.uk>
1695
1696 * c-ppoutput.c (cb_include): Don't take a cpp_token.
1697 * cppfiles.c: Don't undef strcmp.
1698 (find_include_file): Don't take a cpp_token. Check for empty
1699 file names.
1700 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
1701 (cpp_push_include): Simplify.
1702 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
1703 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
1704 (parse_include): Similary. Don't check for zero-length filenames.
1705 (do_include_common, do_pragma_dependency): Update accordingly.
1706 * cpplib.h (struct cpp_callbacks): Change prototype of include.
1707
337f4314 17082003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
293107d1 1709
9e91ce11
RK
1710 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
1711 details of conflict handling.
293107d1 1712
26b84487
RK
1713 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
1714 when conversion overflows.
1715
1a96dc46
RK
1716 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
1717
337f4314
RK
1718 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
1719 before clearing.
1720
3819b963
MM
17212003-04-21 Mark Mitchell <mark@codesourcery.com>
1722
1723 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
1724 have the same form as the old RTL.
1725
0e7a8c4b
AJ
17262003-04-21 Andreas Jaeger <aj@suse.de>
1727
293107d1 1728 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
0e7a8c4b 1729
b39b8084
CL
17302003-04-20 Chris Lattner <sabre@nondot.org>
1731 Zack Weinberg <zack@codesourcery.com>
1732
1733 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
1734 genrtl_cleanup_stmt. Correct comment at head of
1735 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
1736
1737 * stmt.c (struct nesting): Kill n_function_calls.
1738 (expand_start_bindings): Don't set
1739 thisblock->data.block.n_function_calls.
1740 (expand_end_bindings): Compare function_call_count against 0.
1741 (expand_cleanups): Kill DONT_DO argument; all callers passed
1742 NULL_TREE. All callers updated to match.
1743
b20cbca2
ZW
17442003-04-20 Zack Weinberg <zack@codesourcery.com>
1745
1746 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
1747 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
1748 (output_constant_def): Remove code predicated on
1749 defer_addressed_constants_flag.
1750
1751 * output.h: Remove prototypes of deleted functions.
1752 * c-typeck.c (constructor_subconstants_deferred): Kill.
1753 (struct initializer_stack): Remove 'deferred' field.
1754 (start_init): Remove all references to the above.
1755 (finish_init): Likewise. Also remove never-executed call to
1756 output_deferred_addressed_constants. Pull assignment to
1757 defstr out of if expression.
1758
41c32c98
NB
17592003-04-20 Neil Booth <neil@daikokuya.co.uk>
1760
1761 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
1762 NOTE_NEWLINE): Remove.
1763 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
1764 to handle new form of line note type.
1765
c6a2438a
ZW
17662003-04-20 Zack Weinberg <zack@codesourcery.com>
1767
1768 * target.h (encode_section_info): Add new argument carrying
1769 the RTL to be modified by the hook.
1770
1771 * varasm.c (make_decl_rtl, output_constant_def): Update calls
1772 to encode_section_info.
1773 (default_encode_section_info): Take and use RTL argument,
1774 don't use TREE_CST_RTL or DECL_RTL.
1775 * output.h: Update prototype of default_encode_section_info.
1776 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
1777 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
1778 Update calls to encode_section_info.
1779
1780 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
1781 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
1782 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
1783 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
1784 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
1785 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
1786 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
1787 except for PE dllimport/dllexport. Update calls to
1788 default_encode_section_info.
1789
1790 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
1791 Update prototypes.
1792
1793 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
1794
8c7d377f
JDA
17952003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1796
1797 PR/8705
1798 * pa.md (movccfp): New expander.
1799 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
1800 Reverse fcmp conditions.
1801
1052bb09
MM
18022003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
1803
1804 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
1805 of operand 1 correctly.
1806
299f79b5
NS
18072003-04-20 Nathan Sidwell <nathan@codesourcery.com>
1808
1809 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
1810 * gcov.c (output_lines): Don't be so fussy about going past EOF.
1811
1613e52b
NB
18122003-04-20 Neil Booth <neil@daikokuya.co.uk>
1813
1814 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
1815 (cppcharset.o): New target.
1816 * c-lex.c (is_extended_char): Move to cppcharset.c.
1817 (utf8_extend_token): Delete.
1818 * cppcharset.c: New file.
1819 * cpphash.h (_cpp_valid_ucn): New.
1820 * cpplex.c (lex_identifier): Update prototype.
1821 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
1822 escapes.
1823 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
1824 in cppcharset.c.
1825 (lex_number, lex_identifier, cpp_parse_escape): Update.
1826 (_cpp_lex_direct): Update to handle UCNs.
1827 (cpp_avoid_paste): Don't paste to form a UCN.
1828
0a45ec5c
RS
18292003-04-19 Roger Sayle <roger@eyesopen.com>
1830
1831 * builtins.c (expand_builtin): Don't expand a pure or const
1832 built-in function if the result will be ignored and none of
1833 its arguments are volatile.
1834
16477cc5
KJ
18352003-04-19 Kean Johnston <jkj@sco.com>
1836
1837 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
1838 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
1839 target fragment now: t-sco5; dont compile crti.o.
1840 * config/i386/sco5.h: major overhaul to remove all COFF remnants
1841 and to use elfos.h for most definitions.
1842 (BSS_SECTION_ASM_OP): set correct segment attributes.
1843 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
1844 (DWARF2_UNWIND_INFO): Always set to 1.
1845 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
1846 (MD_STARTFILE_PREFIX_1): Define.
1847 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
1848 (DEFAULT_LINKER): Define if not specified to configure.
1849 (CTORS_SECTION_ASM_OP): Remove COFF crud.
1850 (DTORS_SECTION_ASM_OP): Remove COFF crud.
1851 (WINT_TYPE): Define.
1852 (SDB_DEBUGGING_INFO): Remove.
1853 (EXTRA_SECTIONS): Likewise.
1854 (EXTRA_SECTION_FUNCTIONS): Likewise.
1855 (CTOR_LIST_BEGIN): Likewise.
1856 (CTOR_LIST_END): Likewise.
1857 (INIT_SECTION_FUNCTION): Likewise.
1858 (FINI_SECTION_FUNCTION): Likewise.
1859 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
1860 (LOCAL_LABEL_PREFIX): Likewise.
1861 (NON_SAVING_SETJMP): Likewise.
1862 (RETURN_POPS_ARGS): Likewise.
1863 (ASM_OUTPUT_SKIP): Likewise.
1864 (TARGET_ASM_NAMED_SECTION): Likewise.
1865 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1866 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
1867 (ASM_OUTPUT_IDENT): Likewise.
1868 (ASM_OUTPUT_CASE_LABEL): Likewise.
1869 (ASM_OUTPUT_ASCII): Likewise.
1870 (ASM_OUTPUT_LIMITED_STRING): Likewise.
1871 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
1872 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1873 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1874 (ASM_FINISH_DECLARE_OBJECT): Likewise.
1875 (ASM_DECLARE_OBJECT_NAME): Likewise.
1876 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
1877 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1878 (ASM_DECLARE_RESULT): Likewise.
1879 (ASM_WEAKEN_LABEL): Likewise.
1880 (SUPPORTS_WEAK): Likewise.
1881 (APPLY_RESULT_SIZE): Likewise.
1882 (LPREFIX): Likewise.
1883 (ALIGN_ASM_OP): Likewise.
1884 (ASCII_DATA_ASM_OP): Likewise.
1885 (IDENT_ASM_OP): Likewise.
1886 (ASM_SHORT): Likewise.
1887 (ASM_LONG): Likewise.
1888 (TYPE_ASM_OP): Likewise.
1889 (SIZE_ASM_OP): Likewise.
1890 (STRING_ASM_OP): Likewise.
1891 (SKIP_ASM_OP): Likewise.
1892 (EH_FRAME_SECTION_ASM_OP): Likewise.
1893 (READONLY_DATA_SECTION_ASM_OP): Likewise.
1894 (INIT_SECTION_ASM_OP): Likewise.
1895 (FINI_SECTION_ASM_OP): Likewise.
1896 (TEXT_SECTION_ASM_OP): Likewise.
1897 (DATA_SECTION_ASM_OP): Likewise.
1898 (TYPE_OPERANT_FORMAT): Likewise.
1899 (ASM_SPEC): Remove COFF code.
1900 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
1901 cause -pg to emit an error; use pcrt1elf.o with -pp
1902 (ENDFILE_SPEC): Likewise.
1903 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
1904 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
1905 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
1906 add -z alt_resolve to support weak symbols the way GCC wants them.
1907 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
1908 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
1909 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
1910 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
1911 (CRTSTUFF_T_CFLAGS_S): Define.
1912 (MULTILIB_OPTIONS): Likewise.
1913 (MULTILIB_DIRNAMES): Likewise.
1914 (MULTILIB_MATCHES): Likewise.
1915 (MULTILIB_EXTRA_OPTS): Likewise.
1916 (LIBGCC): Likewise.
1917 (INSTALL_LIBGCC): Likewise.
1918 (crti.o): Remove.
1919 * config/i386/t-sco5gas: Remove.
1920 * doc/install.texi: Updated for new OpenServer instructions.
1921 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
1922
de0656cf
KJ
19232003-04-19 Kean Johnston <jkj@sco.com>
1924
1925 * fixinc/check.tpl: Allow user to over-ride diff program.
1926 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
1927 (sco_math): Added test for SCO math header files.
1928 (sco_regset): Added check for conflicts with ieeefp.h.
1929 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
1930 * fixinc/fixincl.x: Regenerated
1931 * fixinc/tests/base/math.h: Added sco_math tests.
1932 * fixinc/tests/base/string.h: New file.
1933 * fixinc/tests/base/sys/regset.h: New file.
1934
6f572ac2
NB
19352003-04-19 Neil Booth <neil@daikokuya.co.uk>
1936
1937 * cpphash.h (struct cpp_buffer): Remove backup_to.
1938 * cpplex.c (BACKUP, get_effective_char): Die.
1939 (_cpp_skip_block_comment): Assume '*' is location on entry.
1940 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
1941 (IF_NEXT_IS): Update.
1942 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
1943
ced2ad76
MK
19442003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
1945
1946 * README.Portability: Move to a new section and obsolete K+R
1947 portability issues.
1948
07015444
JH
1949Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
1950
1951 * rtlanal.c (subreg_offset_representable_p): Fix call of
1952 subreg_lowpart.
1953
bced6edf
NB
19542003-04-19 Neil Booth <neil@daikokuya.co.uk>
1955
1956 * cpphash.h (struct cpp_reader): New member warned_dollar.
1957 * cpplex.c (continues_identifier_p): New function.
1958 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
1959 lex_number and lex_string, and simplify.
1960 (parse_slow, unescaped_terminator_p): Die.
1961 (_cpp_lex_direct): Update.
1962
a259f218
RK
19632003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1964
1965 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
1966
8555daff
NS
19672003-04-19 Nathan Sidwell <nathan@codesourcery.com>
1968
1969 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
1970 fork behaviour.
1971
4e1f0f8e
NB
19722003-04-19 Neil Booth <neil@daikokuya.co.uk>
1973
1974 * cppexp.c (eval_token): Permit true and false even if pedantic.
1975
bf805def
NB
19762003-04-19 Neil Booth <neil@daikokuya.co.uk>
1977
1978 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
1979
26aea073
NB
19802003-04-19 Neil Booth <neil@daikokuya.co.uk>
1981
1982 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
1983 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
1984 (struct include_file): Remove fefcnt, mapped members.
1985 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
1986 (read_include_file): Don't use mmap, terminate buffers in '\r'.
1987 (purge_cache): Don't use munmap.
1988 * cpphash.h (CPP_BUF_COLUMN): Update.
1989 (lexer_state): Remove lexing_comment.
1990 (struct _cpp_line_note): New.
1991 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
1992 next_line and need_line. Remove col_adjust and saved_flags.
1993 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
1994 _cpp_skip_block_comment, scan_out_logical_line): New.
1995 (_cpp_init_mbchar): Remove.
1996 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
1997 (cpp_read_main_file): Set line to 1 earlier.
1998 (post_options): -traditional-cpp doesn't want trigraphs.
1999 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
2000 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
2001 _cpp_get_fresh_line): New.
2002 (handle_newline, skip_escaped_newlines, trigraph_p,
2003 continue_after_nul, _cpp_init_mbchar): Remove.
2004 (get_effective_char): Update.
2005 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
2006 (skip_line_comment): Simplify.
2007 (skip_whitespace, parse_identifier, parse_slow, parse_number,
2008 parse_string): Update.
2009 (cpp_lex_direct): Use clean lines and process line notes. Update.
2010 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
2011 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
2012 directly.
2013 (_cpp_handle_directive): Don't set saved_flags.
2014 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
2015 cpp_undef, handle_assertion, cpp_push_buffer): Update.
2016 (_cpp_pop_buffer): Free notes.
2017 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
2018 * cpppch.c (cpp_read_state): \n terminate buffer.
2019 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
2020 (copy_comment): Use _cpp_skip_block_comment.
2021 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
2022 Simplify.
2023 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
2024 save_replacement_text): Update.
2025 (scan_out_logical_line): Update to use clean lines and process
2026 line notes.
2027 * fix-header.c (read_scan_file): Update.
2028
7008a11b
DR
20292003-04-18 Douglas B Rupp <rupp@gnat.com>
2030
2031 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
2032 null begin parameter (as well as pointer to null).
2033 (__deregister_frame_info_bases): Likewise.
2034
21102f25
RK
20352003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2036
34d21fe3
RK
2037 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
2038 hard or virtual register and copy into pseudo if replacement fails.
2039
2040 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
dd4ff203 2041
21102f25
RK
2042 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
2043
e59baa1f
OH
20442003-04-18 Olivier Hainque <hainque@act-europe.fr>
2045
38afb23f
OH
2046 * calls.c (expand_call): Move special case for constructor calls
2047 to right place. Ensures constructor calls used to initialize
c6a2438a 2048 arguments get a clean outgoing argument block for themselves.
38afb23f
OH
2049 Move check for stack deallocation completeness until after last
2050 deallocation. Add stack_pointer_delta to set of state
2051 variables saved and restored along with current stack_level.
c6a2438a
ZW
2052
2053 * integrate.c (expand_inline_function): Ensure non-const actuals
2054 don't end up const in the caller's flow after conversion to possibly
2055 const formal type.
e59baa1f 2056
8dcea3f3
VC
20572003-04-18 Vincent Celier <celier@gnat.com>
2058
c6a2438a
ZW
2059 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
2060 and *_DIV_EXPR as TRUNC_*_EXPR.
8dcea3f3 2061
3e378f14
MM
20622003-04-18 Mark Mitchell <mark@codesourcery.com>
2063
2064 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
2065 for orphaned jump tables.
2066
1b0d0e84
KH
20672003-04-18 Kazu Hirata <kazu@cs.umass.edu>
2068
2069 * reload1.c: Revert my previous patch on 2002-04-17.
2070
906042f5
GP
20712003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2072
2073 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
2074 Add Segher Boessenkool.
2075
38a31425
AS
20762003-04-18 Alexander Sotirov <sluncho@mirizma.org>
2077
2078 PR c/9177
2079 * c-decl.c (c_expand_body): Don't garbage collect the function
2080 body if we are going to dump it later.
2081
59c60a98
RH
20822003-04-18 Richard Henderson <rth@redhat.com>
2083
2084 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
2085 (alpha_end_function): Don't set them.
2086 (decl_in_text_section): Remove.
2087 (alpha_encode_section_info): Remove.
2088 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
2089 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
2090 sections, rather than decl_in_text_section results.
2091
c553b702
RS
20922003-04-18 Roger Sayle <roger@eyesopen.com>
2093
2094 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
2095 and SIGN_EXTRACT.
2096
6a29edea
EB
20972003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2098
2099 PR optimization/7675
2100 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
2101 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
2102 nested functions if they refer to declarations from parent functions.
2103 * stmt.c (expand_decl): Don't put automatic variables in registers
2104 if the DECL_NONLOCAL flag is set.
2105
4d3eb89a
HPN
21062003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
2107
2108 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
2109 consider those to be movable where the source matches
2110 want_to_gcse_p.
2111 (update_ld_motion_stores): In comment, refer to
2112 compute_ld_motion_mems for validity of replacement.
2113
04c5580f
JH
2114Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
2115
d101590b 2116 * gcov-dump.c (tag_summary): Remove max_sum
ca29da43
NS
2117 * gcov-io.h (gcov_summary, gcov_write_summary,
2118 gcov_read_summary): Kill max_sum.
2119 * libgcov.c (gcov_exit): Do one pass over the data. Make error
2120 message more verbose.
2121
2122 * emit-rtl.c (subreg_hard_regno): Check that register is
2123 representable.
293107d1 2124
04c5580f
JH
2125 * reload.c (reload_inner_reg_of_subreg): When register is not
2126 representable, reload the whole thing.
2127 (find_reloads): Likewsie.
2128 * rtlanal.c (subreg_representable_p): New function.
2129
2130 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
2131 allow negative probabilities for edges from the call to exit.
ca29da43
NS
2132 (branch_prob): Do not add fake edges for functions that may return
2133 twice.
04c5580f 2134
c409ea0d
DD
21352003-04-17 DJ Delorie <dj@redhat.com>
2136
2137 * toplev.c (target_options): Add value field.
2138 (set_target_switch): Handle target options with values.
2139 * doc/tm.texi: Document how fixed vs variable target
2140 options work.
2141 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
2142 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
2143 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
2144 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
2145 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
2146 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
2147 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
2148 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
2149 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
2150 Add value initializer to target options.
2151
36801818
LR
21522003-04-07 Loren James Rittle <ljrittle@acm.org>
2153
2154 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
2155
a211395b
KH
21562003-04-17 Kazu Hirata <kazu@cs.umass.edu>
2157
2158 * reload1.c (move2add_last_cc0): New.
2159 (reload_cse_move2add): Detect implicit sets.
2160 (move2add_note_store): Notice a store into cc0.
2161
220a35cc
RS
21622003-04-17 Roger Sayle <roger@eyesopen.com>
2163
2164 PR c/10375
2165 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
2166 function attributes.
2167
7ed0620a 21682003-04-17 Janis Johnson <janis187@us.ibm.com>
46b2356d
JJ
2169
2170 * doc/sourcebuild.texi (Test Suites): Document support for testing
2171 binary compatibility (moved from testsuite/README.compat).
2172
3907500b
RH
21732003-04-17 Richard Henderson <rth@redhat.com>
2174
2175 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
2176
d22b2e54
SL
21772003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
2178
c6a2438a
ZW
2179 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
2180 the one provided by the FSF.
d22b2e54 2181
616de62f
GP
21822003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2183
2184 * doc/install.texi (Binaries): Update URL and list of platforms
2185 provided by ftp.thewrittenword.com.
2186
f2dd0c42
RH
21872003-04-17 Richard Henderson <rth@redhat.com>
2188
2189 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
2190 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
2191 * config/xtensa/xtensa.md (call, call_value): Likewise.
2192
50d1ff6a
RH
21932003-04-17 Richard Henderson <rth@redhat.com>
2194
2195 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
2196 (print_operand_address): Likewise.
2197 (ep_memory_operand): Likewise.
2198 (special_symbolref_operand): Likewise.
2199 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
2200 (v850_encode_section_info): Call default_encode_section_info.
2201 (v850_strip_name_encoding): Remove.
2202 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
2203 (ASM_OUTPUT_LABELREF): Remove.
2204 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
2205 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
2206 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
2207 (ENCODED_NAME_P): Remove.
2208 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
2209 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
2210 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
2211
e7d687bb
RH
22122003-04-17 Richard Henderson <rth@redhat.com>
2213
2214 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
2215 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
2216 SYMBOL_REF_FUNCTION_P.
2217
72628c61
RH
22182003-04-17 Richard Henderson <rth@redhat.com>
2219
2220 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
2221 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
2222 (text_segment_operand): Likewise.
2223
675ff4c7
RH
22242003-04-17 Richard Henderson <rth@redhat.com>
2225
2226 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
2227 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
2228 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
2229 (sh_encode_section_info): Remove.
2230 (sh_strip_name_encoding): Remove.
2231 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
2232 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
2233 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
2234 (ASM_OUTPUT_LABELREF): Remove.
2235 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
2236 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
2237
114278e7
RH
22382003-04-17 Richard Henderson <rth@redhat.com>
2239
2240 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
2241 (tls_model_chars): Remove.
2242 (larl_operand): Use SYMBOL_REF_FLAGS.
2243 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
c6a2438a 2244 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
114278e7
RH
2245 (s390_output_mi_thunk): Likewise.
2246 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
2247 (s390_function_profiler): Likewise.
2248 (s390_encode_section_info): Use default_encode_section_info
2249 and SYMBOL_FLAG_ALIGN1.
2250 (s390_strip_name_encoding): Remove.
2251 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
2252 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
2253 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
2254
e95ef187
RH
22552003-04-17 Richard Henderson <rth@redhat.com>
2256
2257 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
2258 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
2259 (print_operand_address): Likewise.
2260
2261 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
2262 * config/ns32k/ns32k.c (expand_block_move): Don't check
2263 flag_unroll_loops.
2264
6cd4a764
RH
22652003-04-17 Richard Henderson <rth@redhat.com>
2266
2267 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
2268 SYMBOL_REF_FLAG.
2269
89e6b702
RH
22702003-04-17 Richard Henderson <rth@redhat.com>
2271
2272 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
2273
2274 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
2275 (SYMBOL_REF_MODEL): New.
2276 (LIT_NAME_P): Move from m32r.h.
2277 (m32r_select_section): Remove.
2278 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
2279 (m32r_strip_name_encoding): Remove.
2280 (m32r_in_small_data_p): New.
2281 (small_data_operand): Use SYMBOL_REF_SMALL_P.
2282 (addr24_operand): Use SYMBOL_REF_MODEL.
2283 (call26_operand): Likewise.
2284 (addr32_operand): Tidy.
2285 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
2286 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
2287 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
2288 (READONLY_DATA_SECTION_ASM_OP): Remove.
2289 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
2290 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
2291 (TARGET_ASM_SELECT_SECTION): Remove.
2292 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
2293 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
2294 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
2295 (ASM_OUTPUT_LABELREF): Remove.
2296
ec94fc00
RH
22972003-04-17 Richard Henderson <rth@redhat.com>
2298
2299 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
2300 (encode_section_info): Remove.
2301 * config/ip2k/ip2k-protos.h: Update.
2302
1b8135a4
RH
23032003-04-17 Richard Henderson <rth@redhat.com>
2304
c6a2438a 2305 * varasm.c (default_encode_section_info): Don't set
1b8135a4
RH
2306 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
2307 * config/i370/i370.c (i370_encode_section_info): Remove.
2308 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
2309 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
2310 * config/i370/i370.md (movsi): Likewise.
2311
2312 * config/i370/t-i370: Add missing backslash.
2313
6d7fe8b3
EB
23142003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
2315
2316 * doc/invoke.texi (inline-limit): Fix pasto.
2317
dc66a1c4
RH
23182003-04-17 Richard Henderson <rth@redhat.com>
2319
2320 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
2321 (small_call_insn_operand): Use it.
2322 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
2323 (h8300_eightbit_constant_address_p): Use it.
2324 (SYMBOL_FLAG_TINY_DATA): New.
2325 (h8300_tiny_constant_address_p): Use it.
2326 (h8300_encode_label, h8300_strip_name_encoding): Remove.
2327 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
2328 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
2329 (ASM_OUTPUT_LABELREF): Remove.
2330
90a63880
RH
23312003-04-16 Richard Henderson <rth@redhat.com>
2332
0f6e5d45
RH
2333 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
2334 all users with SYMBOL_REF_SMALL_P.
2335 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
2336 (frv_encode_section_info): Remove.
2337 (frv_strip_name_encoding): Remove.
2338 (frv_in_small_data_p): Merge tests from encode_section_info.
2339 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
2340 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
2341 (SDATA_NAME_P): Remove.
2342 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
2343 (ASM_OUTPUT_LABELREF): Remove.
2344 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
2345
90a63880
RH
2346 * config/frv/frv.c (frv_asm_out_constructor): New.
2347 (frv_asm_out_destructor): New.
2348 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
2349 (DTORS_SECTION_ASM_OP): New.
2350 (ASM_OUTPUT_CONSTRUCTOR): Remove.
2351 (ASM_OUTPUT_DESTRUCTOR): Remove.
2352
5c93e01b
RH
23532003-04-16 Richard Henderson <rth@redhat.com>
2354
2355 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
2356 SYMBOL_REF_LOCAL_P; abort if not pic.
2357 (cris_encode_section_info): Remove.
2358
11467df2
RH
23592003-04-16 Richard Henderson <rth@redhat.com>
2360
2361 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
2362 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
2363
2364 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
2365 flag_inline_trees.
2366
74b66b3c
RH
23672003-04-16 Richard Henderson <rth@redhat.com>
2368
2369 * config/avr/avr.c (avr_encode_section_info): Remove.
2370 (avr_insert_attributes): New.
2371 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
2372 (avr_assemble_integer): Likewise.
2373
8cbd5ce0
RH
23742003-04-16 Richard Henderson <rth@redhat.com>
2375
2376 * arc.c (arc_encode_section_info): Remove.
c6a2438a 2377 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
8cbd5ce0
RH
2378 (arc_print_operand, arc_print_operand_address): Likewise.
2379 * arc.h (EXTRA_CONSTRAINT): Likewise.
2380
96c6931d
RS
23812003-04-16 Roger Sayle <roger@eyesopen.com>
2382
2383 * c-semantics.c (find_reachable_label): New function to find a
2384 potentially reachable label in an expression.
2385 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
2386 assumes the start of the IF_STMT is unreachable (dead) code.
2387 (expand_unreachable_stmt): Similar to expand_stmt but assumes
2388 the start of the statement list is unreachable (dead) code.
2389 (genrtl_if_stmt): If the controlling expression of the IF
2390 is constant, use expand_unreachable_stmt for the THEN or ELSE
2391 clause as appropriate.
2392 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
2393 the body of a SWITCH statement.
2394 (expand_stmt): The code immediately following a "return",
2395 "break", "continue" or "goto" is unreachable.
2396 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
2397
3568b0ef
RH
23982003-04-16 Richard Henderson <rth@redhat.com>
2399
2400 * rtl.h (MEM_ALIAS_SET): Update documentation.
2401 * doc/rtl.texi (Special Accessors): New node.
2402 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
2403
60fa6660
AO
24042003-04-16 Alexandre Oliva <aoliva@redhat.com>
2405
2406 * reload1.c (reload_cse_noop_set_p): Return false if mode of
2407 SET_DEST is not the same as that returned by...
2408 * cselib.h (cselib_reg_set_mode): ... new function.
2409 * cselib.c (cselib_reg_set_mode): Define it.
2410 (REG_VALUES): Document semantics of first element as set mode.
2411 (cselib_subst_to_values): Skip first element if ELT is NULL.
2412 (cselib_lookup): Likewise. Insert past the first element.
2413 (cselib_invalidate_regno): NULLify first element.
2414 (cselib_record_set): Set first element.
2415
15b19a7d
OH
24162003-04-16 Olivier Hainque <hainque@act-europe.fr>
2417
c6a2438a
ZW
2418 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
2419 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
2420 * tree.h: Add prototypes for the two new functions.
2421 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
2422 updates introduced in the previous revision by call to saved_expr_p.
2423 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
a9ecacf6 2424
c6a2438a
ZW
2425 * expr.c (store_field): Force usage of bitfield instructions when
2426 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
2427 (expand_expr, case BIT_FIELD_REF): likewise.
15b19a7d 2428
f2d80e7e
MM
24292003-04-16 Mark Mitchell <mark@codesourcery.com>
2430
2431 PR middle-end/8866
2432 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
2433 jumptables.
2434
1cdbd630
RH
24352003-04-16 Richard Henderson <rth@redhat.com>
2436
2437 * config/ia64/ia64.c (sdata_symbolic_operand): Use
2438 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
2439 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
2440 (function_operand): Use SYMBOL_REF_FUNCTION_P.
2441 (ia64_expand_load_address): Likewise.
2442 (ia64_assemble_integer): Likewise.
2443 (ia64_encode_section_info): Remove.
2444 (ia64_strip_name_encoding): Remove.
2445 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
2446 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
2447
d055668e
RH
24482003-04-16 Richard Henderson <rth@redhat.com>
2449
2450 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
2451 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
2452 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
2453 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
2454 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
2455 (global_symbolic_operand): Similarly.
2456 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
2457 (tls_symbolic_operand_type): Likewise.
2458 (alpha_encode_section_info): Use default_encode_section_info.
2459 (alpha_strip_name_encoding): Remove.
2460 (get_tls_get_addr): Split out from ...
2461 (alpha_legitimize_address): ... here.
2462 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
2463 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
2464 (alpha_initialize_trampoline): Use init_one_libfunc.
2465 (alpha_setup_incoming_varargs): Mark unused parameters.
2466 (alpha_initial_elimination_offset): Likewise.
2467 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
2468 (unicosmk_unique_section): Use default_strip_name_encoding.
2469 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
2470
ffd25996
AH
24712003-04-16 Aldy Hernandez <aldyh@redhat.com>
2472
c6a2438a 2473 * config.gcc: Add t-spe for eabispe.
ffd25996 2474
c6a2438a 2475 * config/rs6000/t-spe: New.
ffd25996 2476
7f0ea82e
R
24772003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
2478
2479 Re-apply this patch:
2480
2481 2002-05-16 Dale Johannesen <dalej@apple.com>
2482 * combine.c (cant_combine_insn_p): Reenable combinations
2483 involving hard regs unless CLASS_LIKELY_SPILLED_P.
2484
c328adfa
JDA
24852003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2486
2487 PR/10271
2488 * pa-protos.h (function_arg): Remove last argument.
2489 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
c6a2438a 2490 * pa.h (struct hppa_args): Add member incoming.
c328adfa
JDA
2491 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
2492 member incoming.
2493 (FUNCTION_ARG): Revise call to function_arg.
2494 (FUNCTION_INCOMING_ARG): Delete.
2495
f9c1196a
ZW
24962003-04-15 Zack Weinberg <zack@codesourcery.com>
2497
2498 * configure.in: Unify the code which creates symlinks to a
2499 just-built as, ld, objdump, and nm with the code that detects
2500 their presence for purposes of feature tests.
2501 * configure: Regenerate.
2502
0b78a9b6
ZW
25032003-04-15 Zack Weinberg <zack@codesourcery.com>
2504
2505 * varasm.c (output_constant_def): Do not consult
2506 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
2507 (after_function_constants, output_after_function_constants): Delete.
2508 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
2509 * config/mips/mips-protos.h, config/mips/mips.c
2510 (mips16_constant_after_function_p): Delete.
2511 * config/mips/mips.h: Delete #if-0-ed definition of
2512 CONSTANT_AFTER_FUNCTION_P.
2513 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
2514 mention of CONSTANT_AFTER_FUNCTION_P in comment.
2515
03907fbd
GK
25162003-04-15 Geoffrey Keating <geoffk@apple.com>
2517
2518 * tree.c (next_decl_uid): Mark with GTY.
2519 (next_type_uid): Likewise.
2520
9959c8c7
R
25212003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
2522
2523 PR target/9594:
2524 * sh.c (barrier_align): Also recognize stuff_delay_slot as
2525 an indicator that a barrier was created by branch splitting.
2526
c8b718ba
MM
25272003-04-15 Mark Mitchell <mark@codesourcery.com>
2528
2529 * c-decl.c (implicitly_declare): Copy declarations that are going
2530 to be placed in a local scope.
2531
f5034c5e
JM
25322003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
2533
2534 * invoke.texi (Spec Files): Wrap if-exists-else example.
2535 (MCore): Remove duplicate @itemx entries and @opindex entries.
2536
7344f3d7
UW
25372003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
2538
2539 * unwind.inc (_Unwind_Backtrace): New function.
2540 * unwind.h (_Unwind_Backtrace): Declare it.
2541 * libgcc-std.ver (_Unwind_Backtrace): Export it.
2542
9547e8fd
JM
25432003-04-14 Jason Merrill <jason@redhat.com>
2544
2545 PR middle-end/10336, c++/10401
0b78a9b6 2546 * jump.c (never_reached_warning): Also stop looking if we reach the
9547e8fd
JM
2547 beginning of the function.
2548
55adc7bd
KG
25492003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2550
2551 PR target/10338
2552 PR bootstrap/10198
2553 PR bootstrap/10140
2554 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
2555
d2b54839
R
25562003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
2557
2558 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
2559
d0ccc658
RK
25602003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2561
2562 * optabs.c (expand_binop): In multi-word add cases, ensure
2563 XTARGET is copied to TARGET if they are different.
2564
29921faf
OH
25652003-04-15 Olivier Hainque <hainque@act-europe.fr>
2566
2567 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
2568 to region, possible after integration of function with unreachable
2569 regions that were optimized away.
2570
ff3867ae
JJ
25712003-04-15 Jakub Jelinek <jakub@redhat.com>
2572
2573 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
2574 instead of TOC_REGISTER in epilogue in
2575 current_function_calls_eh_return functions.
2576
f4e92987
MM
25772003-04-14 Mark Mitchell <mark@codesourcery.com>
2578
db0b376e
MM
2579 * doc/extend.texi (Empty Structures): Correct description of G++'s
2580 handling of these structures.
2581
f4e92987
MM
2582 * c-decl.c (grokdeclarator): Reject extern redeclarations of
2583 static variables.
2584
629f6514
JJ
25852003-04-14 Janis Johnson <janis287@us.ibm.com>
2586
615158e2
JJ
2587 * config/rs6000/rs6000.md (define_constants): Define constants for
2588 all UNSPEC usage, including new values for TLS support.
2589 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
2590 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
2591 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
2592 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
2593 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
2594 eh_set_lr_di): Use them.
2595 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
2596 rs6000_emit_epilogue) Use them.
2597
629f6514
JJ
2598 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
2599
8951a635
NB
26002003-04-14 Neil Booth <neil@daikokuya.co.uk>
2601
2602 * Makefile.in (c-opts.o): Use custom action.
2603
798a3935
DR
26042003-04-14 Douglas B Rupp <rupp@gnat.com>
2605
2606 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
2607
2443af37
RK
26082003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2609
0d3c8800
RK
2610 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
2611 handle "superflat arrays" in Ada.
2612
2443af37
RK
2613 * integrate.c (expand_inline_function): Don't inline if would
2614 lose /u on a BLKmode TARGET.
2615
8cb5fbbf
JB
26162003-04-14 Joel Brobecker <brobecker@gnat.com>
2617
39d658e3
JB
2618 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
2619 extracted from dbxout_type.
2620 (dbxout_range_type): print large bounds in octal format.
2621 (dbxout_type): Replace extracted code by call to
2622 print_int_cst_bounds_in_octal_p.
2623
0b78a9b6
ZW
2624 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
2625 of DW_LANG_Ada83 for Ada units.
8cb5fbbf 2626
9ceca302
OH
26272003-04-14 Olivier Hainque <hainque@act-europe.fr>
2628
41ee3204
OH
2629 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
2630 temporary used to round CONST_INT sizes.
2631
4694840a
OH
2632 * tree.c (int_fits_type_p): Extract generic checks from the case
2633 of constant type bounds. Refine the checks against constant type
2634 bounds to allow for possible decisions against each of these bounds
2635 without requiring both bounds to be constant.
2636 (tree_int_cst_msb): Put back.
2637 * tree.h (tree_int_cst_msb): Likewise.
2638
4147232b
OH
2639 * global.c (global_conflicts): Prevent allocation of call clobbered
2640 hard regs to pseudos live across abnormal edges, as later passes are
2641 not ready to handle them.
2642
0b78a9b6
ZW
2643 * fold-const.c (fold): Reorder tests for conditional expressions.
2644
2645 * expr.c (highest_pow2_factor): Return unsigned.
2646 * expr.h (offset_address): Likewise.
2647 * emit-rtl.c (offset_address): POW2 argument now unsigned.
cbcafd35 2648
712b7a05
RS
26492003-04-14 Roger Sayle <roger@eyesopen.com>
2650
2651 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
2652 string literals at compile-time.
2653
15d4fd98
RS
26542003-04-14 Roger Sayle <roger@eyesopen.com>
2655
2656 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
2657 comparison operation and c1/c2 are floating point constants into
2658 x swap(cmp) (c1 - c2).
2659
2fcb395c
VM
26602003-04-14 Vladimir Makarov <vmakarov@redhat.com>
2661
2662 * genautomata.c (output_translate_vect): Fix a typo in loop
2663 condition.
2664
747a0d9d
HPN
26652003-04-14 Hans-Peter Nilsson <hp@axis.com>
2666
2667 PR target/10377
2668 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
2669 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
2670 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
2671 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
2672 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
2673 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
2674 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
2675 ("*extopqihi_swap_side", "*extopqisi_swap_side")
2676 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
2677 When next to constraint R, replace constraint i with n.
2678
58e6ae30
JH
2679Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
2680
2681 PR opt/10024
2682 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
2683
88657a26
KL
26842003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2685
2686 * doc/contrib.texi (Contributors): Correct my entry.
2687
7f685e17
RS
26882003-04-13 Roger Sayle <roger@eyesopen.com>
2689
2690 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
2691 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
2692 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
2693 implies DECL_BUILT_IN to simplify logic.
2694 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
2695
1331d16f
RS
26962003-04-13 Roger Sayle <roger@eyesopen.com>
2697
2698 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
2699 (BT_FN_PTR_SIZE_SIZE): Likewise.
2700 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
2701 New built-in functions for malloc, calloc and strdup respectively.
2702 * calls.c (special_function_p): No need to handle malloc-like
2703 functions any longer. ECF_MALLOC is set via built-in attributes.
2704
2705 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
2706
2707 * doc/extend.texi: Document these new built-in functions.
2708
9cb65f92
KG
27092003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2710
2711 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
2712 (expand_builtin_stpcpy): New.
2713 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
2714 * builtins.def: Add mempcpy & stpcpy support.
2715 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
2716
5de601cf
NC
27172003-04-13 Nick Clifton <nickc@redhat.com>
2718
2719 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
2720 "GCC".
2721 * config/rs6000/40x.md, config/rs6000/603.md,
2722 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
2723 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
2724 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
2725 config/rs6000/aix43.h, config/rs6000/aix51.h,
2726 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
2727 config/rs6000/altivec.h, config/rs6000/altivec.md,
2728 config/rs6000/beos.h, config/rs6000/darwin.h,
2729 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
2730 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
2731 config/rs6000/freebsd.h, config/rs6000/gnu.h,
2732 config/rs6000/host-darwin.c, config/rs6000/linux.h,
2733 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
2734 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
2735 config/rs6000/netbsd.h, config/rs6000/power4.md,
2736 config/rs6000/rios1.md, config/rs6000/rios2.md,
2737 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
2738 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
2739 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
2740 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
2741 config/rs6000/spe.md, config/rs6000/sysv4.h,
2742 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
0b78a9b6 2743 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
5de601cf 2744
50d440bc
NC
27452003-04-13 Nick Clifton <nickc@redhat.com>
2746
2747 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
2748 support for -mcall-aix switch.
2749 * config/rs6000/eabiaix.h: Delete.
2750 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
2751 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
2752 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
2753 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
2754 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
2755 debug_stack_info, output_function_profiler,
2756 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
2757 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
2758 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
2759 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
2760 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
2761 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
2762 multilibs.
2763 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
2764 (MULTILIB_EXCEPTIONS): Delete.
2765 (MULTILIB_MATCHES): Remove mcall-aix matches.
2766
2767 * doc/fragments.texi: Replace -mcall-aix example with an ARM
2768 one.
2769 * doc/install.texi: Delete powerpc-*-eabiaix target.
2770 * doc/invoke.texi: Remove documentation of mcall-aix switch.
2771 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
2772 * config.gcc: Delete powerpc-*-eabiaix target.
2773
62b9c42c
KH
27742003-04-13 Kazu Hirata <kazu@cs.umass.edu>
2775
2776 * doc/invoke.texi: Fix typos.
2777 * doc/tm.texi: Likewise.
2778
6d0c8bb1
ZW
27792003-04-12 Zack Weinberg <zack@codesourcery.com>
2780
2781 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
2782
dcf92453
ZW
27832003-04-12 Zack Weinberg <zack@codesourcery.com>
2784
2785 * tree.c (build_constructor): New function.
2786 * tree.h: Prototype it.
2787
2788 * c-typeck.c (build_c_cast, pop_init_level)
2789 * profile.c (build_function_info_value, build_gcov_info_value)
2790 (create_profiler):
2791 Use build_constructor.
2792
2793 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
2794
2795 * objc/objc-act.c (build_constructor):
2796 Rename objc_build_constructor. Use build_constructor.
2797 (build_objc_string_object, objc_add_static_instance)
2798 (init_def_list, init_objc_symtab, init_module_descriptor)
2799 (generate_static_references, build_selector_translation_table)
2800 (build_descriptor_table_initializer, generate_descriptor_table)
2801 (build_protocol_initializer, build_ivar_list_initializer)
2802 (generate_ivars_list, build_dispatch_table_initializer)
2803 (generate_dispatch_table, generate_protocol_list)
2804 (build_category_initializer, build_shared_structure_initializer):
2805 Update to match.
2806
c85b28e8
ZW
28072003-04-12 Zack Weinberg <zack@codesourcery.com>
2808
2809 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
2810
cebcfdc8
SC
28112003-04-12 Stephane Carrez <stcarrez@nerim.fr>
2812
dcf92453 2813 * config/m68hc11/m68hc11-protos.h
cebcfdc8
SC
2814 (m68hc11_eq_compare_operator): Declare
2815 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
2816 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
2817 (d_register_operand): Check the operand mode.
2818 (hard_addr_reg_operand): Likewise.
2819
0ae32ec0
SC
28202003-04-12 Stephane Carrez <stcarrez@nerim.fr>
2821
2822 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
2823 pattern for dbcc/ibcc generation for 68HC12.
2824 ("doloop_end"): New pattern.
2825 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
2826 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
2827 ("m68hc12_dbcc_dec_qi"): New pattern.
2828 ("m68hc12_dbcc_inc_qi"): New pattern.
2829 (split): Add split for the above when we can't use dbcc/ibcc due to
2830 reloading.
2831 (peephole2): Add peephole2 to generate the above when possible.
2832
a67bac5f
SC
28332003-04-12 Stephane Carrez <stcarrez@nerim.fr>
2834
2835 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
2836 mode of operand 0.
2837 (peephole2 optimize const load): Likewise for operand 2.
2838 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
2839 clobbers CC_REGNUM.
2840 ("*rotrhi3_with_carry"): Likewise.
2841 (ashift:DI 1 split): Update pattern to create the above rotate.
2842 (lshiftrt:DI 1 split): Likewise.
2843
09214424
SC
28442003-04-12 Stephane Carrez <stcarrez@nerim.fr>
2845
2846 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
2847 ("tstqi_z_used" split): Use it.
2848 ("cmphi_z_used"): Likewise.
2849 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
2850 ("cmpqi_z_used"): Likewise.
2851
355b81d5
MM
28522003-04-12 Mark Mitchell <mark@codesourcery.com>
2853
2854 PR c++/7910
2855 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
2856
2bd02043
ZW
28572003-04-12 Zack Weinberg <zack@codesourcery.com>
2858
2859 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
2860 * configure, config.in: Regenerate.
2861 * intl.c (gcc_gettext_width): New function.
2862 * intl.h: Prototype it.
2863
96cd9069
SC
28642003-04-12 Stephane Carrez <stcarrez@nerim.fr>
2865
2866 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
2867 recognize -mnorelax.
2868 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
2869 (REG_CLASS_NAMES): Add its name.
2870 (REG_CLASS_CONTENTS): Define its content.
2871
c364c3a6
SC
28722003-04-12 Stephane Carrez <stcarrez@nerim.fr>
2873
2874 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
2875 parameters so that offsets are valid for far definition.
2876 (__mulsi3): Likewise and use ret to return.
2877 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
2878
09501938
DE
28792003-04-12 David Edelsohn <edelsohn@gnu.org>
2880
2881 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
2882
ff3d4e83
AO
28832003-04-12 Alexandre Oliva <aoliva@redhat.com>
2884
17a15c67
AO
2885 * mklibgcc.in (libgcc-stage-start): For every multilib directory
2886 containing a libgcc.a, move lib* to the corresponding stage dir.
2887
ff3d4e83
AO
2888 * Makefile.in (stage1-start, stage2-start, stage3-start,
2889 stage4-start): Move $(SPECS) to specs in stage dir.
2890 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
2891 back as $(SPECS).
2892
9e6ccb98
AO
2893 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
2894 object files from the non-libgcc/ multilib directories as well.
2895
ba05abd3
GK
28962003-04-11 Geoffrey Keating <geoffk@apple.com>
2897
0aaafe73
GK
2898 * profile.c (read_counts_file): Initialise 'checksum'.
2899
d5b9108c
GK
2900 * emit-rtl.c (gen_rtx): Really correct typo.
2901
a37db56b
GK
2902 PR c++/9393
2903 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
2904 * configure.in: Check for gettimeofday.
2905 * tree.c (flag_random_seed): Define.
2906 (default_flag_random_seed): New.
2907 (append_random_chars): Use flag_random_seed rather than trying
2908 to acquire randomness here.
2909 * tree.h (default_flag_random_seed): Declare.
2910 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
2911 descriptions.
2912 (decode_f_option): Handle -frandom-seed.
2913 (print_switch_values): Call default_flag_random_seed.
2914 * flags.h (flag_random_seed): Declare.
2915 * configure: Regenerate.
2916 * config.in: Regenerate.
2917 * config/alpha/t-crtfm: Use -frandom-seed.
2bd02043 2918
ba05abd3
GK
2919 * doc/extend.texi (Empty Structures): New.
2920
df026186
GK
2921 * c-pch.c: Include flags.h. Add comments to routines.
2922 (struct c_pch_validity): New.
2923 (get_ident): Update PCH file version number.
2924 (pch_init): Output current debugging type.
2925 (c_common_valid_pch): Check debugging type.
2926 * Makefile.in (c-pch.o): Update dependencies.
2927 * flags.h (debug_type_names): Declare.
2928 * toplev.c (debug_type_names): Move out of decode_g_option.
2929
15c812e3
EC
29302003-04-11 Eric Christopher <echristo@redhat.com>
2931
2932 * emit-rtl.c (gen_rtx): Fix typos.
2933
a73071bc
RH
29342003-04-11 Richard Henderson <rth@redhat.com>
2935
2936 * emit-rtl.c (gen_rtx): Zero '0' fields.
2937
ca06cfe6
RH
29382003-04-11 Richard Henderson <rth@redhat.com>
2939
2940 PR c++/10202
2941 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
2942 not COMPLETE_TYPE_P for re-invoking layout_decl.
2943
d2d42a91
SL
29442003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
2945
2946 * doc/bugreport.texi: Fix paragraph breaking between sections
2947 in preparation for TeXinfo's paragraph indentation fixes.
2948 * doc/extend.texi: Ditto.
2949 * doc/invoke.texi: Ditto.
2950 * doc/objc.texi: Ditto.
2951 * doc/gcov.texi: Wrap 'gcov' in @command{}.
2952 * doc/invoke.texi (Darwin Options): Add a preamble.
2953
2ae5ae57
RH
29542003-04-11 Richard Henderson <rth@redhat.com>
2955
2956 * config/i386/i386.c (tls_model_chars): Remove.
2957 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
2958 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
2959 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
2960 (tls_symbolic_operand_1): Likewise.
2961 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
2962 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
2963 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
2964 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
2965 bits "copied from i386.h" with default_encode_section_info.
2966
52859c77
RH
29672003-04-11 Richard Henderson <rth@redhat.com>
2968
2969 * rtl.def (SYMBOL_REF): Add two 0 fields.
2970 * gengtype.c (adjust_field_rtx_def): Handle them.
2971 * print-rtl.c (print_rtx): Print them.
2972 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
2973 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
2974 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
2975 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
2976 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
2977 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
2978 (SYMBOL_FLAG_MACH_DEP): New.
2979 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
2980 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
2981 (assemble_static_space): Set SYMBOL_REF_FLAGS.
2982 (assemble_trampoline_template): Likewise.
2983 (output_constant_def, force_const_mem): Likewise.
2984 (default_encode_section_info): New.
2985 * output.h: Declare it.
2986 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
2987
68d28100
RH
29882003-04-11 Richard Henderson <rth@redhat.com>
2989
2990 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
2991 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
2992 * optabs.c (init_optabs): Initialize them.
2993 (init_libfuncs): Use init_one_libfunc.
2994 * calls.c (expand_call): Use gcov_flush_libfunc.
2995 * expr.c (store_constructor): Use setbits_libfunc.
2996 * function.c (expand_main_function): Use init_one_libfunc.
2997 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
2998
11fe27a5
MM
29992003-04-11 Mark Mitchell <mark@codesourcery.com>
3000
3001 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
3002 documentation; add DECL_FRIEND_CONTEXT.
3003
f401d0f5
JDA
30042003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3005
3006 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
3007 notes on linker selection and configuration for 64-bit HP-UX port.
3008 * doc/invoke.texi (hppa): Remove hppa text from description for
3009 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
3010 and -threads options.
3011
3012 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
3013 libc.a on libdld.sl when -static is specified and -nolibdld is not
3014 specified.
3015 * pa64-hpux.h (LIB_SPEC): Likewise.
3016 * pa-hpux11.h (LIB_SPEC): Likewise.
3017 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
3018 is not specified.
3019
43451169
ZW
30202003-04-11 Zack Weinberg <zack@codesourcery.com>
3021
3022 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
3023 not IDENTIFIER_LOCAL_VALUE.
3024
a46666a9
RH
30252003-04-11 Richard Henderson <rth@redhat.com>
3026
3027 PR c/10201
3028 * expr.c (expand_expr): Move DECL_RTL frobbing ...
3029 * stor-layout.c (layout_decl): ... here.
3030
6d2f9dd3
JM
30312003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
3032
3033 * doc/invoke.texi: Eliminate extra white-space caused by
3034 @gccoptlist{ on its own line.
3035 * doc/invoke.texi: Ensured there are two spaces between each option.
3036 * doc/invoke.texi: Re-wrapped option lines that were too wide.
3037 Added @gol to options that didn't have them.
3038
94de45d9
NS
30392003-04-11 Nathan Sidwell <nathan@codesourcery.com>
3040
3041 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
3042 gcov-iov.h.
3043
3044 Simplify interface to gcov reading and writing.
3045 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
3046 gcov_alloc, gcov_modified, gcov_errored): Move into ...
3047 (struct gcov_var gcov_var): ... this static structure.
3048 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
3049 Return void.
3050 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
3051 read object.
3052 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
3053 (gcov_reserve_length): Remove.
3054 (gcov_write_tag): New.
3055 (gcov_write_length): Adjust.
3056 (gcov_read_summary, gcov_write_summary): Adjust.
3057 (gcov_eof, gcov_ok): Rename to ...
3058 (gcov_is_eof, gcov_is_error): ... here. Return error code.
3059 (gcov_save_position, gcov_resync): Rename to ...
3060 (gcov_position, gcov_seek): ... here.
3061 (gcov_skip, gcov_skip_string): Remove.
3062 (gcov_error): Remove.
3063 (gcov_open, gcov_close): Adjust.
3064 * gcov.c (find_source): Take const char *, copy it on allocation.
3065 (read_graph_file): Adjust.
3066 (read_count_file): Adjust.
3067 * libgcov.c (gcov_exit): Adjust.
3068 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
3069 tag_arc_counts, tag_summary): Return void. Adjust.
3070 (struct tag_format): Adjust proc member.
3071 (dump_file): Adjust gcov calls.
3072
7a615b25
AO
30732003-04-11 Alexandre Oliva <aoliva@redhat.com>
3074
3075 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
3076 mkfixinc.sh.
3077 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
3078 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
3079 build != host sysrooted builds.
3080 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
3081 TARGET_SYSTEM_ROOT even on sysrooted natives.
3082 * configure: Rebuilt.
3083
339a28b9
ZW
30842003-04-10 Zack Weinberg <zack@codesourcery.com>
3085
3086 * c-decl.c (struct binding_level): Add shadowed_tags and
3087 function_body; remove this_block, tag_transparent, and
3088 subblocks_tag_transparent; update comments.
3089 (clear_binding_level, lookup_tag_reverse): Kill.
3090 (make_binding_level): Use ggc_alloc_cleared or memset.
3091 (lookup_tag): Remove struct binding_level* parameter. All
3092 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
3093 current_binding_level->tags if asked for thislevel_only or if
3094 we might have to diagnose "struct foo; union foo;"
3095 (pushlevel): Ignore argument. Do not push another binding
3096 level on the transition from the parameters to the top level
3097 of the function body; just tweak the flags and proceed.
3098 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
3099 a function body, separate the parameter list from the
3100 top-level local variables.
3101 (set_block): Do nothing.
3102 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
3103 shadowed_tags if necessary.
3104 (warn_if_shadowing): Nuke the special case for local shadowing
3105 parameter.
3106 (pushdecl): Do not create a shadow entry if we are replacing
3107 an older decl in the same binding level.
3108 (pushdecl_function_level): Tweak for new way of indicating
3109 function scope.
3110 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
3111 (start_function): Don't set subblocks_tag_transparent.
3112 (finish_function): Fix up the binding_level stack for totally
3113 empty functions. Otherwise, don't call poplevel.
3114
3115 * c-common.c (shadow_warning): MANDATORY argument is no longer
3116 necessary. Always use plain warning.
3117 * c-common.h: Update to match.
3118
3119 * cfglayout.c (scope_to_insns_initialize): Clear block when we
3120 hit the FUNCTION_DECL.
3121 * function.c: Do not create cyclic tree structure.
3122
31232003-04-10 Zack Weinberg <zack@codesourcery.com>
3124
3125 * c-tree.h (struct lang_identifier): Replace global_value,
3126 local_value members with symbol_value, tag_value. Kill
3127 implicit_decl and limbo_value.
3128 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
3129 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
3130 C_MISSING_PROTOTYPE_WARNED): Kill.
3131 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
3132 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
3133 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
3134 (implicit_decl_warning, lookup_name_current_level,
3135 record_function_scope_shadow): Don't prototype.
3136 (pushdecl_function_level): Prototype.
3137
3138 * c-decl.c (truly_local_externals): New variable.
3139 (struct binding_level): Adjust commentary.
3140 (get_function_binding_level, clear_limbo_values,
3141 record_function_scope_shadow): Kill.
3142 (lookup_name_current_level, implicit_decl_warning): Are now static.
3143 (any_external_decl, record_external_decl): New static functions.
3144 (clone_underlying type): Split out of pushdecl.
3145 (c_print_identifier): Update to match changes to struct
3146 lang_identifier.
3147 (poplevel): Delete #if 0 block. Make externals invisible
3148 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
3149 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
3150 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
3151 (duplicate-decls): For real parm decl after a forward decl,
3152 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
3153 foo(...) { } with only a warning. Say whether a previous
3154 declaration was implicit.
3155 (warn_if_shadowing): Now handles all shadowing, not just
3156 local-over-local. Clarify comments.
3157 (pushdecl): Rewritten. There is no longer a distinction
3158 between global and local symbol values; they're all
3159 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
3160 DECL_EXTERNAL decls, and use any_external_decl to check
3161 against previous externals. Kill #if 0 blocks. Don't
3162 tolerate error_mark_node being NULL.
3163 (pushdecl_top_level): Handle only those cases which
3164 Objective C (the only user) needs.
3165 (pushdecl_function_level): New function.
3166 (implicitly_declare): Create ordinary decls with
3167 C_DECL_IMPLICIT set. Recycle old decls, however they got
3168 created.
3169 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
3170 for C_DECL_INVISIBLE symbols.
3171 (lookup_name_current_level): Likewise. Use chain_member.
3172 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
3173 Use pushdecl_function_level.
3174 (builtin_function): Use C_DECL_INVISIBLE.
3175 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
3176 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
3177 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
3178 (identifier_global_value): Same. Must scan
3179 global_binding_level in extremis.
3180
3181 * c-typeck.c (undeclared_variable): New static function, split
3182 from build_external_ref.
3183 (build_external_ref): Use DECL_CONTEXT, not
3184 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
3185 an instance variable. Restructure for clarity.
3186 * objc/objc-act.c: Use identifier_global_value, not
3187 IDENTIFIER_GLOBAL_VALUE.
3188
6d9c4c83
JW
31892003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
3190
3191 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
3192 not Working Paper.
3193 * doc/invoke.texi (C++ Dialect Options): Same.
3194
06790e5f
ZW
31952003-04-10 Zack Weinberg <zack@codesourcery.com>
3196
3197 * tree.c (tree_operand_check_failed): New function.
3198 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
3199 TREE_RTL_OPERAND_CHECK): New checking macros.
3200 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
3201 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
3202 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
3203 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
3204 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
3205 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
3206 checking macros.
3207
f90e4dea
JH
3208Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
3209
3210 PR inline-asm/8803
3211 * function.c (instantate_virtual_regs): Verify that all ASM statements
3212 match after the virutal regs instantiation.
3213
08744705
SE
32142003-04-10 Steve Ellcey <sje@cup.hp.com>
3215
3216 * ia64-protos.h (addp4_optimize_ok): New.
3217 * ia64.c (addp4_optimize_ok): New.
3218 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
3219 (*ptr_extend_plus_2): Ditto.
3220
267b28bd
SE
32212003-04-10 Steve Ellcey <sje@cup.hp.com>
3222
3223 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
3224 not with convert_memory_address.
3225 (store_constructor): Ditto, and same for copy_size_rtx.
3226 (expand_expr): Ditto.
3227
021bad8e
DR
32282003-04-10 Douglas B Rupp <rupp@gnat.com>
3229
3230 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
3231
1839841c
BW
32322003-04-10 Bob Wilson <bob.wilson@acm.org>
3233
3234 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
3235 even if it is configured to be write-through.
3236
e23795ea
UW
32372003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
3238
3239 * config/s390/s390.c (larl_operand): Do not allow symbols
3240 marked with '@'.
3241 (s390_encode_section_info): Mark symbols with forced 1-byte
3242 alignment with '@'.
3243 (s390_strip_name_encoding): Strip '@'.
3244 (legitimize_pic_address): Handle symbols that are not valid
3245 LARL operands in 64-bit mode.
3246
0bb7378d
AH
32472003-04-10 Andrew Haley <aph@redhat.com>
3248
3249 * tree-inline.c (inlinable_function_p): Disable inlining for
3250 synchronized methods.
3251
009ed910
SB
32522003-04-09 Steven Bosscher <steven@gcc.gnu.org>
3253
3254 * c-common.h (lang_statement_code_p): Remove declaration.
3255 (statement_code_p): Ditto.
3256 (c_common_stmt_codes): Define; list of c-common statement codes.
3257 (statement_code_p): New extern declaration.
3258 (STATEMENT_CODE_P): Define.
3259 (INIT_STATEMENT_CODES): Define.
3260 * c-common.c (statement_code_p): Kill the function, declare
3261 as an array of bools instead.
3262 (lang_statement_code_p): Remove.
3263 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
3264 (c_safe_from_p): Ditto.
3265 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
3266 to initialize the statement_code_p array.
3267 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
3268 statement_code_p.
3269 (copy_tree_r): Ditto.
3270 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
3271 statement tree codes.
3272 * cp/lex.c (cxx_init): Add missing print line break. Use
3273 INIT_STATEMENT_CODES to initialize the statement_code_p array.
3274 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
3275 instead of statement_code_p.
3276 * cp/pt.c (tsubst_expr): Ditto.
3277 * cp/tree.c (verify_stmt_tree_r): Ditto.
3278 (cp_statement_code_p): Remove.
3279 (init_tree): Don't set lang_statement_code_p, it's gone.
3280
496324d0
DN
32812003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
3282 Zack Weinberg <zack@codesourcery.com>
3283
3284 * regrename.c (struct du_chain): Use a bitfield for reg_class.
3285 * cse.c (struct qty_table_elem, struct table_elt, struct set):
3286 Use bitfields for fields holding enum rtx_code or
3287 enum machine_mode values. Add comments explaining size choices.
3288
9c951124
AO
32892003-04-09 Alexandre Oliva <aoliva@redhat.com>
3290
3291 * config/fp-bit.c (unpack_d): Handle pair of doubles with
3292 different signs correctly.
3293
d1c9693e
VM
32942003-04-09 Vladimir Makarov <vmakarov@redhat.com>
3295
3296 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
3297 (reg_pending_barrier): Make it of the enumeration type.
3298 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
3299 TRUE_BARRIER.
3300 (sched_analyze): Ditto.
3301 (sched_analyze_insn): Ditto. Use anti-dependencies for
3302 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
3303 (init_deps_global): Initialize the barrier as NO_BARRIER.
06790e5f 3304
f32360c7
VM
33052003-04-09 Vladimir Makarov <vmakarov@redhat.com>
3306
3307 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
3308 Check that asm insn starts on a new cycle. Add nops after asm
3309 insn to end bundle.
3310 (bundling): Move insn type evaluation from the loop. Call
3311 issue_nops_and_insn with the new parameter. Ignore changing
3312 position for nops after asm insn.
3313
0913e4b4
AO
33142003-04-09 Alexandre Oliva <aoliva@redhat.com>
3315
3316 * optabs.c: Comment that gen_add2_insn and others may actually
3317 return emitted insns, if the gen functions turn out to return
3318 emitted insns.
3319 * reload1.c (reload_cse_move2add): Cope with emitted insns from
3320 gen_add2_insn.
3321
21515593
RH
33222003-04-09 Richard Henderson <rth@redhat.com>
3323
3324 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
3325 but not tls_symbolic_operand.
3326 (ia64_expand_load_address): Remove scratch operand.
3327 (ia64_expand_tls_address): Split out from ia64_expand_move.
3328 (ia64_expand_move): Split symbolics only after reload.
3329 (ia64_emit_cond_move): New.
3330 * config/ia64/ia64-protos.h: Update.
3331 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
3332 (symbolic splitter): Accept SImode operands too.
3333 (cmove splitter): Use ia64_emit_cond_move.
3334
66d6bf1f
NC
33352003-04-09 Nick Clifton <nickc@redhat.com>
3336
3337 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
3338 newer.
3339 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
3340 instead of -mno-fpu.
3341 * config/arm/semi.h (ASM_SPEC): Likewise.
3342 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
3343 but only if -msoft-float is specified pass. Otherwise pass
3344 -mfpu=softvfp.
06790e5f 3345
22659ac9
ZD
33462003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3347
3348 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
3349 free_EXPR_LIST_node.
3350
5fce2c65
RS
33512003-04-08 Roger Sayle <roger@eyesopen.com>
3352
3353 * fold-const.c (fold): Use "fold" following build in more places.
3354 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
3355 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
3356
531878a6
RS
33572003-04-08 Roger Sayle <roger@eyesopen.com>
3358
3359 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
3360 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
3361 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
3362 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
3363 Delete function scope "fcode" variable to avoid shadowing.
3364
c583e7c3
KB
33652003-04-08 Kevin Buettner <kevinb@redhat.com>
3366
3367 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
3368 Take into account DWARF_INITIAL_LENGTH_SIZE.
3369
5a82c0b1
HPN
33702003-04-08 Hans-Peter Nilsson <hp@axis.com>
3371
3372 * reorg.c (fill_slots_from_thread): When considering changing the
3373 insn following a reg-to-reg copy insn to use the source reg of the
3374 copy, bail out if there's overlap between the registers.
3375
8a5275eb
ZD
33762003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3377
3378 * function.c (postponed_insns): New.
3379 (purge_addressof_1): Postpone processing of insns if addressofs
3380 are not put into stack.
06790e5f 3381 (purge_addressof): Process postponed insns.
8a5275eb 3382
ac55736a
R
33832003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
3384
3385 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
3386 this is FP_MODE_DOUBLE .
3387 * sh.c (ra.h): #include.
3388 (push_regs): Add second parameter. Changed all callers.
3389 If necessary, set fpscr before saving floating point registers.
3390 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
3391 do saves / restores with SZ == 1.
3392 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
3393 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
3394 registers are being restored, restore FPSCR only after restoring them.
3395
3fdaa45a
AH
33962003-04-08 Aldy Hernandez <aldyh@redhat.com>
3397
496324d0
DN
3398 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
3399 regardless of architecture.
3400 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
3fdaa45a 3401
490dbac7
R
34022003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
3403
3404 * sh.c (push_regs, calc_live_regs): Return int. Take single
3405 HARD_REG_SET * parameter. Changed all callers.
3406
799b33a0
JH
3407Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
3408
3409 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
3410 GOTOFF operand.
3411 (legitimize_pic_address): Move plus outside the unspec.
3412 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
3413 for validity.
3414
3e71e002
NS
34152003-04-08 Nathan Sidwell <nathan@codesourcery.com>
3416
3417 * gcov-io.h (gcov_save_position): Remove __inline__ from
3418 declaration.
3419
7ba4ca63
MK
34202003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
3421
3422 * doc/install.texi: Use @command and @samp for single- and
3423 multi-word commands respectively.
3424 * doc/makefile.texi: Likewise.
3425 * doc/sourcebuild.texi: Likewise.
3426
f8d4be57 34272003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
496324d0 3428 Richard Henderson <rth@redhat.com>
f8d4be57 3429
496324d0
DN
3430 PR c/9516
3431 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
3432 favour of looping and tail recursion for TREE_LIST and binops.
f8d4be57 3433
760e8e42
ZD
34342003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3435
3436 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
3437 for insns without luid.
3438
b0a3412c
GN
34392003-04-07 Glen Nakamura <glen@imodulo.com>
3440
3441 PR opt/8634
3442 * explow.c (maybe_set_unchanging): Don't flag non-static const
3443 aggregate type initializers with RTX_UNCHANGING_P.
3444
c5a1e3d6
RH
34452003-04-07 Richard Henderson <rth@redhat.com>
3446
496324d0
DN
3447 PR opt/8634
3448 * function.c (purge_addressof_1): Don't try arithmetics for
3449 unchanging memories.
c5a1e3d6 3450
138d4703
JJ
34512003-04-07 Janis Johnson <janis187@us.ibm.com>
3452
3453 * doc/sourcebuild.texi (Test Suites): Document testing support for
3454 gcov and profile-directed optimizations; describe gcc.misc-tests.
3455
1d5b4e0b
JH
3456Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
3457
3458 PR target/10077
3459 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
3460
60ba917e
EB
34612003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3462
3463 * doc/rtl.texi (Comparison operations): Update to
3464 record the allowed comparison modes.
3465
2abe3e28
AH
34662003-04-07 Aldy Hernandez <aldyh@redhat.com>
3467
496324d0
DN
3468 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
3469 V2SI_type_node to opaque_V2SI_type_node. Rename all
3470 V2SF_type_node to opaque_V2SF_type_node.
3471 (rs6000_init_builtins): Define opaque_V2SI_type_node and
3472 opaque_V2SF_type_node.
3473 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
3474 opaque_V2SF_type_node are opaque types.
2abe3e28 3475
9a318d30
R
34762003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
3477
3478 * gcse.c (replace_store_insn): Use single_set.
3479
546d2adb
NS
34802003-04-07 Nathan Sidwell <nathan@codesourcery.com>
3481
3482 Change gcov file interface to single file at a time.
3483 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
3484 Convert to C89 prototypes.
3485 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
3486 gcov_error, gcov_modified): New static variables.
3487 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
3488 functions.
3489 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
3490 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
3491 (gcov_read_summary, gcov_write_summary): Adjust.
3492 (gcov_save_position, gcov_reserve_length, gcov_write_length):
3493 Adjust.
3494 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
3495 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
3496 (da_file_position, da_file_seek, da_file_write, da_file_read):
3497 Remove.
3498 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
3499 * gcov.c (gcov_type): Don't typedef here.
3500 (IN_GCOV): #define
3501 (read_graph_file, read_count_file): Adjust.
3502 * gcov-dump.c (gcov_type): Don't typedef here.
3503 (IN_GCOV): #define.
3504 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
3505 Remove FILE parameter, adjust.
3506 (struct tag_format): Adjust proc member.
3507 (dump_file): Adjust.
3508 * libgcov.c (IN_LIBGCOV): #define.
3509 (gcov_exit): Adjust.
3510 * loop-init.c: Don't #include gcov-io.h
3511 * profile.c (struct counts_entry): New structure to hold counter
3512 values.
3513 (struct section_reference, struct da_index_entry): Remove.
3514 (bbg_file, da_file): Remove.
3515 (htab_counts_index_hash, htab_counts_index_eq,
3516 htab_counts_index_del): Replace with ...
3517 (htab_counts_entry_hash, htab_counts_entry_eq,
3518 htab_counts_entry_del): ... these.
3519 (cleanup_counts_index, index_counts_file): Remove.
3520 (read_counts_file): New function.
3521 (get_exec_counts): Adjust.
3522 (compute_branch_probabilities): Don't free the exec counts here.
3523 (branch_prob): Adjust.
3524 (init_branch_prob): Adjust.
3525 (end_branch_prob): Adjust.
3526
5da702b1
AH
35272003-04-07 Aldy Hernandez <aldyh@redhat.com>
3528
496324d0
DN
3529 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3530 -mfloat-gprs.
5da702b1 3531
496324d0
DN
3532 * config/rs6000/rs6000.c: Delete rs6000_fprs.
3533 Declare rs6000_float_gprs.
3534 Declare rs6000_float_gprs_string.
3535 (rs6000_parse_float_gprs_option): New.
3536 (rs6000_override_options): Genericize rs6000_parse_* calls to use
3537 rs6000_parse_yes_no_option.
3538 Change check for cpu=8540, to use TARGET_E500.
3539 (rs6000_parse_isel_option): Delete.
3540 (rs6000_parse_spe_option): Delete.
3541 (rs6000_parse_vrsave_option): Delete.
5da702b1 3542
496324d0
DN
3543 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
3544 Define rs6000_float_gprs_string.
3545 (TARGET_OPTIONS): Add rs6000_float_gprs option.
5da702b1 3546
496324d0 3547 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
5da702b1 3548
496324d0 3549 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
5da702b1 3550
cde1d5bf
JH
3551Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
3552
3553 PR opt/10024
3554 * cfglayout.c (cfg_layout_redirect_edge):
3555 Redirect any branch edges unified with the fallthru one.
3556 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
3557 case fallthru edges when called via cfglayout.c
3558
d5019ba3
R
35592003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
3560
3561 * c-typeck.c (output_init_element): Check for type == error_mark_node.
3562
093b05b6
KH
35632003-04-07 Kazu Hirata <kazu@cs.umass.edu>
3564
3565 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
3566 split.
3567 (a splitter): Do zero-extension via HImode.
3568
9a94f7f3
JM
35692003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
3570
3571 * doc/invoke.texi: Eliminate extra white-space caused by
3572 @gccoptlist{ on its own line.
3573 * doc/invoke.texi: Ensured there are two spaces between each option.
3574 * doc/invoke.texi: Re-wrapped option lines that were too wide.
3575 Added @gol to options that didn't have them.
3576
85ebf0c6
JM
35772003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
3578
3579 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
3580
d78e771d
ZW
35812003-04-06 Zack Weinberg <zack@codesourcery.com>
3582
3583 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
3584 at the sizes of the relevant structures, rather than relying
3585 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
3586 sizes of any such we don't know about. Use
3587 lang_hooks.identifier_size for IDENTIFIER_NODE.
3588
3589 (initializer_zerop): Use CONSTRUCTOR_ELTS.
3590 * tree.def: Update commentary. Make fourth element of
3591 the definition for all 'c' and 'x' nodes zero.
3592
3593 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
3594 * langhooks-def.h: Update to match.
3595 * langhooks.c: New default, lhd_tree_size.
3596
3597 * c-common.def (SRCLOC): Kill.
3598 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
3599 Remove entirely - was already #if-ed out.
3600
3601
48a79342
ZW
36022003-04-06 Zack Weinberg <zack@codesourcery.com>
3603
3604 * mklibgcc.in: Use a here document to avoid running afoul of
3605 shells that generate control-A from "echo \1".
3606
993f19a8
AH
36072003-04-06 Aldy Hernandez <aldyh@redhat.com>
3608
d78e771d
ZW
3609 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
3610 option.
993f19a8 3611
d78e771d
ZW
3612 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
3613 rs6000_spe.
993f19a8 3614
d78e771d 3615 * config/rs6000/eabi.h (TARGET_E500): Define.
993f19a8 3616
d78e771d
ZW
3617 * config/rs6000/rs6000.h (TARGET_E500): Define.
3618 (TARGET_OPTIONS): Add spe= option.
3619 Declare rs6000_spe and rs6000_spe_string extern.
993f19a8 3620
d78e771d
ZW
3621 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
3622 Change TARGET_SPE to TARGET_E500.
3623 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
3624 !TARGET_FPRS.
3625 (print_operand): Same.
3626 (rs6000_generate_compare): Same.
3627 (output_cbranch): Same.
3628 (rs6000_spe): Declare.
3629 (rs6000_spe_string): Declare.
3630 (rs6000_override_options): Call rs6000_parse_spe_option.
3631 (rs6000_parse_spe_option): New.
993f19a8 3632
95ec27aa
SB
36332003-04-06 Steven Bosscher <steven@gcc.gnu.org>
3634
3635 * hashtable.c (gcc_obstack_init): Delete this function
3636 and everything related to it.
3637 * hashtable.h: Remove prototype.
3638 * bitmap.c (bitmap_element_allocate): Cleanup redundant
3639 defines. Cleanup some unnecessary whitespace.
3640 * defaults.h (obstack_chunk_alloc): Redefine with
3641 appropriate casts for libiberty obstacks.
3642 (obstack_chunk_free): Ditto.
3643 (OBSTACK_CHUNK_SIZE): Define, default to 0.
3644 (gcc_obstack_init): Define as a call to _obstack_begin.
3645 * tree.c (print_obstack_statistics): Delete this unused
3646 function.
3647 * tree.h (obstack): Don't forward-declare.
3648 (print_obstack_statistics): Delete prototype.
3649 (print_obstack_name): Ditto.
3650 (gcc_obstack_init): Ditto.
3651 * rtl.h (gcc_obstack_init): Ditto.
3652 * java/jv-scan.c (gcc_obstack_init): Delete this
3653 function, its prototype and related defines.
3654 * java/jvgenmain.c (gcc_obstack_init): Delete this
3655 function, and related defines.
3656 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
3657 (obstack_chunk_free): Ditto
3658
62e64b0b
GK
36592003-04-06 Geoffrey Keating <geoffk@apple.com>
3660
3661 * dbxout.c (dbxout_handle_pch): Move prototype out from
3662 #if defined DBX_DEBUGGING_INFO.
3663
10b7602f
NS
36642003-04-05 Nathan Sidwell <nathan@codesourcery.com>
3665
3666 * gcov.c (struct arc_info): Replace local_span with cycle.
3667 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
3668 (solve_flow_graph): Set is_call_return.
3669 (add_line_counts): Adjust. In block mode, blocks attach to last line.
3670 (accumulate_line_counts): Find graph cycles, not spanning tree.
3671 (output_branch_count): Adjust.
3672 (output_lines): Adjust.
3673 * doc/gcov.texi: Update.
3674
910c46b5
KH
36752003-04-06 Kazu Hirata <kazu@cs.umass.edu>
3676
3677 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
3678 the second alternative to "#".
3679
ef378bbe
KH
36802003-04-05 Kazu Hirata <kazu@cs.umass.edu>
3681
3682 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
3683 (single_zero_operand): Likewise.
3684
873ceaab
DB
36852003-04-05 Daniel Berlin <dberlin@dberlin.org>
3686
3687 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
3688 * df.c: Include alloc-pool.h, not obstack.h.
3689 (df_ref_obstack): Remove.
3690 (df_ref_pool, df_link_pool): Add pools.
3691 (df_alloc): Init the new pools.
3692 (df_free): And free them.
3693 (df_link_create): Use the pools.
3694 (df_ref_create): Ditto.
3695
5be86fec
KH
36962003-04-05 Kazu Hirata <kazu@cs.umass.edu>
3697
3698 * simplify-rtx.c: Fix formatting.
3699
984e25ac
DE
37002003-04-05 Andrew Pinski <apinski@apple.com>
3701
3702 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
3703 reg with reg1 == reg2 and offset1 = -8.
3704
37052003-04-05 David Edelsohn <edelsohn@gnu.org>
3706
3707 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
3708 multiply costs. Correct Power4 divide costs.
3709 * config/rs6000/power4.md: Restore multiply and FP latency.
3710
94f24ddc
ZD
37112003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3712
3713 * alias.c (find_base_term): Export.
3714 * rtl.h (find_base_term): Declare.
3715 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
3716 instead of flag_exceptions. Move test for parameter passing ...
3717 (store_killed_in_insn): ... here.
3718
92441f83
GP
37192003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3720
3721 PR bootstrap/10267
3722 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
3723 for configuring.
3724
33b49800
GK
37252003-04-04 Geoffrey Keating <geoffk@apple.com>
3726
3727 * dbxout.c (scope_labelno): Add GTY.
3728 (have_used_extensions): Add GTY.
3729 (source_label_number): Add GTY.
3730 (lastfile): Add GTY.
3731 (lastfile_is_base): New.
3732 (base_input_file): New.
3733 (dbxout_handle_pch): New.
3734 (dbx_debug_hooks): Add handle_pch.
3735 (xcoff_debug_hooks): Likewise.
3736 (dbxout_function_end): Remove scope_labelno.
3737 (dbxout_init): Set base_input_file.
3738 (dbxout_handle_pch): New.
3739 (dbxout_source_file): Honour lastfile_is_base.
3740 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
3741 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
3742 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
3743 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
3744 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
3745 * debug.h (struct gcc_debug_hooks): Add handle_pch.
3746 * c-pch.c (pch_init): Don't call start_source_file, but do call
3747 handle_pch.
3748 (c_common_write_pch): Call handle_pch.
3749 (c_common_read_pch): Don't call start_source_file,
06790e5f 3750 or end_source_file.
33b49800 3751
bb056a77
OH
3752Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
3753
d78e771d
ZW
3754 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
3755 use of default attributes to agree MEM_ALIGN macro.
bb056a77 3756
08b0f5f9
JB
3757Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
3758
d78e771d 3759 * dbxout.c (dbxout_type): When printing type index of range type
08b0f5f9
JB
3760 whose bounds are printed in octal format, print type of parent type if
3761 it exists so enumerated type descriptions are not transformed
d78e771d 3762 into unsigned types.
08b0f5f9 3763
45ca2106
KH
37642003-04-04 Kazu Hirata <kazu@cs.umass.edu>
3765
3766 * config/h8300/h8300-protos.h: Add a prototype for
3767 compute_a_shift_cc.
3768 * config/h8300/h8300.c (shift_one): Update the CC status.
3769 (shift_two): Likewise.
3770 (output_a_shift_cc): Set cc_inline and cc_special.
3771 (compute_a_shift_cc): New.
3772 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
3773
7c2aa9d7
RH
37742003-04-04 Richard Henderson <rth@redhat.com>
3775
3776 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
3777
0705a2a2
LR
37782003-04-04 Loren James Rittle <ljrittle@acm.org>
3779
3780 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
3781 * fixinc/fixincl.x: Rebuilt.
3782 * fixinc/tests/base/stdio.h: Regenerated.
3783
1a482881
NS
37842003-04-04 Nathan Sidwell <nathan@codesourcery.com>
3785
3786 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
3787
5d806217
R
3788Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
3789
3790 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
3791 (NORMAL_MODE).
3792 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
3793
0dc5ac92 37942003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
06790e5f 3795
0dc5ac92
GP
3796 * doc/contrib.texi (Contributors): Add entries for Wolfgang
3797 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
3798 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
3799 Danny Smith, and Ulrich Weigand.
3800 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
3801 entry.
3802
5eb7ad07
NC
38032003-04-04 Nick Clifton <nickc@redhat.com>
3804
3805 * config/sparc/sol2-bi.h: Revert previous delta.
3806 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
3807
fdf3bb57
NC
38082003-04-04 Nick Clifton <nickc@redhat.com>
3809
3810 * config/v850/v850.c (expand_prologue): Only use register save
3811 helper functions if long calls are not being used.
3812 Add a clobber of r11 id using long calls.
3813 (pattern_is_ok_for_prologue): Account for the extra clobber.
3814 (construct_save_jarl): Likewise.
3815 * config/v850/v850.md (prolog pattern): Do not use this pattern
3816 for v850e's.
3817
ad3f5759
AS
38182003-04-04 Andreas Schwab <schwab@suse.de>
3819
3820 * stor-layout.c (layout_decl): Avoid syntax error in last change
3821 when PCC_BITFIELD_TYPE_MATTERS is defined but not
3822 EMPTY_FIELD_BOUNDARY.
3823
ed2e5902
JM
38242003-04-03 Jason Merrill <jason@redhat.com>
3825
3826 PR c/10175
3827 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
3828 Look backwards for a line note.
3829
7b43d104
NB
38302003-04-03 Neil Booth <neil@daikokuya.co.uk>
3831
3832 * fix-header.c (read_scan_file): Defer switch processing.
3833
d24ecd21
MA
38342003-04-03 Matt Austern <austern@apple.com>
3835
3836 * cpppch.c (reset_ht): Remove.
3837 (cpp_read_state): Remove loop to reset hashtable identifiers.
3838 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
3839 after pch file is written.
3840 * ggc.h (gt_pch_fixup_stringpool): Declare.
3841 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
3842 hashnode's value to another hashtable, then clear the original.
3843 (saved_ident_hash): Define.
3844 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
3845 store definitions in ident_hash, and clear ident_hash.
3846 (gt_pch_fixup_stringpool): Define. Restore definitions from
3847 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
3848
bcc53e2a
JH
3849Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
3850
3851 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
3852
773eae39
EB
38532003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
3854
3855 PR optimization/10157
3856 * gcse.c (can_copy_p): Rename it to can_copy.
3857 (can_copy_init_p): Remove.
3858 (compute_can_copy): Use can_copy instead of can_copy_p.
3859 (can_copy_p): New exported function. Call compute_can_copy.
3860 (hash_scan_set): Use it.
3861 (gcse_main): Don't call compute_can_copy.
3862 (bypass_jumps): Don't call compute_can_copy.
3863 * rtl.h (can_copy_p): Declare.
3864 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
3865 copy if the mode doesn't support copy operations.
3866
78d55cc8
JM
38672003-04-03 Jason Merrill <jason@redhat.com>
3868
613fa146
JM
3869 * Makefile.in (unstrap): Also remove stage_last.
3870
7bf6b23d
JM
3871 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
3872 (dwarf2out_source_line): Don't do anything if line==0.
3873
78d55cc8 3874 * stor-layout.c (do_type_align): New fn, split out from...
06790e5f 3875 (layout_decl): ...here. Do all alignment calculations for
78d55cc8
JM
3876 FIELD_DECLs here.
3877 (update_alignment_for_field): Not here.
3878 (start_record_layout, debug_rli): Remove unpadded_align.
3879 * tree.h (struct record_layout_info_s): Remove unpadded_align.
3880 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
3881 or DECL_MODE on the CONST_DECLs.
3882 (finish_struct): Don't mess with DECL_ALIGN.
3883
d10f5ecf
JH
3884Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
3885
3886 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
3887
3888Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
8d3b0953 3889
70aadfcc
R
3890 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
3891 function is an interrupt handler.
3892
3893 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
3894 restoring target registers with EH_RETURN_STACKADJ_RTX; use
3895 multiple registers in round-robin fashion.
8d3b0953 3896
de94b46c
KG
38972003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3898
3899 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
3900 * system.h (CHAR_BITFIELD): New.
3901
203dcb74
KH
39022003-04-03 Kazu Hirata <kazu@cs.umass.edu>
3903
3904 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
3905 and LE.
3906 (another peephole2): Likewise.
3907
dc00aebd
NC
39082003-04-03 Nick Clifton <nickc@redhat.com>
3909
3910 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
d78e771d 3911 (DEF_ARCH64_SPEC): Likewise.
dc00aebd 3912
a94f136b
JH
3913Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
3914
3915 * i386.c (constant_address_p): Use legitimate_constant_p.
3916 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
3917
9a2dd2dd
KH
39182003-04-02 Kazu Hirata <kazu@cs.umass.edu>
3919
3920 * config/h8300/h8300-protos.h: Add a prototype for
3921 gtle_operator.
3922 * config/h8300/h8300.c (gtle_operator): New.
3923 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
3924 gtle_operator.
3925 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
3926 and LE.
3927
378683cf
RH
39282003-04-02 Richard Henderson <rth@redhat.com>
3929
3930 * libgcc-std.ver (_Unwind_GetCFA): New.
3931 * unwind-dw2.c (_Unwind_GetCFA): New.
3932 * unwind-libunwind.c (_Unwind_GetCFA): New.
3933 * unwind-sjlj.c (_Unwind_GetCFA): New.
3934 * unwind.h: Declare it.
3935
a67a3220
JH
3936Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
3937
3938 PR inline-asm/8088
3939 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
3940 when MMX/SSE is not available.
3941
11292480
MS
39422003-04-02 Mike Stump <mrs@apple.com>
3943
3944 * doc/install.texi (Specific): Update pointers to apple.com.
3945
a94f136b 3946Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
a5b378d6
JH
3947
3948 * i386.c (override_options): Disable red zone by default on i386.
06790e5f 3949 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
a5b378d6
JH
3950 Do not test TARGET_64BIT together with TARGET_RED_ZONE
3951
8fc9a7ba
KH
39522003-04-02 Kazu Hirata <kazu@cs.umass.edu>
3953
3954 * config/h8300/h8300.md (a peephole2): Tighten the condition.
3955
496e1c4b
RH
39562003-04-02 Richard Henderson <rth@redhat.com>
3957
3958 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
3959
d98cd543
KH
39602003-04-02 Kazu Hirata <kazu@cs.umass.edu>
3961
3962 * config/h8300/h8300.md (a peephole2): New.
3963
b30abdf2
RH
39642003-04-02 Richard Henderson <rth@redhat.com>
3965
3966 * except.c (sjlj_find_directly_reachable_regions): Recognize when
3967 must-not-throw region has been deleted.
3968
ad5eeaa9
RH
39692003-04-02 Richard Henderson <rth@redhat.com>
3970
d78e771d
ZW
3971 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
3972 optimization when flag_exceptions not enabled.
ad5eeaa9 3973
be12c2b0
VM
39742003-04-02 Vladimir Makarov <vmakarov@redhat.com>
3975
3976 * config/rs6000/rs6000.c
3977 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
3978 macros.
3979 (rs6000_issue_rate): Add case for 8540.
3980 (rs6000_use_sched_lookahead): New function.
3981
3982 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
3983 units into MU ones.
3984 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
3985 reservation before retirement.
3986 (ppc8540_multiply, ppc8540_load, ppc8540_store,
3987 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
3988 Remove additional cycle in the reservation before retirement.
3989 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
3990 reservation of ppc8540_issue.
06790e5f 3991
f875310e
AS
39922003-04-02 Andreas Schwab <schwab@suse.de>
3993
3994 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
3995
125ca8fd
RH
39962003-04-01 Richard Henderson <rth@redhat.com>
3997
d78e771d
ZW
3998 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
3999 notes for nothrow calls if flag_forced_unwind_exceptions.
4000 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
4001 (sjlj_find_directly_reachable_regions): Likewise.
4002 (reachable_handlers): Likewise.
4003 (can_throw_external): Likewise.
4004 (collect_one_action_chain): Record cleanups after catch-all and
4005 must-not-throw if flag_forced_unwind_exceptions.
4006 * flags.h (flag_forced_unwind_exceptions): Declare.
4007 * toplev.c (flag_forced_unwind_exceptions): New.
4008 (lang_independent_options): Add it.
125ca8fd
RH
4009 * doc/invoke.text: Add it.
4010
8f744ea9
DM
40112003-04-01 David Mosberger <davidm@hpl.hp.com>
4012
d78e771d
ZW
4013 * config/ia64/crti.asm: Clean up trailing whitespace.
4014 Remove trailing hashes (#) from identifiers.
8f744ea9 4015
d78e771d 4016 * config/ia64/crtn.asm: Ditto.
8f744ea9 4017
d78e771d
ZW
4018 * config/ia64/crtend.asm: Remove trailing hashes (#) from
4019 identifiers.
4020 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
4021 directives. Drop explicit bundling---it just makes the code
4022 harder to read. Don't save/restore gp needlessly.
8f744ea9 4023
d78e771d
ZW
4024 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
4025 identifiers (they're only needed if the identifier would clash
4026 with a register name otherwise).
4027 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
4028 directives. Drop explicit bundling---it just makes the code
4029 harder to read.
4030 (__do_jv_register_classes): Ditto.
4031 (.fini_array): Remove "progbits" (newer
4032 assemblers don't like wrong section-types).
4033 (.init_array): Ditto.
8f744ea9 4034
e129b3f9
RS
40352003-04-01 Roger Sayle <roger@eyesopen.com>
4036
4037 PR fortran/9974
15d4fd98 4038 * gcse.c (reg_killed_on_edge): New function to test whether the
e129b3f9
RS
4039 given reg is overwritten by any instruction queued on an edge.
4040 (bypass_block): Ignore substitutions killed on incoming edges.
4041 Don't bypass outgoing edges that have queued instructions.
4042
fe0002ee
AO
40432003-04-01 Alexandre Oliva <aoliva@redhat.com>
4044
4045 * real.h (EXP_BITS): Make room for...
4046 (struct real_value): ... added canonical bit.
4047 (struct real_format): Added pnan.
4048 (mips_single_format, mips_double_format, mips_extended_format,
4049 mips_quad_format): New.
4050 * real.c: Copy p to pnan in all formats.
4051 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
4052 (real_nan): Use pnan to compute significand's shift.
4053 (real_identical): Disregard significand in canonical
4054 NaNs.
4055 (real_hash): Likewise. Take signalling into account.
4056 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
4057 Disregard significand bits in canonical NaNs. Set all bits of
4058 canonical NaN if !qnan_msb_set.
4059 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
4060 qnan_msb_set to tell the base double format.
4061 (ibm_extended_format): Use 53 as pnan.
4062 (mips_single_format, mips_double_format, mips_extended_format,
4063 mips_quad_format): Copied from the corresponding ieee/ibm
4064 formats, with qnan_msb_set false.
4065 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
4066 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
4067 * config/mips/mips.c (override_options): Use mips_single_format
4068 and mips_double_format. Default TFmode to mips_quad_format.
4069 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
4070 * config/mips/t-irix6: Likewise.
4071 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
4072 * config/fp-bit.c (pack_d, unpack_d): Obey it.
4073
481a8181
GK
40742003-04-01 Geoffrey Keating <geoffk@apple.com>
4075
4076 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
4077 (live_image_destructor): Reset image to initial state.
4078 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
4079
375ffbe6
EB
40802003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
4081
4082 * config/sparc/sparc.c (input_operand): Accept bare
4083 CONSTANT_P_RTX operands.
4084
47a3dae1
ZD
40852003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4086
4087 * gcse.c (struct ls_expr): Added pattern_regs field.
4088 (ldst_entry): Initialize it.
4089 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
4090 (store_ops_ok): Use regs precomputed by them.
4091 (find_loads, store_killed_in_insn, load_kills_store): Change return
4092 type to bool.
4093 (store_killed_before, store_killed_after): Take position of register
4094 set in account.
4095 (reg_set_info): Store position of the setter.
4096 (gcse_main): Enable store motion.
4097 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
4098 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
4099 sharing.
4100 (simple_mem): Enable store motion of non-symbol mems.
4101 (regvec): Type changed.
4102 (LAST_AVAIL_CHECK_FAILURE): New.
4103 (compute_store_table_current_insn): New.
4104 (build_store_vectors): Computation of availability and anticipatability
4105 moved ...
4106 (compute_store_table, find_moveable_store): ... here.
4107 (delete_store): Remove senseless comment.
4108 (store_motion): Reorganize.
4109
77d4f3a4
KB
41102003-04-01 Kevin Buettner <kevinb@redhat.com>
4111
4112 * config/mips/mips.c (override_options): Provide mappings for
4113 HI_REGNUM and LO_REGNUM.
4114 * config/mips/mips.h (MD_DBX_FIRST): Define.
4115
7d4444ea
FS
41162003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4117
4118 * combine.c (merge_outer_ops): Fix typo.
4119
4120 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
4121
9259f3b0
DE
41222003-04-01 David Edelsohn <edelsohn@gnu.org>
4123
4124 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
4125 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
4126 imul_compare. Add lmul_compare.
4127 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
4128 in second pair of dispatch slots. Model stores more accurately.
4129 Tweak multiply model. Add bypasses for CR instructions dependent
4130 on complicated compares.
4131 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
4132 (muldi3): Add lmul_compare patterns.
4133 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
4134 and FPSTORE_UX to split instructions and add COMPARE,
4135 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
4136 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
4137 (rs6000_rtx_costs): Separate POWER4 multiply case.
4138
7fe317e4
UW
41392003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
4140
4141 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
4142 Do nothing if __builtin_return_address was not used.
4143
e1fea6ee
JH
4144Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
4145
4146 * i386.md (test patterns): Allow memory operand in operand1.
4147
d744e06e
AH
41482003-02-31 Aldy Hernandez <aldyh@redhat.com>
4149
d78e771d
ZW
4150 * testsuite/gcc.c-torture/execute/simd-3.c: New.
4151
4152 * expr.c (expand_expr): Handle VECTOR_CST.
4153 (const_vector_from_tree): New.
4154
4155 * varasm.c (output_constant): Handle VECTOR_CST.
4156
4157 * c-typeck.c (digest_init): Build a vector constant from a
4158 VECTOR_TYPE.
4159
4160 * config/rs6000/rs6000.c: Remove prototype for
4161 easy_vector_constant.
4162 (easy_vector_constant): Add mode parameter. Rewrite to handle
4163 more easy constants.
4164 (rs6000_emit_move): Pass mode to easy_vector_constant.
4165 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
4166 (emit_easy_vector_insn): New.
4167 (easy_vector_same): New.
4168 (EASY_VECTOR_15): New macro.
4169 (EASY_VECTOR_15_ADD_SELF): New macro.
4170 (bdesc_2arg): Rename to xorv2si3.
4171 (easy_vector_constant_add_self): New.
4172 (input_operand): Allow vector constants.
4173
4174 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
4175 easy_vector_constant, easy_vector_constant_add_self.
4176 (EXTRA_CONSTRAINT): Add 'W'.
4177
4178 * config/rs6000/rs6000-protos.h: Add prototype for
4179 easy_vector_constant, emit_easy_vector_insn.
4180
4181 * config/rs6000/altivec.md (xorv8hi3): New.
4182 (xorv16qi3): New.
4183 Remove all _const0 patterns.
4184 (movv4si_internal): Rewrite to use code. Add vector constant to
4185 vector alternative. Add splitter.
4186 (movv8hi_internal): Same.
4187 (movv16qi_internal): Same.
4188 (movv4sf_internal): Same.
4189 Change the unspecs for vspltis* to use constants.
4190
4191 * config/rs6000/spe.md ("xorv4hi3"): New.
4192 ("spe_evxor"): Rename to xorv2si3.
4193 ("xorv1di3"): New.
4194 Remove all _const0 patterns.
4195 (movv2si_internal): Rewrite to use code. Add vector constant to
4196 alternatives. Add splitter.
4197 (movv4hi_internal): Add vector constant to alternatives.
4198 (movv1di_internal): Same.
4199 (movv2sf_internal): Same.
d744e06e 4200
46e33d43
MM
42012003-03-31 Mark Mitchell <mark@codesourcery.com>
4202
4203 PR c/9936
4204 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
4205 variably-sized arrays in parameters.
4206 (set_save_expr_context): New function.
4207 (c_expand_body): Use it, via walk_tree.
4208
73a39fc4
EC
42092003-03-31 Eric Christopher <echristo@redhat.com>
4210
4211 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
4212 (combinable_i3pat): Remove call to expand_field_assignment and
4213 #if 0'd code.
4214
6b665219
MM
42152003-03-31 Mark Mitchell <mark@codesourcery.com>
4216
4217 PR c++/10278
4218 * c-common.c (finish_label_address_expr): Handle the
4219 error_mark_node.
4220
6c06208f
RH
42212003-03-31 Richard Henderson <rth@redhat.com>
4222
4223 * real.c (real_identical): Reorg so as to not compare
4224 signalling for normals.
4225
11789584
SC
42262003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4227
4228 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
4229
c25292ce
SC
42302003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4231
4232 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
4233 notes as they are boggus.
4234 (m68hc11_gen_movqi): Likewise.
4235
07faf2d6
SC
42362003-03-31 Stephane Carrez <stcarrez@nerim.fr>
4237
4238 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
4239 save the soft registers after the frame pointer so that gdb can unwind
4240 the frame more easily.
4241 (expand_epilogue): Likewise in opposite order; allow to use X register
4242 as scratch if the return value is by reference.
4243
adff28c3
JM
42442003-03-31 Jason Merrill <jason@redhat.com>
4245
4246 PR java/10145
4247 * stor-layout.c (update_alignment_for_field): Respect
4248 DECL_USER_ALIGN for zero-length bitfields, too.
4249 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
4250 fields.
4251
c419b113
MA
42522003-03-31 Matt Austern <austern@apple.com>
4253
4254 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
4255 (count_defs): Keep track of number of defs as well as total size.
4256 (write_defs): Put every definition in cpp_savedstate's defs array.
4257 (comp_hashnode): Define. Comparison function for qsort.
4258 (cpp_write_pch_deps): Sort definitions before writing them.
4259 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
4260 (collect_ht_nodes): Define.
4261 (cpp_valid_state): When verifying that undefined identifiers in
4262 the pch file are still undefined, read a sorted list of undefined
4263 identifiers, collect all defined identifiers into a sorted list,
4264 and walk through both lists to make sure there's no match.
73a39fc4 4265
ef3a7d56
KH
42662003-03-31 Kazu Hirata <kazu@cs.umass.edu>
4267
4268 * config/h8300/h8300.md (a peephole2): New.
4269
5ccd517a
MM
42702003-03-31 Michael Matz <matz@suse.de>
4271
4272 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
4273
42742003-03-31 Segher Boessenkool <segher@koffie.nl>
c8ae788f
SB
4275
4276 PR target/10177
4277 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
4278 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
4279 all call-clobbered registers as used.
4280
7f1fc38e
MM
42812003-03-31 Michael Matz <matz@suse.de>
4282
4283 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
4284 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
4285
27283c73
NS
42862003-03-31 Nathan Sidwell <nathan@codesourcery.com>
4287
4288 * gcov.c: Add -a & -u options.
4289 (struct arc_info): Add local_span, is_call_non_return,
4290 is_nonlocal_return, is_unconditional flags, remove is_call flag.
4291 (struct block_info): Add flags, is_call_site, is_nonlocal_return
4292 members. Make encodings a union with span member.
4293 (struct function_info): Add blocks_executed, line, src, line_next
4294 members.
4295 (struct coverage_info): Make branches a union with blocks member.
4296 (struct source_info): Add functions member.
4297 (object_summary, program_count): New global variables.
4298 (flag_all_blocks, flag_unconditional): New flags.
4299 (find_source, output_branch_count): New functions.
4300 (print_usage): Adjust.
4301 (options): Adjust.
4302 (process_args): Adjust.
4303 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
4304 <GCOV_TAG_BLOCKS>: Read flags.
4305 <GCOV_TAG_LINES>: Adjust.
4306 (read_count_file): Process SUMMARY tags.
4307 (solve_flow_graph): Set is_unconditional and clear is_call_site
4308 appropriately.
4309 (add_branch_counts): Adjust. Don't count unconditional branches.
4310 (add_line_counts): Deal with all-blocks mode, accumulate block
4311 coverage.
4312 (accumulate_line_counts): Adjust, generate local spanning tree for
4313 all-blocks mode.
4314 (output_lines): Adjust.
4315 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
4316 * doc/gcov.texi: Document.
4317
212d9313
KH
43182003-03-31 Kazu Hirata <kazu@cs.umass.edu>
4319
63855aa6 4320 * config/h8300/h8300.md: Organize peephole2's that transform
212d9313
KH
4321 (compare (reg:HI) (const_int)).
4322
03f2ea93
RS
43232003-03-31 Roger Sayle <roger@eyesopen.com>
4324
4325 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
4326 (init_emit_once): Initialize dconstm2 and dconsthalf here.
4327 * real.h (dconstm2, dconsthalf): Add prototypes here.
4328 * real.c (real_sqrt): Use dconsthalf rather than local copy.
4329 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
4330 exp(x/2.0) remember to fold the division if possible.
4331 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
4332 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
4333 1.0/(x*x) and pow(x,0.5) as sqrt(x).
4334
155de338
KH
43352003-03-31 Kazu Hirata <kazu@cs.umass.edu>
4336
4337 * config/h8300/h8300.md (a new peephole2): New.
4338
98d3d336
RS
43392003-03-31 Richard Sandiford <rsandifo@redhat.com>
4340
4341 * gcse.c (simple_mem): Return false for floating-point accesses
4342 if flag_float_store is true.
4343
6b2d1c9e
RS
43442003-03-30 Roger Sayle <roger@eyesopen.com>
4345
4346 * gcse.c (gcse_constant_p): New function to identify constants
4347 suitable for constant propagation, including COMPARE with two
4348 integer constant arguments.
4349 (hash_scan_set): Use gcse_constant_p.
4350 (find_avail_set): Likewise.
4351 (cprop_insn): Likewise.
4352 (do_local_cprop): Likewise.
4353 (find_implicit_sets): Likewise.
4354 (find_bypass_set): Likewise.
4355
af829441
MK
43562003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
4357
4358 * except.h: Remove definition of varray_type.
4359
3d1f4922
RH
43602003-03-30 Richard Henderson <rth@redhat.com>
4361
4362 PR opt/10011, opt/10252:
d78e771d
ZW
4363 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
4364 before post-gcse cse pass.
3d1f4922 4365
9311f3f6
RS
43662003-03-30 Roger Sayle <roger@eyesopen.com>
4367
4368 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
4369
ececa172
DD
43702003-03-30 DJ Delorie <dj@redhat.com>
4371
4372 * profile.c (instrument_edges): Make sure any newly created
4373 jump insns have correct jump label info.
4374
e1233a7d
RH
43752003-03-30 Richard Henderson <rth@redhat.com>
4376
4377 * cfgbuild.c (make_edges): Use tablejump_p.
4378 * cfgcleanup.c (label_is_jump_target_p): Likewise.
4379 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
4380 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
4381 (try_redirect_by_replacing_jump): Likewise.
4382 (redirect_edge_and_branch): Likewise.
4383 * cse.c (fold_rtx): Likewise.
4384 * jump.c (delete_related_insns): Likewise.
4385 * rtlanal.c (get_jump_table_offset): Likewise.
4386 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
4387
78e68f88
GDR
43882003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4389
d78e771d
ZW
4390 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
4391 (STRICT2_WARN): Likewise.
73a39fc4 4392
15dda4d3
KG
43932003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4394
4395 PR other/6955
4396 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
4397 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
4398
5bf92e20
RH
43992003-03-30 Richard Henderson <rth@redhat.com>
4400
4401 PR c/10083
4402 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
4403 don't zero_extend const inputs.
4404
9a8075a1
KH
44052003-03-30 Kazu Hirata <kazu@cs.umass.edu>
4406
4407 * reload1.c (reload_cse_move2add): Fix a comment typo.
4408
f3926c48
KH
44092003-03-30 Kazu Hirata <kazu@cs.umass.edu>
4410
4411 * config/h8300/h8300.md (a peephole2): Remove useless code.
4412
39ecf301
KH
44132003-03-29 Kazu Hirata <kazu@cs.umass.edu>
4414
4415 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
4416 (*iorsi3_and_lshiftrt): Likewise.
4417 (*iorsi3_zero_extract): Likewise.
4418
d4048ff6
KH
44192003-03-29 Kazu Hirata <kazu@cs.umass.edu>
4420
4421 * config/h8300/h8300.md (*insv_si_8_8): New.
4422 (*insv_si_8_8_lshiftrt_8): Likewise.
4423 (a peephole2): Likewise.
4424
62d08205
GP
44252003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4426
60ef8bdd 4427 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
73a39fc4 4428 Uniformly use bugfix instead of bug fix.
60ef8bdd
GP
4429
44302003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
73a39fc4 4431
62d08205
GP
4432 PR doc/895
4433 * ONEWS: Remove those items that already appear in the EGCS
4434 release notes on our web pages.
4435
e87a88d3
AM
44362003-03-29 Alan Modra <amodra@bigpond.net.au>
4437
4438 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
4439 TARGET_HARD_FLOAT. Reformat.
4440 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
4441
ce4a8f7d
ACY
44422003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
4443
4444 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
4445 work on Solaris 2.5.1.
4446
12f76820
KH
44472003-03-28 Kazu Hirata <kazu@cs.umass.edu>
4448
4449 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
4450 section of h8300.md
4451 (*addsi3_and_nor_r_1): Likewise.
4452
7d798969
UW
44532003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
4454
4455 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
4456 set up before any trapping memory access if flag_non_call_exceptions.
4457
00dcfe80
AM
44582003-03-29 Alan Modra <amodra@bigpond.net.au>
4459
4460 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
4461
4462 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
4463
d869a8c4
NN
44642003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
4465
4466 * configure.in: Clarify comments.
4467 * configure: Regenerate.
4468
5c033b9f
UW
44692003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
4470
73a39fc4 4471 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
5c033b9f
UW
4472 label even if pool empty when generating PIC.
4473 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
4474
d18ad191
KH
44752003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
4476 Dhananjay Deshpande <dhananjayd@kpit.com>
4477
4478 PR target/10205
4479 * config/h8300/h8300.c (h8300_initial_elimination_offset):
4480 Correct the offset computation when TARGET_NORMAL.
4481
0c85dbfd
EB
44822003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
4483
4484 PR target/10067
4485 * config/sparc/sparc.md (jump pattern): Correct order
4486 when issuing the annuling marker.
4487
f7670e7b
EB
44882003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
4489
4490 PR c/8281
4491 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
4492 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
4493
c9280dfe
AM
44942003-03-28 Alan Modra <amodra@bigpond.net.au>
4495
4496 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
4497 globalize_label.
4498 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
73a39fc4 4499 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
c9280dfe
AM
4500 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4501 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4502 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4503 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4504 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
4505
e81eb37f
AM
45062003-03-28 Alan Modra <amodra@bigpond.net.au>
4507
4508 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
4509 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
4510 notes after hoisting.
4511 (load_mems): Adjust replace_loop_mems call.
4512
1ce324c3 45132003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
d78e771d 4514 Richard Henderson <rth@redhat.com>
1ce324c3
EB
4515
4516 PR target/10114 and PR target/10084
4517 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
4518
c6cf19a8
RH
45192003-03-27 Richard Henderson <rth@redhat.com>
4520
4521 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
4522
9ddae796
RS
45232003-03-27 Roger Sayle <roger@eyesopen.com>
4524
4525 * fold-const.c (fold_inf_compare): New function to simplify FP
4526 comparisons against +Infinity or -Infinity.
4527 (fold): Optimize floating point comparisons against Infs and NaNs.
4528
01e60c33
JJ
45292003-03-27 Janis Johnson <janis187@us.ibm.com>
4530
4531 * libgcov.c: Provide only dummy functions if libc is not available.
4532
ad59ba20
RH
45332003-03-27 Richard Henderson <rth@redhat.com>
4534
4535 * real.h (struct real_value): Add signalling.
4536 (EXP_BITS): Decrement.
4537 * real.c (get_canonical_qnan): Don't set MSB-1.
4538 (get_canonical_snan): Likewise. Set signalling.
4539 (real_identical): Compare signalling.
4540 (round_for_format): Remove force-one-bit on code.
4541 (real_nan): Likewise. Set signalling.
4542 (encode_ieee_single): Add force-one-bit code; honor signalling.
4543 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
4544 (decode_ieee_single): Set signalling.
4545 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
4546
940bbb74
OH
45472003-03-27 Olivier Hainque <hainque@act-europe.fr>
4548
4549 PR ada/9953
4550 * ada/Makefile.in (gnatlib configuration for HPUX): Split
4551 the general section for HPUX into specific sections for
4552 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
4553 11 case.
4554
c7d325c8
GN
45552003-03-27 Glen Nakamura <glen@imodulo.com>
4556
4557 PR opt/10087
4558 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
4559 while incrementing giv.
4560 (record_biv): Check for duplicate biv locations and
4561 set (struct induction *) v->same if found.
4562
f18ab437
DM
45632003-03-27 David Mosberger <davidm@hpl.hp.com>
4564
d78e771d
ZW
4565 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
4566 v0.9 API change: replace read of UNW_REG_HANDLER with
4567 unw_get_proc_info().
4568 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
4569 with unw_get_proc_info().
4570 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
4571 unw_get_proc_info().
f18ab437 4572
eaff4b90
VM
45732003-03-27 Vladimir Makarov <vmakarov@redhat.com>
4574
4575 * config/rs6000/8540.md: Use presence_set instead of absence_set.
4576
3684a055
RH
45772003-03-26 Richard Henderson <rth@redhat.com>
4578
4579 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
4580
de132314
RS
45812003-03-26 Roger Sayle <roger@eyesopen.com>
4582
4583 PR bootstrap/10051, PR bootstrap/10169.
4584 * mips-tfile.c (init_file): Don't provide a static initializer.
4585 (initialize_init_file): Initialize the contents of init_file.
4586 (add_file): Call initialize_init_file if not already initialized.
4587
6f84708a
UW
45882003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
4589
4590 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
4591 registers used for global asm variables.
4592 (s390_frame_info, s390_arg_frame_offset): Likewise.
4593 (s390_emit_prologue, s390_emit_epilogue): Likewise.
4594
5e8006fa
VM
45952003-03-26 Vladimir Makarov <vmakarov@redhat.com>
4596
d78e771d 4597 * config/rs6000/8540.md: New file.
73a39fc4 4598
5e8006fa
VM
4599 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
4600 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
4601 reservations for imul.
4602
4603 * config/rs6000/rs6000.md: Include 8540.md. Change
4604 delayed_compare onto mult_compare for insns generating
4605 multiplication.
4606 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
4607 New type attribute values.
4608
4609 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
4610 fpsimple instead of fp.
4611 (*divsf3_gpr): Use type vecfdiv instead of fp.
4612 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
4613 instead of vecfloat.
4614 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
4615 (spe_brinc): Use type brinc instead of veccomplex.
4616 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
4617 veccomplex.
4618 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
4619 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
4620 *movv2sf_internal): Define type attribute values for all
4621 alternatives.
4622 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
4623 of fpcompare.
4624 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
4625 instead of fpcompare.
73a39fc4 4626
29ae9364
DE
46272003-03-26 David Edelsohn <edelsohn@gnu.org>
4628
4629 * config/rs6000/power4.md: Allow delay between dispatch and
4630 function units for simple instructions. Correct store units.
4631 Allow branch to occupy as many dispatch slots as necessary.
4632
be565ad7
JJ
46332003-03-26 Jakub Jelinek <jakub@redhat.com>
4634
4635 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
4636 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
4637 zero extend old to it.
4638 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
4639 operand.
4640
27e484bc
EB
46412003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
4642
4643 PR target/7784
4644 * reload.c (find_reloads_address): Handle
4645 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
4646 all base registers.
4647
b47161ec
MA
46482003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
4649
4650 PR other/10203
4651 * version.c: Reference the GCC web site in the URL.
4652
611f0729
AM
46532003-03-26 Alan Modra <amodra@bigpond.net.au>
4654
4655 * c-incpath.c (add_standard_paths): Add both "translated" and
4656 non-translated header paths.
4657
e4e7d312
LR
46582003-03-25 Loren James Rittle <ljrittle@acm.org>
4659
4660 * doc/install.texi (*-*-freebsd*): Update with known status.
4661
2e2255ff
JM
46622003-03-21 Jason Merrill <jason@redhat.com>
4663
4664 PR optimization/10171
4665 * unroll.c (unroll_loop): Don't delete the jump at the end unless
4666 we also delete a jump at the beginning.
4667
8725a499
SC
46682003-03-25 Stephane Carrez <stcarrez@nerim.fr>
4669
4670 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
4671 contributor.
4672
3504dad3
JH
4673Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
4674
4675 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
4676 constants are not expensive.
4677
cb9a1d9b
JH
4678Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
4679
4680 PR opt/10056
4681 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
4682 jump jumping to the next instruction.
4683 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
4684
d6d05f8d
GP
46852003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4686
4687 * doc/passes.texi (Passes): Properly document that we do not
4688 perform jump2 any longer; remove command-line option -dJ.
4689
d2fc7725
EB
46902003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4691
4692 PR optimization/8746
4693 * config/i386/i386.md (and promoting splitters): Disable HImode to
4694 SImode promoting when the sign bit matters and is not preserved, or
4695 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
4696 for size.
4697
beb14cfe
KH
46982003-03-24 Kazu Hirata <kazu@cs.umass.edu>
4699
4700 * config/h8300/h8300.md (a peephole2): Extend to support loads
4701 in QImode and HImode.
4702
dbcedbc4
SC
47032003-03-24 Stephane Carrez <stcarrez@nerim.fr>
4704
4705 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
4706 _return_far
4707 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
4708 (MULTILIB_EXCEPTIONS): Likewise.
4709 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
4710 by calling some board support routine.
4711 ("call_value"): Likewise.
4712 ("*return_void"): Likewise for return.
4713 ("*return_16bit"): Likewise.
4714 ("*return_32bit"): Likewise.
4715 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
4716 for 68HC11 too.
73a39fc4 4717 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
dbcedbc4
SC
4718 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
4719 -mlong-calls for 68HC11.
4720 * config/m68hc11/larith.asm (declare_near): New macro.
4721 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
4722 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
4723 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
4724 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
4725 (__mulhi32): Likewise.
4726 (ret): Update macro for 68HC11.
4727 (__far_trampoline): Implement for 68HC11.
4728 (__call_a16, __call_a32, __return_void, __return_16): New support
4729 routines for 68HC11 memory bank switching calling support.
4730 (__return_32): Likewise.
4731
696fe23c
NB
47322003-03-24 Neil Booth <neil@daikokuya.co.uk>
4733
4734 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
4735
05253aed
JJ
47362003-03-24 Janis Johnson <janis187@us.ibm.com>
4737
4738 * doc/install.texi (Testing): Mention test result links from build
4739 status pages.
4740
f8928391
MM
47412003-03-24 Mark Mitchell <mark@codesourcery.com>
4742
4743 * function.c (put_var_into_stack): Change bool parameter to int.
4744 (gen_mem_addressof): Likewise.
4745 * rtl.h (gen_mem_addressof): Likewise.
4746 * tree.h (put_var_into_stack): Likewise.
4747 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
4748 gen_mem_addressof or put_var_into_stack.
4749 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
4750 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
4751
b980d725
KH
47522003-03-24 Kazu Hirata <kazu@cs.umass.edu>
4753
4754 * config/h8300/h8300.md (a peephole2): New.
4755
2ff1fb45
JJ
47562003-03-24 Jakub Jelinek <jakub@redhat.com>
4757
4758 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
4759
8b5777db
GP
47602003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4761
4762 * doc/contrib.texi (Contributors): Update Janis Johnson.
4763
02484af9
EB
47642003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4765
4766 PR target/10072
4767 * combine.c (simplify_if_then_else): Check that the mode
4768 has MODE_INT class before applying the (OP Z (mult COND C2))
4769 transformation.
4770
941bc659
EB
47712003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4772
4773 PR optimization/9414
4774 * config/sparc/sparc.md (widening peepholes): Use
4775 widen_memory_access instead of change_address.
4776
f29a2bd1
MM
47772003-03-23 Mark Mitchell <mark@codesourcery.com>
4778
4779 PR c++/7086
4780 * c-typeck.c (c_mark_addressable): Adjust calls to
4781 put_var_into_stack.
4782 * expr.c (expand_expr): Likewise.
4783 * function.c (put_var_into_stack): Add rescan parameter. Do not
4784 call fixup_var_refs when rescan is false.
4785 (gen_mem_addressof): Likewise.
4786 (assign_parms): Adjust calls to put_var_into_stack.
4787 (setjmp_protect): Likewise.
4788 (setjmp_protect_args): Likewise.
4789 * rtl.h (gen_mem_addressof): Change prototype.
4790 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
4791 * tree.h (put_var_into_stack): Change prototype.
4792
fa9b4904
AB
47932003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
4794
b099daeb 4795 PR middle-end/9967
fa9b4904
AB
4796 * builtins.c (expand_builtin_fputs): When optimizing for size,
4797 don't transform fputs into fwrite.
4798
068d2c9d
MM
47992003-03-23 Glen Nakamura <glen@imodulo.com>
4800
4801 PR c/8224
4802 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
4803 when signedness changes for division or modulus.
4804
c967e28c
AM
48052003-03-24 Alan Modra <amodra@bigpond.net.au>
4806
4807 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
4808 globalize_label.
4809
766dec0e
RS
48102003-03-23 Roger Sayle <roger@eyesopen.com>
4811
4812 PR c/10178
4813 * stmt.c (expand_end_case_type): Check for overflow in range when
4814 determining whether to use a bit-test implementation.
4815
ef3e9886
RH
48162003-03-23 Richard Henderson <rth@redhat.com>
4817
4818 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
4819 before flow2.
4820 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
4821
bd2eae18
RH
48222003-03-23 Richard Henderson <rth@redhat.com>
4823
4824 PR opt/10116
4825 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
4826 from then_bb or else_bb after flow2.
4827
62c9aa5f
ZW
48282003-03-23 Zack Weinberg <zack@codesourcery.com>
4829
4830 * configure.in: Check whether it is necessary to link against
4831 libm to use ldexp.
4832 * configure: Regenerate.
4833 * Makefile.in: Add LDEXP_LIB substitution variable.
4834
4d1da12a
KH
48352003-03-23 Kazu Hirata <kazu@cs.umass.edu>
4836
4837 * config/h8300/h8300.md: Fix comment typos.
4838
7772f0a9
JDA
48392003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4840
4841 * pa.c (output_cbranch): Fix typo in comment.
4842
3ce6bef0
RH
48432003-03-22 Richard Henderson <rth@redhat.com>
4844
4845 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
4846 after reload.
4847
7a9cdb10
DD
48482003-03-22 DJ Delorie <dj at redhat dot com>,
4849 Bruce Korb <bkorb at gnu dot org>
4850
4851 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
4852 buggy Solaris 2.6 mutex/cond initializers.
4853 (solaris_mutex_init): Rename to solaris_mutex_init_2.
4854 * fixinc/fixincl.x: Regenerate.
4855 * fixinc/tests/base/pthread.h: Update.
00af168c
BK
4856 * fixinc/fixincl.c(initialize): be explicit about the default case
4857 and indicate verbose level when being very, very verbose.
4858 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
7a9cdb10 4859
8330e2c6
AJ
48602003-03-22 Andreas Jaeger <aj@suse.de>
4861
4862 * config/i386/i386.c (ix86_init_machine_status): Return value.
4863
02a57c73
JDA
48642003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4865
4866 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
4867 conditional branch to the following instruction. Use next_real_insn
4868 instead of next_active_insn.
4869 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
4870 instead of next_active_insn.
4871
97c6f7ad
UW
48722003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
4873
c967e28c
AM
4874 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
4875 instead of 'm' constraint in forced-split alternatives.
97c6f7ad
UW
4876 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
4877 VALIDATE_ADDRESS parameter to operand_subword.
4878
c8fcf20c
KH
48792003-03-22 Kazu Hirata <kazu@cs.umass.edu>
4880
4881 * config/h8300/h8300.c (notice_update_cc): Correctly handle
4882 the case where the set destination is STRICT_LOW_PART.
4883
21c0e624
SS
48842003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
4885
4886 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
4887 c30 instead of a c40 processor.
4888
70e1b8fc
AM
48892003-03-22 Alan Modra <amodra@bigpond.net.au>
4890
4891 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
4892
d9b2742a
ZW
48932003-03-21 Zack Weinberg <zack@codesourcery.com>
4894
4895 * c-common.c: Include intl.h.
4896 (shadow_warning): Rewrite to allow better diagnostic translations.
4897 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
4898 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
4899 use it throughout.
4900 * Makefile.in (c-common.o): Add intl.h.
4901
cbbf876b
NN
49022003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
4903
bea41393
NN
4904 * config.gcc: Remove 'float_format'.
4905
cbbf876b
NN
4906 * fixproto: Define NULL and size_t in generated stdlib.h and
4907 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
4908 Rearrange file generation loop for readability. Generate time.h,
4909 string.h if missing.
4910 * tsystem.h: Include <string.h>, <time.h> unconditionally.
4911 * config.gcc: Blow away POSIX defines.
4912
84fcbe0a
SC
49132003-03-22 Stephane Carrez <stcarrez@nerim.fr>
4914
4915 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
4916
639a8102
SC
49172003-03-22 Stephane Carrez <stcarrez@nerim.fr>
4918
4919 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
4920 writing .interrupt command.
4921 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
4922 if it's a far or near function.
4923 ("call_value"): Likewise.
4924 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
4925 near attributes.
4926 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
4927 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
4928 (m68hc11_initial_elimination_offset): Set current_function_far
4929 according to attributes.
4930 (expand_prologue): Likewise.
4931 (trap_handler_symbol): New global to keep track of trap handlers.
4932 (m68hc11_encode_section_info): Mark symbol as far if needed; set
4933 trap symbol.
4934 (m68hc11_is_far_symbol): New function.
4935 (m68hc11_is_trap_symbol): New function.
4936 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
4937 (m68hc11_is_trap_symbol): Declare.
4938
62c9aa5f 49392003-03-21 Jan Hubicka <jh@suse.cz>
d7394366
JH
4940
4941 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
4942 only when amount of saved regs changed.
4943 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
4944 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
4945
62c9aa5f 49462003-03-21 Jan Hubicka <jh@suse.cz>
5dc96d60
JH
4947
4948 PR inline-asm/7916
4949 * function.c (instantiate_virtual_regs_lossage): New function.
4950 (instantiate_virtual_regs_1): Use it.
4951 (instantiate_virtual_regs): Do not continue in substition when insn has
4952 been deleted.
4953
c5c15353
KH
49542003-03-21 Kazu Hirata <kazu@cs.umass.edu>
4955
4956 * combine.c (make_field_assignment): Fix a warning.
4957
5c1c25f0
KH
49582003-03-21 Kazu Hirata <kazu@cs.umass.edu>
4959
4960 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
4961
6b13641d
DJ
49622003-03-21 Dale Johannesen <dalej@apple.com>
4963
4964 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
4965 priority for R2 on Darwin.
4966 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
4967
6e814b8d
KH
49682003-03-21 Kazu Hirata <kazu@cs.umass.edu>
4969
4970 * combine.c (make_field_assignment): Remove unnecessary AND
4971 when storing into zero_extract.
4972
2d295af5
ZW
49732003-03-21 Zack Weinberg <zack@codesourcery.com>
4974
4975 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
4976 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
4977 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
4978 in comment.
4979
c0510d84
DD
49802003-03-21 DJ Delorie <dj@redhat.com>
4981
4982 * optabs.c (init_integral_libfuncs): Make sure we init at least up
4983 to "long long" size words.
4984
fe86047c
UW
49852003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
4986
4987 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
4988 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
4989 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
4990
526278c9
VR
49912003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4992
4993 PR doc-bug/9813
4994 * doc/extend.texi: Move misplaced paragraph about underscores in
4995 variables in macros.
4996
731458a4 49972003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2d295af5 4998 Richard Henderson <rth@redhat.com>
731458a4
EB
4999
5000 PR optimization/8366
5001 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
5002 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
5003 PIC+SYMBOLIC_CONST in other modes than Pmode.
5004 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
5005 the form PIC+SYMBOLIC_CONST as mode dependent.
5006
f3cd0185
DD
50072003-03-21 DJ Delorie <dj@redhat.com>
5008
5009 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
5010 sure we always emit at least one insn.
5011
70e5e841
CF
50122003-03-21 Christopher Faylor <cgf@redhat.com>
5013
5014 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
5015 stub t-cygming. Use common target header cygming.h. Add extra
5016 c_target_obj and cxx_target_obj file. Default cygwin to posix
5017 threading. Enforce i386 as float format.
5018 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
5019 Remove cygwin.h as target header. Use common target header
5020 cygming.h Enforce i386 as float format. Correct typo.
5021 * config/i386/cygming.h: New file, containing definitions
5022 common to mingw32 and cygwin.
5023 * config/i386/cygwin.h: Remove definitions common to cygwin and
5024 mingw. Simplify special spec logic. Define "wrappers" around
5025 certain include path defines to accommodate -mno-cygwin.
5026 Remove some #if 0'ed code.
2d295af5 5027 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
70e5e841
CF
5028 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
5029 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
5030 * config/i386/mingw32.h: Remove definitions common to cygwin and
5031 mingw.
5032 (EXTRA_OS_CPP_BUILTINS): Adjust.
5033 (TARGET_VERSION): Define.
5034 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
5035 mingw32.h definitions.
5036 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
5037 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
5038 Add compilation rules for cygwin1.o cygwin2.o.
5039 * config/i386/cygwin1.c: New file.
5040 * config/i386/cygwin2.c: New file.
5041 * config/i386/t-cygming: New makefile stub.
5042
4bddea4c
RH
50432003-03-20 Richard Henderson <rth@redhat.com>
5044
5045 * fold-const.c (extract_muldiv_1): Revert changing order of
5046 operands in case MULT_EXPR of 2003-02-16 patch.
5047
b3411d7e 50482003-03-20 Daniel Berlin <dberlin@dberlin.org>
06790e5f 5049 Merge changes from new-regalloc-branch
b3411d7e
DB
5050
5051 From Michael Matz <matz@suse.de>
5052 * df.c (df_ref_record_1): Move init of loc to safe point.
5053 Only recurse on interesting things in parallels.
5054 Handle CLASS_CANNOT_CHANGE_MODE smarter.
5055 (df_uses_record): Ditto.
2d295af5 5056
b3411d7e
DB
5057 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
5058 it's already okay to use memory operands in (IE doesn't require
5059 adding another insn or anything).
5060
05d482b9
RH
50612003-03-20 Richard Henderson <rth@redhat.com>
5062
5063 PR middle-end/6348
5064 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
5065 different from word_mode.
5066
86a36a0e
KH
50672003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5068
5069 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
5070 source operand to those that can be extracted with bld.
5071
228692e2
RE
50722003-03-20 Richard Earnshaw <rearnsha@arm.com>
5073
5074 PR 10066
5075 * arm.md (UNSPEC_PIC_BASE): New constant.
5076 (pic_add_dot_plus_four): Wrap with unspec.
5077 (pic_add_dot_plus_eight): Likewise.
5078
d0940a55
KH
50792003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5080
5081 * config/h8300/h8300.md (*insv_si_1_n): New.
5082 (*insv_si_1_n_lshiftrt): Likewise.
5083
c876997f
RS
50842003-03-20 Roger Sayle <roger@eyesopen.com>
5085
5086 * fold-const.c (fold_mathfn_compare): New function to simplify
5087 comparisons against built-in math functions. Fold comparisons
5088 of sqrt against constants.
5089 (fold): Call fold_mathfn_compare when appropriate.
5090
952a6df7
RE
50912003-03-20 Richard Earnshaw <rearnsha@arm.com>
5092
5093 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
5094 information.
5095
8826ff0f
PB
50962003-03-20 Per Bothner <pbothner@apple.com>
5097
5098 Various cleanups to help compile server.
5099
b4e46cea
PB
5100 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
5101 and pass that to _cpp_init_hashtable.
5102 (cpp_read_main_file): Drop hash_table* argument; don't call
5103 _cpp_init_hashtable.
5104 * cpplib.h: Update declarations to match.
5105 * c-opts.c (c_common_init_options): Pass ident_hash to
5106 cpp_create_reader.
5107 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
5108 * fix-header.c (read_scan_file): Likewise pass NULL table to
5109 cpp_create_reader rather than cpp_read_main_file.
5110
5111 * cppfiles.c (cpp_rename_file): Generalized and renamed
5112 to cpp_change_file.
5113 * cpplib.h: Update declaration to match.
5114 * c-opts.c (push_command_line_line, finish_options): Change
5115 cpp_rename_file calls to cpp_change_file.
2d295af5 5116
8826ff0f 5117 * line-map.c (add_line_map): Allow leaving the outermost file.
2d295af5 5118 Allowing entering an outermost-file after the initial time.
8826ff0f
PB
5119
5120 * toplev.c (pop_srcloc): Allow popping from initial file.
5121
015c3186
KH
51222003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
5123
5124 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
5125
101cb92a
KH
51262003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5127
5128 * config/h8300/h8300.md (a peephole2): New.
5129
f4613a2e
KH
51302003-03-20 Kazu Hirata <kazu@cs.umass.edu>
5131
5132 * config/h8300/h8300.md (*addsi3_and_r_1): New.
5133 (*addsi3_and_not_r_1): Likewise.
5134
31260fb8
LR
51352003-03-19 Loren James Rittle <ljrittle@acm.org>
5136
5137 * Makefile.in (STRICT2_WARN): Add @WERROR@.
5138 (GCC_WARN_CFLAGS): Remove $(WERROR).
5139 (fixinc.sh-warn): New.
5140 * ada/Make-lang.in (ada-warn): Add $(WERROR).
5141 * cp/Make-lang.in (cp-warn): Add $(WERROR).
5142 * f/Make-lang.in (f-warn): Add $(WERROR).
5143 * java/Make-lang.in (java-warn): Add $(WERROR).
5144 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
5145
2bd3ecad
NN
51462003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
5147
5148 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
5149 langhooks-def.h (lhd_tree_dump_dump_tree),
5150 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
5151 Change return type from 'int' to 'bool'. Replace 0 and 1 with
5152 true and false in return statements.
5153
9eb0ef7a
KB
51542003-03-19 Kevin Buettner <kevinb@redhat.com>
5155
5156 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
5157 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
5158 DWARF_INITIAL_LENGTH_SIZE.
5159 (output_compilation_unit_header, output_pubnames, output_aranges)
5160 (output_line_info): Output 0xffffffff escape value for 64-bit
5161 DWARF extension.
5162 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
5163
8b5642e0 51642003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
0796c16a
UW
5165
5166 * config/s390/s390.c (s390_preferred_reload_class): Do not
5167 force constants to the pool unless necessary.
5168 (s390_decompose_address): Prefer to use pointer as base,
5169 not index register.
5170 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
5171 Q alternative.
2d295af5 5172 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
0796c16a
UW
5173 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
5174 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
5175 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
5176 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
5177
62c9aa5f 51782003-03-19 Jan Hubicka <jh@suse.cz>
d9b40e8d
JH
5179
5180 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
5181 * i386.c (use_fast_prologue_epilogue): Remove.
5182 (ix86_frame): New field save_regs-using_mov;
5183 (ix86_compute_frame_layout): Decide on fast prologues;
5184 allocate saved registers in red zone.
5185 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
5186
31488c64
NC
51872003-03-19 Nick Clifton <nickc@redhat.com>
5188
5189 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
5190
685d0e07
JDA
51912003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5192
5193 PR 10062
5194 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
5195 * pa-protos.h (output_lbranch): New prototype.
5196 * pa.c (compute_frame_size): Change size of the frame marker on the
5197 64-bit ports to 48 bytes.
5198 (pa_output_function_prologue): Document why SAVE_SP is set.
5199 (hppa_expand_prologue): Save previous stack pointer into frame marker
5200 on targets which use the hpux unwind library.
5201 (output_cbranch): Use output_lbranch.
5202 (output_lbranch): New function to output long unconditional branches.
5203 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
5204 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
5205 64-bit ports.
5206 * pa.md (jump): Use output_lbranch.
5207 (allocate_stack): New expander for dynamic stack allocation.
5208
6a04f4e0
AM
52092003-03-19 Alan Modra <amodra@bigpond.net.au>
5210
178274da
AM
5211 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
5212 when debugging on XCOFF targets. Delete "abi" temp.
5213
6a04f4e0
AM
5214 PR target/10073
5215 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
5216
6b2300b3
JJ
52172003-03-18 Jakub Jelinek <jakub@redhat.com>
5218
5219 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
5220 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
5221 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
5222
5223 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
5224 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
5225 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
5226
5ba6918e
GK
52272003-03-18 Geoffrey Keating <geoffk@apple.com>
5228
6788f5ca
GK
5229 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
5230 the result of machopic_function_base_name.
5231 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
5232 string rather than a static array.
5233
5ba6918e
GK
5234 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
5235
5236 * gengtype.c: Include rtl.h.
5237 (enum rtx_code): Don't define.
5238 (rtx_format): Make declaration match rtl.h.
5239 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
5240 users.
5241 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
5242 * Makefile.in (gengtype.o): Update dependencies.
5243
e0ec941e
AS
52442003-03-18 Andreas Schwab <schwab@suse.de>
5245
5246 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
5247 martin@blom.org.
5248
8291cc0e
GK
52492003-03-18 Geoffrey Keating <geoffk@apple.com>
5250
f83b236e
GK
5251 * function.c (next_block_index): Mark with GTY.
5252
8291cc0e
GK
5253 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
5254
b39eb2f9
RH
52552003-03-18 Richard Henderson <rth@redhat.com>
5256
5257 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
5258 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
5259 until after reload.
5260
6c537d03
RH
52612003-03-18 Richard Henderson <rth@redhat.com>
5262
5263 * builtins.c (expand_builtin_unop): New target_mode operand;
5264 use it to convert the result to the correct mode.
5265 (expand_builtin): Update all callers.
5266
fe03d631
UW
52672003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
5268
5269 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
5270
62c9aa5f 52712003-03-18 Jan Hubicka <jh@suse.cz>
45183e03 5272
75fbf7d9
JH
5273 * i386.md: Fix previous commit that mistakely applied the patch
5274 twice.
5275
45183e03
JH
5276 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
5277 canonicalized.
5278 (memrefs_conflict_p): Likewise.
5279 (addr_side_effect_eval): Canonicalize the constructed address.
5280
62c9aa5f 52812003-03-18 Jan Hubicka <jh@suse.cz>
8dfa3bb0
JH
5282
5283 * i386.md (cvtts?2si peep2): New.
5284
1e788887
KH
52852003-03-18 Kazu Hirata <kazu@cs.umass.edu>
5286
5287 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
5288
94e001a9
AS
52892003-03-18 Andreas Schwab <schwab@suse.de>
5290
5291 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
5292 for format.
5293
bdaa131b
JM
52942003-03-17 Jason Merrill <jason@redhat.com>
5295
5296 PR c++/10091
5297 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
5298 an unaligned member of TREE_ADDRESSABLE type.
5299
ffcfcb5f
AM
53002003-03-18 Alan Modra <amodra@bigpond.net.au>
5301
5302 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
5303 (TARGET_PROFILE_KERNEL): Define.
5304 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
5305 (PROFILE_BEFORE_PROLOGUE): Don't define.
5306 (PROFILE_KERNEL): Remove hacks.
5307 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
5308 (rs6000_stack_info): No need to save lr if just for profiling when
70e1b8fc
AM
5309 TARGET_PROFILE_KERNEL.
5310 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
ffcfcb5f
AM
5311 (output_function_profiler): Localize label generation. Emit code
5312 for kernel profiling.
5313
9b98dc74
KH
53142003-03-17 Kazu Hirata <kazu@cs.umass.edu>
5315
5316 * config/h8300/h8300-protos.h: Add a prototype for
5317 byte_accesses_mergeable_p.
5318 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
5319 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
5320 (a splitter): Likewise.
5321 (*iorsi3_ashift_16_ashift_24): Likewise.
5322 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
5323
d41c4351
KG
53242003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5325
5326 * dwarf2asm.h: Delete obsolete comment.
5327 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
5328 dw2_asm_output_pcrel, dw2_asm_output_addr,
5329 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
5330 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
5331 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
5332 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
5333
6970c06a
ZW
53342003-03-17 Zack Weinberg <zack@codesourcery.com>
5335
5336 * c-tree.h (struct lang_identifier): Remove error_locus field.
5337 (IDENTIFIER_ERROR_LOCUS): Kill.
5338 (record_function_scope_shadow): New prototype.
5339 * c-typeck.c (build_external_ref): Don't complain if
5340 decl is error_mark_node. When not at file scope, bind the
5341 decl's local value to error_mark_node to suppress further
5342 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
5343
5344 * c-decl.c (get_function_binding_level): New static function.
5345 (record_function_scope_shadow): New exported function.
5346 (c_make_fname_decl): Use get_function_binding_level.
5347
405a98aa
SE
53482003-03-17 Steve Ellcey <sje@cup.hp.com>
5349
5350 * stmt.c (tail_recursion_args): Call promote_mode to set
5351 unsignedp flag correctly before calling convert_move.
5352
df86c7e2
ZD
53532003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5354
5355 * loop-unroll.c (decide_peel_completely,
5356 decide_unroll_constant_iterations, decide_unroll_stupid,
5357 decide_unroll_runtime_iterations, decide_peel_simple): Set
5358 loop->has_desc.
5359
62c9aa5f 53602003-03-17 Jan Hubicka <jh@suse.cz>
dbccdc42
JH
5361
5362 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
5363
b36a8cc2
OH
53642003-03-17 Olivier Hainque <hainque@act-europe.fr>
5365
5366 * function.c (assign_parms): For a struct value address passed as
5367 first argument, delay the function's result RTL setup code until
5368 after the emission of parameter conversions.
6970c06a 5369
94833648
DL
53702003-03-17 Dave Love <fx@gnu.org>
5371 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
aeefc21d
DL
5372
5373 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
5374 __arch64__ to match Compaq cc.
5375
783e2989
NB
53762003-03-17 Neil Booth <neil@daikokuya.co.uk>
5377
5378 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
5379 (c_common_init): Set EBCDIC in cpp options.
5380 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
5381 not conditional compilation.
5382 * cpplib.h (struct cpp_options): New entry EBCDIC.
5383
72ecfc60
NB
53842003-03-17 Neil Booth <neil@daikokuya.co.uk>
5385
5386 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
5387
47009d11
MH
53882003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5389
5390 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
5391 argument to 0 for redirect_jump.
47009d11 5392
bafb714b
MM
53932003-03-16 Mark Mitchell <mark@codesourcery.com>
5394
5395 PR c++/8805
5396 * except.c (eh_region_u_cleanup): Add prev_try.
5397 (expand_eh_region_end_cleanup): Set it.
5398 (reachable_handlers): Use it to skip over cleanup blocks.
5399
30492adf
AJ
54002003-03-17 Andreas Jaeger <aj@suse.de>
5401
5402 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
5403
7b3464ee
AM
54042003-03-17 Alan Modra <amodra@bigpond.net.au>
5405
5406 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
5407 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
5408 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
5409 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
5410
4f5c0f7e
RH
54112003-03-16 Richard Henderson <rth@redhat.com>
5412
6970c06a
ZW
5413 * simplify-rtx (simplify_binary_operation): Don't abort for
5414 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
4f5c0f7e 5415
3c298c88
RH
54162003-03-16 Richard Henderson <rth@redhat.com>
5417
6970c06a
ZW
5418 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
5419 optimize_size as well.
3c298c88 5420
fe91bac5
SC
54212003-03-16 Stephane Carrez <stcarrez@nerim.fr>
5422
5423 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
5424 for D register to specify the low part of it, aka B.
5425 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
5426 the register if we are loading 1 or -1 to it; avoid using temp
5427 register when moving X/Y to Y/X.
5428 (m68hc11_gen_movqi): Likewise.
5429 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
5430
ddc67067
MM
54312003-03-14 Mark Mitchell <mark@codesourcery.com>
5432
5433 PR optimization/9016
5434 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
5435 into the constant pool.
5436
0a71919d
FH
54372003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
5438
5439 PR target/9164
5440 * tree.c (get_narrower): For extensions with unchanged bit number,
5441 return the unsignedness of the outer mode.
5442
46ea50cb
RS
54432003-03-16 Roger Sayle <roger@eyesopen.com>
5444
5445 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
5446 to avoid "may be used uninitialized" warning on ia64-hpux.
5447 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
5448
012c387f
AJ
54492003-03-16 Andreas Jaeger <aj@suse.de>
5450
5451 * configure.in: Improve check for memcheck.h.
5452 * configure: Regenerated.
5453
7d1c4aae
NB
54542003-03-16 Neil Booth <neil@daikokuya.co.uk>
5455
5456 * doc/cppopts.texi: Remove documentation of -A-.
5457
e20798d1
ZW
54582003-03-15 Zack Weinberg <zack@codesourcery.com>
5459
5460 * doc/libgcc.texi: Remove @tie.
5461
4af16369
JZ
54622003-03-15 Josef Zlomek <zlomekj@suse.cz>
5463
5464 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
5465 (rtx_pair): Added new element update_label_nuses, renamed to
5466 replace_label_data.
5467 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
5468 replace_label_data instead of rtx_pair.
5469 * loop.c (load_mems): Likewise.
5470 * rtlanal.c (replace_label): Replace label in pool constants and in
5471 INSN_LIST (in REG_LABEL note).
5472 (subrtx_p): Renamed to rtx_referenced_p.
5473 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
5474 LABEL_REF with CODE_LABEL, traverse constants from pool.
5475
d2184e79
AH
54762003-03-15 Aldy Hernandez <aldyh@redhat.com>
5477 Zack Weinberg <zack@codesourcery.com>
5478
5479 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
5480 * doc/libgcc.texi: New file.
5481 * doc/interface.texi: Delete paragraph about libgcc interface.
5482 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
5483
8cadae7e
JM
54842003-03-15 Jason Merrill <jason@redhat.com>
5485
ae0e5982
JM
5486 PR debug/9039
5487 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
5488
8cadae7e
JM
5489 PR debug/6387
5490 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
5491 function DIEs at toplevel.
5492 (decls_for_scope): At -g1, don't descend into subblocks.
5493
2436a91b
UW
54942003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
5495
5496 * varasm.c (struct rtx_const): Change type of un.addr member
5497 to struct holding an additional 'symbol' member.
5498 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
5499 with equal string addresses as equal.
5500 (simplify_subtraction): Adapt to struct rtx_const change.
5501
151c68c3
NB
55022003-03-15 Neil Booth <neil@daikokuya.co.uk>
5503
5504 * fix-header.c (read_scan_file): Read main file before handling -D.
5505
6a87d634
RS
55062003-03-15 Roger Sayle <roger@eyesopen.com>
5507
5508 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
5509 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
5510 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
5511 (find_sub_basic_blocks): Likewise.
5512 * cgraphunit.c (cgraph_expand_functions): Likewise.
5513 * dwarf2out.c (prune_unused_types): Likewise.
5514 * expr.c (store_field): Likewise.
5515 * genextract.c (print_path): Likewise.
5516 * haifa-sched.c (schedule_insn): Likewise.
5517 * lcm.c (compute_antinout_edge): Likewise.
5518 * loop-unroll.c (decide_peel_once_rolling): Likewise.
5519 * ra-colorize.c (ra_colorize_free_all): Likewise.
5520 * ra-debug.c (dump_igraph): Likewise.
5521 (debug_hard_reg_set): Likewise.
5522 * reg-stack.c (reg_to_stack): Likewise.
5523 * rtlanal.c (refers_to_regno_p): Likewise.
5524 * tracer.c (layout_superblocks): Likewise.
5525
49c46444
NB
55262003-03-15 Neil Booth <neil@daikokuya.co.uk>
5527
5528 * fix-header.c (read_scan_file): Fix thinko.
5529
1fe668e5
GN
55302003-03-15 Glen Nakamura <glen@imodulo.com>
5531
5532 * reload1.c (choose_reload_regs): Use && instead of ||
5533 with REG_CANNOT_CHANGE_MODE_P condition.
5534
c1bad961
NB
55352003-03-15 Neil Booth <neil@daikokuya.co.uk>
5536
5537 * Makefile.in: Update.
5538 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
5539 * c-lex.c (init_c_lex): Register builtins hook is dead.
5540 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
5541 (c_common_decode_option): Don't call cpp_handle_option.
5542 Handle -A, -D and -U.
5543 (handle_deferred_opts): Simplify.
5544 (finish_options): Define builtins and command line macros.
5545 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
5546 * cppinit.c: Don't include intl.h.
5547 (init_builtins): Rename cpp_init_builtins. No hook to call.
5548 (init_library): Don't need to sort options.
5549 (cpp_create_reader): Don't set pending.
5550 (cpp_destroy): Don't free pending.
5551 (struct pending_option, cl_directive_handler, struct cpp_pending,
5552 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
5553 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
5554 cl_options, cpp_handle_option): Remove.
5555 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
5556 cpp_finish_options): Remove.
5557 (cpp_init_builtins): New.
5558 * fix-header.c (read_scan_file): Update to handle -D. Fix
5559 handling of -I. Replace call to cpp_finish_options.
5560
d8eed979
MH
55612003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5562
5563 PR optimization/9387
5564 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
5565 for conditional returns.
5566
af75fb67
JM
55672003-03-14 Jason Merrill <jason@redhat.com>
5568
5569 PR optimization/6871
5570 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
5571
255c10b1
NB
55722003-03-14 Neil Booth <neil@daikokuya.co.uk>
5573
5574 * c-opts.c (finish_options): New.
5575 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
5576 (missing_arg): Handle OPT_include and OPT_imacros.
5577 (c_common_init, c_common_parse_file): Use finish_options.
5578 (handle_deferred_opts): Update.
5579 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
5580 (cpp_finish_options): Don't handle -imacros here.
5581 (no_fil): Remove.
5582 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
5583
027fbf43
JJ
55842003-03-14 Jakub Jelinek <jakub@redhat.com>
5585
5586 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
5587 rs6000_maybe_dead if !fromprolog.
5588
23345bbb
NB
55892003-03-14 Neil Booth <neil@daikokuya.co.uk>
5590
5591 * Makefile.in: Update.
5592 * c-common.h (fe_file_change, pp_file_change): New.
5593 * c-lex.c (init_c_lex): Don't set cb_file_change.
5594 (c_common_parse_file): Move to c-opts.c.
5595 (cb_file_change): Rename fe_file_change.
5596 * c-opts.c: Include debug.h.
5597 (warn_unused_macros, include_cursor): New.
5598 (push_command_line_include, cb_file_change): New.
5599 (COMMAND_LINE_OPTIONS): Handle -include.
5600 (c_common_decode_option): Use local warn_unused_macros.
5601 Handle OPT_include.
5602 (c_common_post_options): Set file change callback.
5603 (handle_deferred_opts): Skip -include. Don't free the array.
5604 (c_common_init): Call cpp_finish_options here, and push an
5605 initial -include file.
5606 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
5607 (preprocess_file): Don't call cpp_finish_options.
5608 (init_pp_output): Don't set the file change callback.
5609 (pp_file_change): Return if no line commands or no output.
5610 * cpphash.h (next_include_file, first_unused_line): Remove.
5611 * cppinit.c (include_head, include_tail): Remove.
5612 (cpp_destroy): Don't free -include chain.
5613 (cpp_finish_options): Don't handle -include, or worry about
5614 -Wunused-macros.
5615 (_cpp_maybe_push_include_file): Remove.
5616 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
5617 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
5618 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
5619 Used flag is set based upon the state of the warn_unused_macros
5620 flag, and so use of first_unused_line is unnecessary.
5621
62c9aa5f 56222003-03-13 Jan Hubicka <jh@suse.cz>
cd648cec
JH
5623
5624 * cselib.c (clear_table): Do not take argument; always clear just
5625 used slots.
5626 (cselib_process_insn): Update call of clear_table
5627 (cselib_init): Do not call clear_table.
5628 (cselib_finish): Clear table.
5629
5630 * cse.c (count_reg_usage): Do not check side_effects_p.
5631 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
5632 like noop.
5633 (find_reg_equal_equiv_note): Do not use find_reg_note.
5634
35d9c403
RH
56352003-03-14 Richard Henderson <rth@redhat.com>
5636
5637 PR target/9700
1fe668e5 5638 * config/alpha/alpha.c (alpha_va_start): Account for
35d9c403
RH
5639 current_function_pretend_args_size in the AP offset.
5640
5641 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
5642 (INITIAL_ELIMINATION_OFFSET): Move out of line.
5643 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
5644 (alpha_initial_elimination_offset) New.
5645 * config/alpha/alpha-protos.h: Update.
5646
f43f4314
JJ
56472003-03-14 Jakub Jelinek <jakub@redhat.com>
5648
5649 * stmt.c (expand_start_case): Call emit_queue ().
5650
35d9c403
RH
56512003-03-14 Chris Demetriou <cgd@broadcom.com>
5652 Alexandre Oliva <aoliva@redhat.com>
a0a89ed0
CD
5653
5654 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
5655 words in new abis.
5656
f650843f
EB
56572003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
5658
5659 PR optimization/8396
5660 * tree-inline.c (initialize_inlined_parameters): Make sure the value
5661 of read-only constant arguments is passed with the right type.
5662
a721a601
SB
56632003-03-14 Steven Bosscher <steven@gcc.gnu.org>
5664
5665 * doc/extend.texi (Function Names): Make the example compilable.
5666
a12f8290
DE
56672003-03-13 David Edelsohn <edelsohn@gnu.org>
5668
5669 * config/rs6000/rs6000.c (processor_target_table): Really allow
5670 GP optional instructions on Power4.
5671
56722003-03-13 Roger Sayle <roger@eyesopen.com>
36dbb93d
RS
5673
5674 * calls.c (flags_from_decl_or_type): Factor and remove redundant
5675 conditional tests.
5676
c4775f82
MS
56772003-03-13 Mike Stump <mrs@apple.com>
5678
5679 * ggc-page.c (struct page_entry): Remove varray.h header.
5680 Add index_by_depth field.
5681 Remove save_in_use_p field.
5682 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
5683 by_depth_max, by_depth, and save_in_use fields.
5684 (INITIAL_PTE_COUNT): Add.
5685 (save_in_use_p_i): Add.
5686 (save_in_use_p): Add.
5687 (adjust_depth): Add.
5688 (move_ptes_to_front): Add.
5689 (push_depth): Add.
5690 (push_by_depth): Add.
5691 (prefetch): Add.
5692 (free_page): Add support for and use faster data structures.
5693 (ggc_alloc): Likewise.
5694 (init_ggc): Likewise.
5695 (ggc_recalculate_in_use_p): Likewise.
5696 (ggc_pop_context): Likewise.
5697 (clear_marks): Likewise.
5698 (ggc_pch_read): Likewise.
5699 * Makefile.in (ggc-page.o): Remove varray.h.
5700
3bed2930
NN
57012003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
5702
7210d5ae
NN
5703 * ChangeLog: Rotated last year's entries to...
5704 * ChangeLog.8: New.
5705
1fe668e5 5706 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
3bed2930
NN
5707 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
5708 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
5709 config/ia64/ia64-protos.h, config/ia64/ia64.c,
5710 config/ia64/ia64.h, config/ia64/ia64.md,
5711 config/ia64/itanium1.md, config/ia64/itanium2.md,
5712 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
5713 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
5714
3bd104d1
AH
57152003-03-13 Aldy Hernandez <aldyh@redhat.com>
5716
d2184e79
AH
5717 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
5718 Differentiate endianness.
5719 (s6000_override_options): Use cpu type instead of TARGET_SPE.
3bd104d1 5720
2ed0b52a
NC
57212003-03-13 Nick Clifton <nickc@redhat.com>
5722
b17fe233 5723 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
d2184e79
AH
5724 LDM instructions with writeback enabled.
5725 (output_return_instruction): Likewise.
b17fe233 5726
2ed0b52a
NC
5727 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
5728 (CALL_USED_REGISTERS): Remove definition.
5729 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
5730
f1384257
AM
57312003-03-13 Alan Modra <amodra@bigpond.net.au>
5732
5733 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
5734 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
5735 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
5736 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
5737 (rs6000_legitimize_address): Formatting.
5738 (rs6000_emit_move): Likewise.
5739 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
5740 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
5741 (rs6000_elf_select_section): Comment reason for shlib being
5742 set for ABI_AIX.
5743 (rs6000_elf_unique_section): Likewise.
5744 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
5745 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
5746 as well as flag_pic.
5747 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
5748 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
5749 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
5750
599aedd9
RH
57512003-03-13 Richard Henderson <rth@redhat.com>
5752
5753 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
5754
5755 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5756 (ia64_gp_save_reg): Remove.
5757 (struct ia64_frame_info): Move to the beginning of the file;
5758 add reg_save_gp.
5759 (ia64_expand_call): Rearrange for new call patterns.
5760 (ia64_reload_gp): New.
5761 (ia64_split_call): New.
5762 (ia64_compute_frame_size): Allocate reg_save_gp.
5763 (ia64_expand_prologue): Save reg_save_gp.
5764 (ia64_expand_epilogue): Don't restore gp.
5765 (ia64_hard_regno_rename_ok): Remove R4 hack.
5766 (ia64_function_ok_for_sibcall): New.
1fe668e5 5767 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
599aedd9
RH
5768 call try_split on sibcall pattern.
5769 * config/ia64/ia64-protos.h: Update.
5770 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
5771 Rename from nopic versions. Confiscate 2nd argument to call as
5772 a marker.
5773 (call_pic, call_value_pic, sibcall_pic): Remove.
5774 (call_gp, call_value_gp, sibcall_gp): New.
5775 (builtin_setjmp_setup): Remove.
5776 (builtin_setjmp_receiver): Call ia64_reload_gp.
5777
e7d9d16b
NN
57782003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
5779
1fe668e5 5780 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2ff8f7ac
NN
5781 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
5782 "GNU CC" with "GCC".
5783
4db9c756
NN
5784 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
5785 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
5786 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
5787 GCC, not GNU CC.
5788
63b025a5
NN
5789 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
5790 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
5791
54a7b573
NN
5792 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
5793 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
5794 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
5795 "GNU CC" with "GCC".
5796
301ee2f3
NN
5797 * config/v850/lib1funcs.asm, config/v850/rtems.h,
5798 config/v850/v850-c.c, config/v850/v850-protos.h,
5799 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
5800 GCC, not GNU CC.
5801
e7d9d16b
NN
5802 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
5803 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
5804 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
5805 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
5806 GNU CC.
5807
93c98498
BK
58082003-03-12 Benjamin Kosnik <bkoz@redhat.com>
5809
5810 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
5811
e531258e
NN
58122003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
5813
706ae11c
NN
5814 * fixinc/fixinc.interix: Remove dead code (most of it).
5815 * fixinc/fixinc.dgux: Remove.
5816
e531258e
NN
5817 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
5818 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
5819
eab9e742
JDA
58202003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5821
5822 * pa.c (pa_init_builtins): Fix warning.
5823
03d0dce1
SE
58242003-03-12 Steve Ellcey <sje@cup.hp.com>
5825
5826 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
5827 (ASM_OUTPUT_XDATA_SHORT): Remove.
5828 (ASM_OUTPUT_XDATA_INT): Remove.
5829 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
5830 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
5831 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
5832 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
5833
847311f4
AL
58342003-03-12 Andrew Lewycky <andrew@mxc.ca>
5835
5836 PR c++/7050
5837 * expr.c (store_expr): Don't attempt to store void-typed trees,
5838 just evaluate them for side effects.
5839
c19b12cb
NB
58402003-03-12 Neil Booth <neil@daikokuya.co.uk>
5841
5842 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
5843 * cppinit.c (push_include): Move with changes to cppfiles.c.
5844 (cpp_read_main_file): Mark named operators here...
5845 (cpp_finish_options): ...not here. Update.
5846 (_cpp_maybe_push_include_file): Update.
5847 * cpplib.h (cpp_push_include, cpp_rename_file): New.
5848
ad9c4d9f
NN
58492003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
5850
847311f4
AL
5851 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
5852 _gcc_COMPUTE_GAS_VERSION.
5853 * configure.in: Use them.
5854 * configure: Regenerate.
ad9c4d9f 5855
8d49831d
BW
58562003-03-12 Bob Wilson <bob.wilson@acm.org>
5857
d2184e79 5858 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
8d49831d 5859 to detect carry.
d2184e79 5860 (subdi3): Reorder emitted instructions.
8d49831d 5861
bfa2615f
AJ
58622003-03-12 Andreas Jaeger <aj@suse.de>
5863
5864 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
5865 NETBSD_OS_CPP_BUILTINS_LP64.
5866
73458fb7
NN
58672003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
5868
5869 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
5870 Rearrange. Reorganize.
5871 * configure.in: Rearrange.
5872 * configure: Regenerate.
5873
00530a21
AJ
58742003-03-12 Andreas Jaeger <aj@suse.de>
5875
d2184e79
AH
5876 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
5877 LP64 targets.
00530a21 5878
d2184e79
AH
5879 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
5880 _LP64.
00530a21 5881
d2184e79
AH
5882 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
5883 _LP64 macros here.
5884 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
00530a21 5885
d2184e79
AH
5886 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
5887 NETBSD_OS_CPP_BUILTINS_LP64.
5888 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
5889 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
00530a21 5890
d2184e79 5891 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
00530a21 5892
62c9aa5f 58932003-03-12 Jan Hubicka <jh@suse.cz>
5474eed5
JH
5894
5895 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
5896
8c35a61a 58972003-03-12 Daniel Jacobowitz <drow@mvista.com>
59a7f9bf
DJ
5898
5899 Fix PR target/9797 and PR c/9853.
5900 * stmt.c (expand_decl_init): Call push_temp_slots () and
5901 pop_temp_slots ().
5902
62c9aa5f 59032003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
1aa03f38
R
5904
5905 * sh.c: Include basic-block.h.
5906 (sh_output_mi_thunk, emit_load_ptr): New functions.
5907 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
5908
6f8c9bd1
NC
59092003-03-12 Nick Clifton <nickc@redhat.com>
5910
5911 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
5912 (CALL_USED_REGISTERS): Likewise.
5913 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
5914 describing how this value is calculated.
5915
b2522d2b
HPN
59162003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
5917
5918 * configure.in (rlim_t): Define to long if no valid definition
5919 found in sys/resource.h.
5920 * config.in, configure: Regenerate.
5921
f7248b51
NB
59222003-03-12 Neil Booth <neil@daikokuya.co.uk>
5923
5924 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
5925 TARGET_OS_CPP_BUILTINS.
5926 * config/mcore/mcore-pe.h: Similarly.
5927 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
5928 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
5929
8a7d6cb3
EB
59302003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
5931
5932 PR c/9928
5933 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
5934 only if it is a VAR_DECL.
5935
db1077d3
EB
59362003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
5937
5938 PR optimization/9888
5939 * config/i386/i386.md (jcc_1): Fix range.
5940 (jcc_2): Likewise.
5941 (jump): LIkewise.
5942 (doloop_end_internal): Likewise.
5943
6ca23bff 59442003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
1fe668e5 5945
6ca23bff
DS
5946 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
5947 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
5948 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
5949 DLL_IMPORT_EXPORT_PREFIX and "i."
5950 (i386_pe_dllexport_name_p): Here.
5951 (i386_pe_dllimport_name_p): Here.
d2184e79 5952 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
6ca23bff
DS
5953 not 9 chars when getting identifier name.
5954 (i386_pe_mark_dllimport): Here.
5955 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
5956 not 9 chars when getting identifier name. Correct comment.
5957 (i386_pe_strip_name_encoding): Here. Add comments for different
5958 cases.
5959 (gen_fastcall_suffix): Break down xmalloc() argument to
5960 components.
5961 (gen_stdcall_suffix): Likewise.
5962 Update copyright year.
5963
9b73c90a
EB
59642003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
5965
5966 PR optimization/9888
5967 * config/i386/i386.md (movsi_1): Remove special alternatives
5968 for %eax register.
5969 (movsi_1_nointernunit): Likewise.
5970 (movhi_1): Likewise.
5971 * config/i386/i386.c (memory_address_length): Do not use
5972 short displacement when there is no base.
5973 (ix86_attr_length_address_default): Handle LEA instructions.
5974
21282b1e
NB
59752003-03-12 Neil Booth <neil@daikokuya.co.uk>
5976
5977 * c-cppbuiltin.c (builtin_define_std): Make non-static.
5978
7358f10d
LR
59792003-03-11 Loren James Rittle <ljrittle@acm.org>
5980
5981 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
5982 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
5983 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
5984 * config/freebsd.h (CPP_PREDEFINES): Remove.
5985 (TARGET_OS_CPP_BUILTINS): New.
5986 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
5987 instead of TARGET_OS_CPP_BUILTINS.
5988 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
5989
d00bc0a2
GK
59902003-03-11 Geoffrey Keating <geoffk@apple.com>
5991
5992 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
5993
9b7b447f
AH
59942003-03-11 Aldy Hernandez <aldyh@redhat.com>
5995
d2184e79
AH
5996 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
5997 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9b7b447f 5998
d2184e79 5999 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9b7b447f 6000
62c9aa5f 60012003-03-11 Alexandre Oliva <aoliva@redhat.com>
18a47d21
AO
6002
6003 * toplev.c (independent_decode_option): Return success for --help,
6004 --target-help and --version.
6005
62c9aa5f 60062003-03-11 Alexandre Oliva <aoliva@redhat.com>
c0a579df
AO
6007
6008 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
6009 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
6010 specified.
6011 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
6012 DRIVER_SELF_SPECS.
6013 (LINK_SPEC): Let endian options affect the linker emulation name.
6014
62c9aa5f 60152003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
ea45c4b0
R
6016
6017 * sh.md (reload_inqi): Fix mode for source in second set.
6018
62c9aa5f 60192003-03-11 Jan Hubicka <jh@suse.cz>
7101fb18
JH
6020
6021 * cselib.c (cselib_invalidate_mem_1): Move too ...
6022 (cselib_invalidate_mem): ... here; use new list
6023 (dummy_val, first_containing_mem): New static variables.
6024 (clear_table): Initialize first_containing_mem.
6025 (discard_useless_values): Compact the containing_mem list.
6026 (add_mem_for_addr): Add to the list.
6027 * cselib.h (cselib_val): Add next_containing_mem.
6028
b5044283
AH
60292003-03-11 Aldy Hernandez <aldyh@redhat.com>
6030
d2184e79
AH
6031 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
6032 instructions for e500.
b5044283 6033
cd6a5007
NB
60342003-03-11 Neil Booth <neil@daikokuya.co.uk>
6035
6036 * Makefile.in: Update.
6037 * c-cppbuiltin.c: Include tm_p.h.
6038
41f3a930
AH
60392003-03-11 Aldy Hernandez <aldyh@redhat.com>
6040
d2184e79 6041 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
41f3a930 6042
d2184e79
AH
6043 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
6044 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
6045 (_Unwind_SetGR): Same.
6046 (_Unwind_GetGRPtr): New.
6047 (_Unwind_SetGRPtr): New.
6048 (uw_update_context_1): Use accesor functions instead of accessing
6049 context->reg[] directly.
6050 (uw_install_context_1): Same.
6051 (execute_cfa_program): Same.
6052 (__frame_state_for): Same.
41f3a930 6053
d2184e79
AH
6054 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
6055 the synthetic register offset.
41f3a930 6056
d2184e79 6057 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
41f3a930 6058
d2f55c5c
HPN
60592003-03-11 Hans-Peter Nilsson <hp@axis.com>
6060
6061 * config/cris/cris.md: Remove lingering EGCS reference.
6062 ("*extopqihi_side_biap"): For HI operation, match
6063 cris_additive_operand_extend_operator, not
6064 cris_operand_extend_operator. Adjust condition.
6065 ("*extopqihi_side", "*extopqihi"): Ditto.
6066 ("*extopqisi_side_biap"): Correct operand numbers in condition.
6067 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
6068 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
6069 ("*extophisi_swap"): Ditto.
6070 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
6071 PLUS, not cris_operand_extend_operator. Adjust condition and
6072 output template.
6073 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
6074 * config/cris/cris.h (PREDICATE_CODES): Add
6075 cris_additive_operand_extend_operator.
6076 * config/cris/cris.c (cris_additive_operand_extend_operator):
6077 New predicate.
6078
37bd08f8
HP
60792003-03-11 Hartmut Penner <hpenner@de.ibm.com>
6080
6081 * df.c (read_modify_subreg_p): Change from static to global.
6082 * df.h (read_modify_subreg_p): Add prototype.
6083 * sched-deps.c (sched_analyze_1): Generate true dependency for
1fe668e5 6084 strict_low_part, certain subregs and zero/sign_extract.
37bd08f8 6085
cb60f38d
NB
60862003-03-11 Neil Booth <neil@daikokuya.co.uk>
6087
6088 * Makefile.in: Update.
6089 * c-common.c: Don't include real.h or except.h.
6090 (REGISTER_PREFIX): Remove.
6091 (builtin_define_std, builtin_define_with_value,
6092 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
6093 builtin_define_type_max, builtin_define_type_precision,
6094 builtin_define_float_constants): Move to c-cppbuiltin.c.
6095 (c_stddef_cpp_builtins): New.
6096 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
6097 * c-cppbuiltin.c: New, extracted from c-common.c.
6098 (define__GNUC__): New.
6099 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
6100 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
6101 (cpp_unique_options): Don't support no-gcc.
6102 (do_spec_1): Remove support of version specs.
6103 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
6104 * doc/passes.texi: Update.
6105 * doc/tm.texi: Update.
6106
31ca3635
AH
61072003-03-10 Aldy Hernandez <aldyh@redhat.com>
6108
d2184e79 6109 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
31ca3635 6110
ab82a49f
AP
61112003-03-10 Andrew Pinski <apinski@apple.com>
6112
6113 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
6114 is on should not get here.
6115 (machopic_indirect_data_reference): If dynamic-no-pic is on just
6116 generate high/low parts of the address.
6117 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
6118 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
6119 symbol and labels with a new reg. Dynamic-no-pic does not have a
6120 pic_offset_table_rtx.
6121 (machopic_select_section): Change references of flag_pic to
1fe668e5 6122 MACHOPIC_INDIRECT.
ab82a49f
AP
6123 (machopic_asm_out_destructor): Likewise.
6124 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
6125 reference of flag_pic to MACHOPIC_INDIRECT.
6126 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
6127 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
6128 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
6129 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
6130 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
6131 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
6132 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
6133 (TARGET_DYNAMIC_NO_PIC): Define.
6134 (SUBTARGET_SWITCHES): Define, have sub-target switches for
1fe668e5 6135 dynamic-no-pic.
ab82a49f
AP
6136 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
6137 rs6000_override_options to here. Dynamic-no-pic overrides
6138 pic.
6139 (CC1_SPEC): Change from not static then pic to not static and not
6140 dynamic-no-pic then pic.
6141 * config/rs6000/rs6000.c (rs6000_override_options): Move the
6142 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
6143 (rs6000_legitimize_reload_address): Add case for loading floating in
6144 dynamic-no-pic.
6145 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
6146 of flag_pic to MACHOPIC_INDIRECT.
6147 (secondary_reload_class): Conditional change the reference of
6148 flag_pic to MACHOPIC_INDIRECT.
6149 (rs6000_output_mi_thunk): Change reference of flag_pic to
6150 MACHOPIC_INDIRECT.
6151 (output_profile_hook): Likewise.
6152 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
6153 * config/rs6000/rs6000.md (movdf_low): Add the case for
6154 MACHO_DYNAMIC_NO_PIC_P.
6155 (call): Change references for flag_pic in TARGET_MACHO to
6156 MACHOPIC_INDIRECT.
6157 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
6158 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
6159 * doc/invoke.texi (-mdynamic-no-pic): Document.
87d7d780
DP
6160
61612003-03-10 Devang Patel <dpatel@apple.com>
1fe668e5 6162
87d7d780
DP
6163 PR c++/9394
6164 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
6165 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
6166 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
6167 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
6168 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
6169 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
1fe668e5 6170
6b856d15
SB
61712003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
6172
6173 PR optimization/7189
6174 * toplev.c (rest_of_compilation): Move
6175 check_function_return_warnings up to just after
6176 delete_unreachable_blocks.
6177
2d8d15b7
SC
61782003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6179
6180 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
6181 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
6182 Declare.
6183 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
6184 for reg rename optimization to avoid using Z and Y registers.
6185
0e01d661
SC
61862003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6187
6188 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
6189 when adding to X and Y since leax/leay are fast.
6190 ("*addhi3"): Accept 'I' constraint when adding to address register.
6191 ("rotlhi3"): Operand 1 must be a register_operand.
6192 (peephole2): New peephole to optimize some adds.
6193 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
6194 to represent -2 .. 2 small integer range.
6195
ae5b570e
SC
61962003-03-10 Stephane Carrez <stcarrez@nerim.fr>
6197
6198 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
6199 each 16-bit rotation.
6200
52999738
ZW
62012003-03-10 Zack Weinberg <zack@codesourcery.com>
6202
6203 * c-opts.c (add_prefixed_path): Don't use concat. When
6204 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
6205 cpp_GCC_INCLUDE_DIR_len characters.
6206
5c242421
SB
62072003-03-10 Segher Boessenkool <segher@koffie.nl>
6208
52999738 6209 * testsuite/gcc.dg/altivec-9.c: New file.
5c242421 6210
52999738
ZW
6211 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
6212 (rs6000_emit_prologue): Use rs6000_frame_related instead.
5c242421 6213
b4053702
AH
62142003-03-10 Aldy Hernandez <aldyh@redhat.com>
6215
52999738
ZW
6216 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
6217 vectors.
6218 (__ev_convert_u64): Remove macro. Define as inline.
6219 (__ev_convert_s64): Same.
b4053702 6220
c19de7aa
AH
62212003-03-10 Aldy Hernandez <aldyh@redhat.com>
6222
52999738
ZW
6223 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
6224 (rs6000_stack_t): Add spe_64bit_regs_used.
c19de7aa 6225
52999738
ZW
6226 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
6227 spe_64bit_regs_used, and use it to determine the size of the
6228 frame.
6229 (spe_func_has_64bit_regs_p): New.
6230 (spe_synthesize_frame_save): New.
6231 (rs6000_frame_related): Handle SPE synthetic registers.
6232 (rs6000_emit_prologue): Only save in 64-bits if the function used
6233 any registers in 64-bit mode.
6234 (rs6000_emit_epilogue): Same, but for restore.
c19de7aa 6235
29ad9694
RE
62362003-03-10 Richard Earnshaw <rearnsha@arm.com>
6237
6238 * arm.h (enum floating_point_type): Delete. Replace with...
6239 (enum fputype): ... new.
6240 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
6241 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
6242 * arm.md (attr fpu): Reworked for new underlying enum values.
6243 * arm.c (arm_fpu_arch): Now enum fputype.
6244 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
6245 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
6246 Update uses of arm_fpu_arch and arm_fpu_tune.
6247
39811184
JZ
62482003-03-10 Josef Zlomek <zlomekj@suse.cz>
6249
52999738 6250 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
39811184
JZ
6251 (try_crossjump_to_edge): Replace refereces to one jump table by
6252 references to identical jump table.
6253 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
6254 (replace_label): Moved to rtlanal.c.
6255 (struct rtx_pair): Moved to rtl.h.
52999738 6256 * rtl.h (struct rtx_pair): Moved from loop.c.
39811184
JZ
6257 (replace_label): New extern function.
6258 (subrtx_p): New extern function.
6259 (tablejump_p): New extern function.
52999738 6260 * rtlanal.c (replace_label): Moved from loop.c.
39811184
JZ
6261 (subrtx_p_1): New static function.
6262 (subrtx_p): New function.
6263 (tablejump_p): New function.
6264
62c9aa5f 62652003-03-10 Jan Hubicka <jh@suse.cz>
ec3ae3da 6266
912b79e7
JH
6267 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
6268
ec3ae3da
JH
6269 * cfgcleanup.c (merge_blocks): Return where to iterate next.
6270 (try_optimize_cfg): Use return value of merge_blocks
6271
e0fd3e7a
MM
62722003-03-10 Michael Matz <matz@suse.de>
6273
6274 * cfg.c (unchecked_make_edge): New.
6275 (cached_make_edge): Use it.
6276 * basic-block.h (unchecked_make_edge): Declare.
6277 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
6278
82955615
RE
62792003-03-10 Richard Earnshaw <rearnsha@arm.com>
6280
6281 * fpa.md: New file. Move all patterns relating to FPA co-processor
6282 to here...
6283 * arm.md: ... from here.
6284 (cirrus.md, fpa.md): Include at end of description.
6285 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
6286 (pic_load_addr_based): Remove register constraint from expander.
6287 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
6288 (sordered, sungt, sunle, sunge, sunlt): Likewise.
6289 (eh_epilogue, tablejump): Likewise.
6290
22672fc4
RK
62912003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6292
6293 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
6294 on operands if it has a PLACEHOLDER_EXPR.
6295
f7b3ab8a
DE
62962003-03-09 David Edelsohn <edelsohn@gnu.org>
6297 Mostafa Hagog
6298
6299 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
6300 condition.
6301
cc956ba2
NB
63022003-03-09 Neil Booth <neil@daikokuya.co.uk>
6303
6304 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
6305 * config/ip2k/ip2k.h: Similarly.
6306 * config/m32r/m32r.h: Similarly.
6307 * config/m68hc11/m68hc11.h: Similarly.
6308 * config/mn10200/mn10200.h: Similarly.
6309 * config/mn10300/mn10300.h: Similarly.
6310 * config/pdp11/pdp11.h: Similarly.
6311 * config/v850/v850.h: Similarly.
6312 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
6313 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
6314 * config/mips/iris3.h: Remove #if 0 block.
6315
63162003-03-09 Roger Sayle <roger@eyesopen.com>
6317 Joern Rennecke <joern.rennecke@superh.com>
6318
6319 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
6320 pending argument upon return from handle_braces here.
6321 (do_spec_2): Instead handle it upon return from do_spec_1 here.
6322
6544fbcb
RS
63232003-03-09 Roger Sayle <roger@eyesopen.com>
6324 Joern Rennecke <joern.rennecke@superh.com>
6325
6326 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
6327 pending argument upon return from handle_braces here.
6328 (do_spec_2): Instead handle it upon return from do_spec_1 here.
6329
e1a04212
FS
63302003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6331
6332 * varasm.c (make_decl_one_only): Use declare_weak().
6333
4677862a
JDA
63342003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6335
6336 PR middle-end/9986
6337 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
6338 after the common builtins.
6339 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
6340 * pa.c (TARGET_INIT_BUILTINS): Define.
6341 (pa_init_builtins): New function.
6342
6343 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
6344 space has been allocated for the outgoing arguments, set the arg
6345 pointer for a call emitted after virtuals have been instantiated
6346 using the stack pointer offset, otherwise abort.
6347
2de12bc4
DD
63482003-03-09 DJ Delorie <dj@redhat.com>
6349
6350 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
6351
17136dde
RE
63522003-03-09 Richard Earnshaw <rearnsha@arm.com>
6353
6354 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
6355 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
6356 conversion to integer.
6357 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
6358
f937d5e6
RS
63592003-03-09 Roger Sayle <roger@eyesopen.com>
6360
6361 * builtins.def: Fix typo and improve grammar.
6362 * loop-unroll.c (decide_peel_completely): Tidy log message.
6363
c5979bc6
KH
63642003-03-09 Kazu Hirata <kazu@cs.umass.edu>
6365
6366 * config/h8300/h8300.md (*tstsi_upper_bit): New.
6367 (*iorsi3_e2f): Likewise.
6368
4f4ebda3
KH
63692003-03-08 Kazu Hirata <kazu@cs.umass.edu>
6370
6371 * config/h8300/h8300.c (h8300_and_costs): Return the number of
6372 assembly instructions needed.
6373 (h8300_shift_costs): Likewise.
6374
c366ade5
HPN
63752003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
6376
02af0d9b
HPN
6377 * config/cris/aout.h (ENDFILE_SPEC): Undef.
6378
a3600c71
HPN
6379 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
6380 moves from here ...
6381 * expr.c (emit_move_insn_1): ... to here.
6382
a6e464ae
HPN
6383 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
6384 (TARGET_OS_CPP_BUILTINS): New macro.
6385 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
6386 (TARGET_OS_CPP_BUILTINS): New macro.
6387 (CPP_PREDEFINES): Don't define. Move old definitions and...
6388 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
6389 (TARGET_CPU_CPP_BUILTINS): New macro.
6390 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
6391 definitions and the optional __PIC__, __pic__ and
6392 __NO_UNDERSCORES__ definitions to...
6393 (TARGET_OS_CPP_BUILTINS): New macro.
6394
d8a25128
HPN
6395 * flags.h (flag_leading_underscore): Declare.
6396
c366ade5
HPN
6397 * c-opts.c (c_common_post_options): On fopen failure, return
6398 false, not NULL.
6399
32b0bbaa
HPN
64002003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
6401
6402 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
6403 config.h.
6404 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
6405 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
6406
ad220576
NB
64072003-03-08 Neil Booth <neil@daikokuya.co.uk>
6408
6409 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
6410 CPP_PREDEFINES.
6411 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
6412 CPP_PREDEFINES.
6413
4bfec483
NB
64142003-03-08 Neil Booth <neil@daikokuya.co.uk>
6415
6416 * c-common.h (c_common_init, c_common_post_options): Update.
6417 * c-objc-common.c (c_objc_common_init): Update for new prototype.
6418 * c-opts.c (saved_lineno): New.
6419 (c_common_post_options, c_common_init): Update prototypes,
6420 move call to cpp_read_main_file from latter to former.
6421 * c-tree.h (c_ojbc_common_init): Update.
6422 * langhooks-def.h (lhd_post_options): New.
6423 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
6424 * langhooks.c (lhd_post_options): New.
6425 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
6426 * toplev.c (no_backend): New.
6427 (process_options): Call post_options hook and set main_input_filename
6428 and input_filename here.
6429 (lang_dependent_init, do_compile): post_options hook moved to
6430 process_options.
6431 * objc/objc-act.c (objc_init): Update prototype.
6432 * objc/objc-act.h (objc_init): Update prototype.
6433
9dd04ab5
RS
64342003-03-08 Roger Sayle <roger@eyesopen.com>
6435
6436 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
6437 a complex or vector type, using a load in the original mode.
6438
62c9aa5f 64392003-03-08 Jan Hubicka <jh@suse.cz>
988d1653
JH
6440
6441 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
6442 * gt-cgraph.h: New GC file.
6443 * cgraph.c (known_fns): New static variable.
6444 (cgraph_node): Add the decl into varray.
6445
73ba39fc
HPN
64462003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
6447
6448 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
6449
3b684012
RE
64502003-03-08 Richard Earnshaw <rearnsha@arm.com>
6451
6452 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
6453 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
6454 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
6455 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
6456 All callers changed.
6457 * arm.md, arm.h, arm-protos.h: Updated.
6458
6459 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
6460 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
6461 * arm.c (arm_regno_class, f_register_operand): Updated.
6462
fa5848c7
HPN
64632003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
6464
6465 * config/cris/cris.h: Remove EGCS references.
1fe668e5 6466 (CPP_SPEC): Remove "-$".
fa5848c7
HPN
6467 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
6468
4555be98
NB
64692003-03-08 Neil Booth <neil@daikokuya.co.uk>
6470
6471 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
6472 preference to CPP_PREDEFINES.
6473
39a91264
NB
64742003-03-08 Neil Booth <neil@daikokuya.co.uk>
6475
6476 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
6477
9571a6b9
KH
64782003-03-08 Kazu Hirata <kazu@cs.umass.edu>
6479
6480 * config/h8300/h8300.md (*extzv_16_8): New.
6481
62c9aa5f 64822003-03-08 Jan Hubicka <jh@suse.cz>
18d13f34
JH
6483
6484 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
6485 * cgraph.h: (cgraph_local_info): Add can_inline_once
6486 (cgraph_global_info): Add inline_once.
6487 (cgraph_node): Add previous.
6488 (cgraph_remove_node): New.
6489 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
6490 function.
6491 (cgraph_optimize): Call it.
6492 (cgraph_finalize_function): Set inlinable flags.
6493 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
6494 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
6495 (cgraph_expand_function): Likewise.
52999738 6496 * cgraph.c
18d13f34
JH
6497 (cgraph_node): Put nodes into doubly linked chain.
6498 (cgraph_remove_node): New function.
6499 * flags.h (flag_inline_functions_called_once): Declare.
6500 * tree-inline.c: Include cgraph.h
6501 (inlinable_functions_p): Add extra argument to bypass limits.
6502 (expand_call_inline): Obey cgraph flag.
6503 * tree-inline.h (tree_inlinable_function_p): Update prototype.
6504
72b8d451
ZD
65052003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6506
6507 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
6508 irreducible loops.
6509
6510 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
6511 loops info correctly.
6512
ed97aa66
EB
65132003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
6514
6515 PR middle-end/7796
6516 * unroll.c (calculate_giv_inc): Handle constants being
6517 loaded with LSHIFTRT.
6518
d7b53ca4
DE
65192003-03-07 David Edelsohn <edelsohn@gnu.org>
6520
6521 * config/rs6000/rs6000.c (processor_target_table): Do not disable
6522 GP optional instructions on Power3, Power4, 620, and 630.
6523
3dc575ff
KH
65242003-03-07 Kazu Hirata <kazu@cs.umass.edu>
6525
6526 * calls.c: Fix comment formatting.
6527 * cfgloopanal.c: Likewise.
6528 * cfgloopmanip.c: Likewise.
6529 * combine.c: Likewise.
6530 * dwarf2out.c: Likewise.
6531 * ggc-common.c: Likewise.
6532 * langhooks.c: Likewise.
6533 * loop-unroll.c: Likewise.
6534 * loop.c: Likewise.
6535 * ra-build.c: Likewise.
6536 * sbitmap.c: Likewise.
6537 * toplev.c: Likewise.
6538
9bcd9715
JW
65392003-03-07 James E Wilson <wilson@tuliptree.org>
6540
ed97aa66 6541 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
9bcd9715 6542
6e5c4eaf
GK
65432003-03-07 Geoffrey Keating <geoffk@apple.com>
6544
6545 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
6546 support -no-integrated-cpp.
6547
6548 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
6549 than langhooks.name.
6550
50aac998
MM
65512003-03-07 Michael Matz <matz@suse.de>
6552
6553 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
6554 (DF_FOR_REGALLOC): New.
6555 * df.c (df_ref_record): Set DF_REF_STRIPPED.
6556 (read_modify_subreg_p): Simplify.
6557 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
6558 Use DF_FOR_REGALLOC.
6559 * ra.h (struct web): New member subreg_stripped.
6560 (invalid_mode_change_regs): Declare.
6561 * ra.c (invalid_mode_change_regs): New.
6562 (init_ra): Initialize it.
6563 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
6564 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
6565 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
6566 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
6567 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
6568
37f74dcf
RE
65692003-03-07 Richard Earnshaw <rearnsha@arm.com>
6570
6571 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
6572 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
6573 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
6574 machine description file from ...
6575 * cirrus.md: ... here.
6576
203b3521
KH
65772003-03-06 Kazu Hirata <kazu@cs.umass.edu>
6578
6579 * config/h8300/h8300.md (a peephole2): Don't use
6580 reg_overlap_mentioned_p.
6581
8643e92d
GK
65822003-03-06 Geoffrey Keating <geoffk@apple.com>
6583
6584 * c-pch.c: Include langhooks.h.
6585 (IDENT_LENGTH): New.
6586 (get_ident): New.
6587 (pch_ident): Delete.
6588 (pch_init): Use get_ident, IDENT_LENGTH.
6589 (c_common_valid_pch): Likewise. Also, use actual language
6590 in warning message.
6591 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
6592
6593 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
6594 c-parse.in.
6595 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
6596 gt-objc-objc-act.h.
6597 (gt-objc-objc-act.h): New rule.
6598 * objc/lang-specs.h: Support PCH.
6599 * objc/objc-act.c: Include gt-objc-objc-act.h.
6600 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
6601 (build_selector_reference_decl): Move idx out, mark for PCH.
6602 (build_class_reference_decl): Likewise.
6603 (build_objc_string_decl): Move *_idx out, mark for PCH.
6604 (build_tmp_function_decl): Move xxx out, mark for PCH.
6605
7f3d8013
DJ
66062003-03-06 Dale Johannesen <dalej@apple.com>
6607
6608 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
6609 global functions for inlining on Darwin.
6610
14484a78
VM
66112003-03-06 Vladimir Makarov <vmakarov@redhat.com>
6612
6613 * haifa-sched.c (schedule_block): Don't call reorder when sorting
6614 is prohibited.
6615
9d10c9a9
NB
66162003-03-06 Neil Booth <neil@daikokuya.co.uk>
6617
6618 * Makefile.in (c-ppoutput.o): Update.
6619 * c-common.h (init_pp_output): New.
6620 (preprocess_file): Update.
6621 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
6622 Register builtins.
6623 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
6624 Make call to cpp_read_main_file common to whether preprocessing
6625 or not. Don't register builtins.
6626 * c-ppoutput.c: Include c-pragma.h.
6627 (setup_callbacks): Rename init_pp_output.
6628 (preprocess_file): No longer setup callbacks or call
6629 cpp_read_main_file.
6630 * cpphash.h (_cpp_init_mbchar): New.
6631 * cppinit.c (init_library): Call _cpp_init_mbchar.
6632 * cpplex.c (_cpp_init_mbchar): New.
6633
37f5242b
RS
66342003-03-06 Roger Sayle <roger@eyesopen.com>
6635
6636 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
6637 MEM, try loading the MEM into a register and taking the low-part
6638 of that, to help CSE see the use of the MEM in its true mode.
6639
c876997f 66402003-03-05 Tom Tromey <tromey@redhat.com>
f3922fd2
DD
6641
6642 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
6643 Define.
6644
c876997f 66452003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
f3922fd2
DD
6646
6647 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
6648 operand 2.
6649 ("*ineqbranchsi"): Likewise.
6650
c876997f 66512003-03-05 Andrew Haley <aph@cambridge.redhat.com>
f3922fd2
DD
6652
6653 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
6654 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
6655 register store followed by a stack increment.
6656
c876997f 66572003-03-05 Chris Moller <cmoller@redhat.com>
f3922fd2
DD
6658
6659 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
6660 to inhibit saving CARRY_REGS.
6661
6662 * config/stormy16/stormy16.c (xs_hi_general_operand):
6663 added predicate to detect and error-out on out-of-range
6664 const_ints for movhi.
52999738 6665 * config/stormy16/stormy16.md (movhi): use
f3922fd2
DD
6666 xs_hi_general_operand.
6667
6668 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
6669 added a check for local vbl size overflow.
6670 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
6671 added predicate to detect and error-out on out-of-range
6672 const_ints for addhi and subhi.
52999738 6673 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
f3922fd2
DD
6674 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
6675
6676 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
6677 add a term to accept PRE_MODIFY addresses.
6678 * config/stormy16/stormy16.c (xstormy16_expand_move):
6679 add code to expand PRE_MODIFY addresses to an add followed
6680 by a move.
6681
4c28216d
JM
66822003-03-06 Jason Merrill <jason@redhat.com>
6683
6684 * tree-inline.c (inlinable_function_p): Revert earlier change
6685 pending investigation.
6686
0135f343
KH
66872003-03-06 Kazu Hirata <kazu@cs.umass.edu>
6688
6689 * config/h8300/h8300.md (a new peephole2): New.
6690
62c9aa5f 66912003-03-06 Jan Hubicka <jh@suse.cz>
5c2e00ee
JH
6692
6693 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
6694
323658ea
ZD
66952003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6696
6697 * dwarf2out.c (size_of_die): Compute size of external reference to
6698 die correctly.
6699
2b18b49b
HPN
67002003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
6701
6702 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
6703 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
6704 expanders.
6705
1a71a5b0
RS
67062003-03-05 Roger Sayle <roger@eyesopen.com>
6707
6708 * expr.h (lang_expand_expr): Delete obsolete prototype.
6709
26d249eb
KH
67102003-03-05 Kazu Hirata <kazu@cs.umass.edu>
6711
6712 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
6713
8b41a8da
KH
67142003-03-05 Kazu Hirata <kazu@cs.umass.edu>
6715
6716 * config/h8300/h8300.md (a peephole2): Generalize to
6717 accept a memory operand.
6718
62c9aa5f 67192003-03-05 Olivier Hainque <hainque@act-europe.fr>
39ee7fa9
OH
6720
6721 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
6722 * config/alpha/alpha.c (print_operand, case '+'): New.
6723 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
6724 (call_value_osf_1_noreturn): Likewise.
6725
62c9aa5f 67262003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
cda26058
RK
6727
6728 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
6729 (expand_end_bindings): Likewise.
6730
98857de8
JDA
67312003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6732
6733 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
6734 (epilogue): Don't generate return_external_pic when emitting PA 2.0
6735 code.
6736
96714395
AH
67372003-03-05 Aldy Hernandez <aldyh@redhat.com>
6738
52999738 6739 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
96714395 6740
52999738 6741 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
96714395 6742
52999738 6743 * hooks.c (hook_rtx_rtx_null): New.
96714395 6744
52999738 6745 * hooks.h (hook_rtx_rtx_null): Protoize.
96714395 6746
52999738
ZW
6747 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
6748 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
96714395 6749
52999738 6750 * target.h (struct gcc_target): Add dwarf_register_span.
96714395 6751
52999738
ZW
6752 * dwarf2out.c (multiple_reg_loc_descriptor): New.
6753 (one_reg_loc_descriptor): New.
6754 (reg_loc_descriptor): Add support for values that span more than
6755 one register.
96714395 6756
62c9aa5f 67572003-03-05 Jan Hubicka <jh@suse.cz>
b255a036
JH
6758
6759 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
6760 * alias.c: Include cgraph.h
6761 (mark_constant_function): Use cgraph_rtl_info.
6762 * calls.c: Include cgraph.h
6763 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
6764 calls.
6765 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
6766 * cgraph.c (cgraph_rtl_info): New function.
6767 * cgraph.h (cgraph_rtl_info): Declare
6768 (cgraph_rtl_info): Likewise.
6769 * function.h (struct function): Add recursive_call_emit.
6770 * toplev.c: Include cgraph.h.
6771 (rest_of_compilation): Set preferred_incoming_stack_boundary.
6772
0eb933a0
KH
67732003-03-05 Kazu Hirata <kazu@cs.umass.edu>
6774
6775 * config/h8300/h8300.c (output_simode_bld): Clear the
6776 destination first if possible.
6777 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
6778 alternative.
6779 (extzv_1_r_inv_h8300hs): Likewise.
6780
35b07080
ZD
67812003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6782
6783 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
6784 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
6785 * cfgloop.c (flow_loop_free): Made global.
6786 (establish_preds): New static function.
6787 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
6788 (get_loop_exit_edges): New.
6789 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
6790 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
6791 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
6792 loops.
6793 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
6794 removability of an edge.
6795 (fix_irreducible_loops): New static function.
6796 (find_path, remove_path): Add ability to remove enclosing loops.
6797 (unloop): New.
6798 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
6799 flags.
6800 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
6801 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
6802 not neccessary.
6803 (decide_peel_completely, peel_loops_completely): Allow complete peeling
6804 of non-duplicable once rolling loops.
6805 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
6806
62c9aa5f 68072003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
bb182d23
R
6808
6809 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
6810 for align_jumps is 4.
6811
6812 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
6813 use GENERAL_REGS.
6814
f2d0440f
SC
68152003-03-05 Stephane Carrez <stcarrez@nerim.fr>
6816
6817 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
6818 according to va_arg type.
6819 (EXPAND_BUILTIN_VA_ARG): Remove.
6820 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
6821 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
6822
165b263e
DE
68232003-03-05 David Edelsohn <edelsohn@gnu.org>
6824
6825 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
6826 else clauses.
6827
8c38a24f
MM
68282003-03-05 Michael Matz <matz@suse.de>
6829
6830 * i386/i386.c (ix86_save_reg): Also test
6831 current_function_uses_const_pool.
6832
336d0d96
MM
68332003-03-05 Michael Matz <matz@suse.de>
6834
6835 * unwind.h: Add the GPL exception.
6836 * Makefile.in (USER_H): Add unwind.h.
6837
be2fa211
EB
68382003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
6839
6840 PR c/9799
6841 * c-typeck.c (push_init_level): Add sanity check.
6842
62c9aa5f 68432003-03-05 Jan Hubicka <jh@suse.cz>
dafc5b82
JH
6844
6845 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
6846 RTL inlining is done.
6847
6848 * cgraphunit.c (cgraph_mark_local_functions): New local function.
6849 (cgraph_optimize): Mark local functions.
6850 * i386-protos.h (init_cumulative_args): Update prototype.
6851 * i386.c (init_cumulative_args): Use register passing convention for
6852 local functions.
6853
6854 * cgraph.c (cgraph_global_info_ready): New global variable
6855 (cgraph_local_info, cgraph_global_info): New functions.
6856 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
6857 structures.
6858 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
6859 Declare.
6860 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
6861 (cgraph_mark_functions_to_output): Use inline_many.
6862 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
6863 (cgraph_expand_functions): Expand inline functions last.
6864 (cgraph_optimize): Do not emit uneeded functions.
6865
006c9f4a
SE
68662003-03-04 Steve Ellcey <sje@cup.hp.com>
6867
6868 * expr.c (convert_modes): Check for legal hard register.
6869
65ebbf81
TT
68702003-03-04 Tom Tromey <tromey@redhat.com>
6871
6872 * doc/sourcebuild.texi (Front End Directory): Document tags.
6873 * configure: Rebuilt.
6874 * configure.in (target_list): Added tags.
6875 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
6876 TAGS files by reference.
6877 * objc/Make-lang.in (objc.tags): New target.
6878
ec4a0419
ZD
68792003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6880
6881 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
6882 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
6883 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
6884 gcov_read_string, gcov_write_length): Modified to enable reading/
6885 writing of whole .da file just once.
6886 (da_file_open, da_file_close, da_file_eof, da_file_error,
6887 da_file_position, da_file_seek, da_file_write, da_file_read): New
6888 functions.
6889 (actual_da_file, actual_da_file_position, actual_da_file_length,
6890 actual_da_file_buffer, actual_da_file_buffer_size): New static
6891 functions.
6892 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
6893 just once.
6894
6895
79dbeefc
AS
68962003-03-04 Andreas Schwab <schwab@suse.de>
6897
6898 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
6899 offset without frame pointer.
6900
3ac1a319
SE
69012003-03-04 Steve Ellcey <sje@cup.hp.com>
6902
6903 * expr.c (expand_expr): Call promote_mode to set unsignedp.
6904
db720d9a
DJ
69052003-03-04 Daniel Jacobowitz <drow@mvista.com>
6906
6907 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
6908 * configure: Regenerated.
6909 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
6910
9a79ab7e
AJ
69112003-03-04 Andreas Jaeger <aj@suse.de>
6912
6913 * configure.in: Check for <memcheck.h>.
52999738 6914 * configure: Regenerated.
9a79ab7e
AJ
6915
6916 * config.in: Define HAVE_MEMCHECK_H.
6917
6918 * ggc-common.c: Use <memcheck.h> if available instead of
6919 <valgrind.h>.
6920 * ggc-page.c: Likewise.
6921 * cppfiles.c: Likewise.
6922
a8f0e848
KH
69232003-03-04 Kazu Hirata <kazu@cs.umass.edu>
6924
6925 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
6926
2ad1815d
EB
69272003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6928
6929 PR c/9262
6930 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
6931 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
6932
62c9aa5f 69332003-03-04 Jan Hubicka <jh@suse.cz>
e2483ef7
JH
6934
6935 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
6936 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
6937 for -O3.
6938
34a86c2b
NN
69392003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
6940
6941 * configure.in: Delete three unused variables. Move a variable
6942 definition closer to its use. Simplify use_collect2 logic. Start to
6943 organize. Simplify tests for in-tree gas and ld.
6944 * configure: Regenerate.
6945
63973df3
NB
69462003-03-04 Neil Booth <neil@daikokuya.co.uk>
6947
6948 * Makefile.in: Update.
6949 * c-common.c (flag_no_line_commands, flag_no_output,
6950 flag_dump_macros, flag_dump_includes): New.
6951 * c-common.h (flag_no_line_commands, flag_no_output,
6952 flag_dump_macros, flag_dump_includes, preprocess_file): New.
6953 (init_c_lex): Update prototype.
6954 * c-lex.c (init_c_lex): Update prototype; move some code to
6955 c_common_init.
6956 * c-opts.c (preprocess_file): Subsume into c_common_init.
6957 (c_common_decode_option): Update flags.
6958 (c_common_init): Move code from preprocess_file and init_c_lex.
6959 (sanitize_cpp_opts): Update.
6960 * c-ppoutput.c: New, cppmain.c almost verbatim.
6961 * cpphash.h (struct printer): Remove.
6962 (struct cpp_reader): Remove print.
6963 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
6964 cpp_preprocess_file): Remove.
6965 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
6966 and dump_includes.
6967 * cppmain.c: Remove.
6968 * doc/passes.texi: Update.
6969
95f3f59e
JDA
69702003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6971
6972 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
6973 (assign_stack_local_1): Perform overall stack alignment only when
6974 STACK_ALIGNMENT_NEEDED is non-zero.
6975 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
6976
6977 * pa.c (compute_frame_size): Rename fsize to size. Account for
6978 alignment to a word boundary before general register save block. Only
6979 account for double-word alignment before floating point register save
6980 block if one or more are saved. Don't allocate space for %r3 when
6981 frame pointer is needed.
6982 (hppa_expand_prologue): Include alignment to word boundary in local
6983 frame size.
6984 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
6985 (STACK_ALIGNMENT_NEEDED): Define.
6986
234c071b
KB
69872003-03-04 Kevin Buettner <kevinb@redhat.com>
6988
6989 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
6990 global register variables.
6991
f12448c8
AO
69922003-03-04 Alexandre Oliva <aoliva@redhat.com>
6993
6994 * reload.c (reload_adjust_reg_for_mode): New function.
6995 (subst_reloads): Call it.
6996 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
6997 * reload.h (reload_adjust_reg_for_mode): Declare.
6998 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
6999 Call it.
7000
f9d36a92
JW
70012003-03-03 James E Wilson <wilson@tuliptree.org>
7002
7003 * optabs.c (add_equal_note): Delete SUBREG_REG use.
7004 Fixes PR c/7872.
7005
8dfb356f
KH
70062003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7007
7008 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
7009 (*ixorsi3_lshiftrt_16): New.
7010 (*iorsi3_ashift_16): Remove.
7011
0d9bf032
KH
70122003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7013
7014 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
7015 pattern.
7016
b89a3806
GK
70172003-03-03 Geoffrey Keating <geoffk@apple.com>
7018
7019 * doc/install.texi (Specific): Update entry for powerpc-darwin.
7020
568d661d
RH
70212003-03-03 Richard Henderson <rth@redhat.com>
7022
7023 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
7024
3317bab1
DE
70252003-03-03 David Edelsohn <edelsohn@gnu.org>
7026
7027 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
7028 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
7029 (rs6000_variable_issue): Do not return negative value.
7030 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
7031 scheduling pass.
7032
03275f81
ZD
70332003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7034
7035 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
7036 prune_unused_types calls.
7037
d1a74aa7
JM
70382003-03-03 Jason Merrill <jason@redhat.com>
7039
7040 * tree-inline.c (find_builtin_longjmp_call): Save and restore
7041 lineno and input_filename.
7042 (find_alloca_call): Likewise.
7043 (inlinable_function_p): Run the langhook earlier.
7044
7045 * calls.c (compute_argument_addresses): Give the new MEMs a
7046 minimum alignment of PARM_BOUNDARY.
7047
62c9aa5f 70482003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
d44cc404
R
7049
7050 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
7051 subtarget_asm_isa_spec.
7052 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
7053 (ASM_SPEC): Define as SH_ASM_SPEC.
7054 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
7055 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
7056 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
7057 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10f4f635
R
7058
7059 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
7060 and align_jumps if not set.
7061 Force align_jumps to be at least 2.
7062 When relaxing, force align_functions to be at least the maximum of
7063 align_loops, align_jumps and 4.
7064 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
7065 (sh_loop_align): Honour align_loops_log.
7066
7067 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
7068 to check for indirect_jump_scratch.
7069 (indirect_jump_scratch): Add second set.
7070 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
7071 when looking for indirect_jump_scratch.
7072 Extract scratch register taking new structure of indirect_jump_scratch
7073 into account.
7074 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
7075
62c9aa5f 70762003-03-03 Jan Hubicka <jh@suse.cz>
f7da1e9a 7077
09e2bf48
JH
7078 * calls.c (rtx_for_function_call): Take the address as an argument
7079 (expand_call): Do not modify the expression.
7080
f7da1e9a
JH
7081 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
7082 optimizing.
7083
426ace7f
KH
70842003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7085
7086 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
7087 TARGET_H8300H and TARGET_H8300S.
7088
6967a126
KH
70892003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7090
7091 * config/h8300/h8300.md (a peephole2): New.
7092
1f7e8790
KH
70932003-03-03 Kazu Hirata <kazu@cs.umass.edu>
7094
7095 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
7096 operands[0] and operands[1] are different.
7097
70982003-03-03 Kazu Hirata <kazu@cs.umass.edu>
2807791e
KH
7099
7100 * reload1.c (reload_cse_move2add): Remove variable success.
7101
a2581175
KG
71022003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7103
7104 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
7105 warnings.
7106
ef1ecf87
RH
71072003-03-02 Richard Henderson <rth@redhat.com>
7108
7109 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
7110 * config.in, configure: Rebuild.
7111 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
9a79ab7e 7112 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
ef1ecf87
RH
7113 paired ldtoffx and ldxmov annotations.
7114 (load_symptr_internal1): Remove.
7115 (load_symptr_high, load_symptr_low): New.
7116
82f6e3eb
NB
71172003-03-02 Neil Booth <neil@daikokuya.co.uk>
7118
7119 * c-incpath.c (add_path): Fix sysp assignment.
7120
bc522472
KG
71212003-03-02 Kurt Garloff <garloff@suse.de>
7122
7123 * params.def: Introduce parameter max-inline-insns-rtl for
7124 a separate limit for the RTL inliner.
7125 * params.h: Likewise.
7126 * integrate.c (function_cannot_inline_p): Use it.
9a79ab7e 7127 * toplev.c (decode_f_option): Set multiple parameters
bc522472
KG
7128 controlling inlining with -finline-limit.
7129 * params.def: Fix orthographic and typographic errors.
7130 * doc/invoke.texi: Document parameters controlling inlining
7131 and the way -finline-limit sets multiple of them.
7132
7133 * tree.h (struct tree_decl): Introduce inlined_function_flag,
7134 recording whether the function became eligible for inlining
7135 by a compiler flag rather than the declaration.
7136 Provide DID_INLINE_FUNC macro to access it.
7137 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
7138 * cp/decl.c (grokfndecl): Likewise.
7139 * toplev.c (rest_of_compilation): Likewise.
7140 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
7141 * print-tree.c (print_node): Report it.
7142 * params.def: Introduce new max-inline-insns-auto limit.
7143 * params.h: Likewise.
7144 * tree-inline.c (inlinable_function_p): Apply it to functions
7145 with DID_INLINE_FUNC set.
7146 * toplev.c (decode_f_option): Initialize it from -finline-limit
7147 value.
7148 * doc/invoke.texi: Document new parameter.
7149
b9f4b20a
GK
71502003-03-02 Geoffrey Keating <geoffk@apple.com>
7151
7152 * fix-header.c (read_scan_file): Don't reference simplify_path.
7153
97d322cc
SC
71542003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7155
7156 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
7157 min/max instructions by default as may result in reload errors.
7158
65fb64fe
SC
71592003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7160
7161 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
7162 avoid reload problems; define split for it.
7163
b45e9837
SC
71642003-03-02 Stephane Carrez <stcarrez@nerim.fr>
7165
7166 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
7167 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
7168 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
9a79ab7e 7169 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
b45e9837
SC
7170 rotatert and rotate.
7171 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
7172 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
7173 ("*rotrhi3_addr"): New split for shift insns on address register.
7174 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
7175 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
7176 (___rotrhi3): Likewise.
7177 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
7178
b1cbe78c
NB
71792003-03-02 Neil Booth <neil@daikokuya.co.uk>
7180
7181 * toplev.c (aux_base_name): Moved from toplev.h.
7182 (filename): Constify.
7183 (lang_dependent_init): Don't duplicate name.
7184 (process_options): Set aux_base_name here, not...
7185 (do_compile): ...here. Change protoype.
7186 (toplev_main): Move some code from do_compile.
7187 * toplev.h: Remove aux_base_name.
7188
b059c02a
KH
71892003-03-02 Kazu Hirata <kazu@cs.umass.edu>
7190
7191 * config/h8300/h8300-protos.h: Add a prototype for
7192 iorxor_operator.
7193 * config/h8300/h8300.c (print_operand): Handle 'c'.
7194 (iorxor_operator): New.
7195 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
7196 * config/h8300/h8300.md (*iorhi3_zext): Remove.
7197 (*iorsi3_zexthi): Likewise.
7198 (*iorsi3_zextsi): Likewise.
7199 (*xorhi3_zextqi): Likewise.
7200 (*xorsi3_zexthi): Likewise.
7201 (*xorsi3_zextsi): Likewise.
7202 (*ixorhi3_zext): New.
7203 (*ixorsi3_zext_qi): Likewise.
7204 (*ixorsi3_zext_hi): Likewise.
7205
986b1f13
NB
72062003-03-02 Neil Booth <neil@daikokuya.co.uk>
7207
7208 * c-incpath.c (remove_component_p, simplify_path): Move back to
7209 cppfiles.c.
7210 (remove_duplicates): Use cpp_simplify_path.
7211 * c-incpath.h (simplify_path): Remove.
7212 * c-lex.c: Don't include c-incpath.h.
7213 (init_c_lex): Remove simplify_path.
7214 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
7215 (find_or_create_entry, validate_pch): Revert.
7216
8a035a6b
AH
72172003-03-02 Ashif Harji <asharji@uwaterloo.ca>
7218
7219 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
7220 an external cpp during compilation.
7221 (option_map): Likewise.
7222 * objc/lang-specs.h (default_compilers): Similarly.
7223 * doc/invoke.texi: Document -no-integrated-cpp flag.
7224
23cdb465
KH
72252003-03-02 Kazu Hirata <kazu@cs.umass.edu>
7226
7227 * config/h8300/h8300.md (zero_extendqisi2): Change to an
7228 expander.
7229 (*zero_extendqisi2_h8300): New.
7230 (*zero_extendqisi2_h8300hs): New.
7231 (two splitters): New.
7232
29efb633
KG
72332003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7234
7235 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
7236
36bf3f1b
KH
72372003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7238
7239 * config/h8300/h8300.md (a peephole2): Remove dead code.
7240
08291658
RS
72412003-03-01 Roger Sayle <roger@eyesopen.com>
7242
7243 PR c++/9367
7244 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
7245 (BT_FN_INT_CONST_STRING_VALIST_ARG,
7246 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
7247 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
7248 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
7249 BT_FN_INT_STRING_CONST_STRING_VAR,
7250 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
7251 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
7252 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
7253 ATTR_NONNULL_3): Also include the nothrow attribute.
7254 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
7255 vsnprintf, vscanf, vsscanf): Don't define attributes here.
7256 * builtins.def (putchar, puts): Make full C89 built-ins.
7257 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
7258 vsscanf, vsnprintf, vsprintf): New built-ins.
7259 * c-common.c (c_common_nodes_and_builtins): Handle new macro
7260 DEF_FUNCTION_TYPE_VAR_3.
7261
7262 * doc/extend.texi: Document these new built-in functions.
7263
e5258f85
KH
72642003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7265
7266 * config/h8300/h8300.md (a peephole2): New.
7267
85bb9c2a
RE
72682003-03-01 Richard Earnshaw <rearnsha@arm.com>
7269
7270 * predict.c (estimate_bb_frequencies): Correctly set
7271 real_values_initialized after initialization.
7272
5793b276
NB
72732003-03-01 Neil Booth <neil@daikokuya.co.uk>
7274
7275 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
7276 cppinit.o, cppdefault.o, fix-header): Update.
7277 * c-incpath.c: New file.
7278 * c-incpath.h: New file.
7279 * c-lex.c: Include c-incpath.h.
7280 (init_c_lex): Register path simplifier.
7281 * c-opts.c: Include cppdefault.h and c-incpath.h.
7282 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
7283 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
7284 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
7285 (missing_arg, c_common_decode_option): Handle them.
7286 (c_common_post_options): Register include chains.
7287 (print_help): Update.
7288 * cppdefault.h (struct default include): Update.
7289 Move some macros to ...
7290 * cppdefault.c: ... here.
7291 (cpp_include_defaults): Add extra field add_sysroot.
7292 * cppfiles.c (include_file, search_from, find_or_create_entry,
7293 cpp_included, find_include_file, remap_filename): Update for
7294 renaming of search_path to cpp_path, and of the chain headers.
7295 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
7296 * cpphash.h (struct search_path): Move to cpplib.h.
7297 (struct cpp_buffer, struct cpp_reader): Update.
7298 (_cpp_simplify_pathname): Remove.
7299 * cppinit.c: Don't include prefix.h and cppdefault.h.
7300 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
7301 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
7302 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
7303 no_pth, cpp_handle_options): Remove.
7304 (struct pending_option): Remove chain members.
7305 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
7306 cpp_handle_option): Update.
7307 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
7308 (struct cpp_options): Remove quote_include, bracket_include,
7309 include_prefix, include_prefix_len, verbose, ignore_srcdir,
7310 no_standard_includes, no_standard_cplusplus_includes.
7311 (struct cpp_callbacks): Add simplify_path.
7312 (cpp_handle_options): Remove.
7313 * fix-header.c: Include c-incpath.h.
7314 (read_scan_file): Update to use c-incpath functionality.
7315 * doc/passes.texi: Update.
7316
6620997b
KH
73172003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7318
7319 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
7320 satisfies EXTRA_CONSTRAINT 'U'.
7321
82b4dc2e
KH
73222003-03-01 Kazu Hirata <kazu@cs.umass.edu>
7323
7324 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
7325 register.
7326 (*tst_extzv_memqi_1_n): Change to a splitter.
7327 (a peephole2): Update.
7328
c4f6b78e
RE
73292003-03-01 Richard Earnshaw <rearnsha@arm.com>
7330
7331 * predict.c (estimate_bb_frequencies): Initialize the sreal
7332 constants once per compilation.
7333
9552a3e3
RH
73342003-02-28 Richard Henderson <rth@redhat.com>
7335
7336 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
7337
73c68f61
SS
73382003-02-28 scott snyder <snyder@fnal.gov>
7339
7340 * flags.h: Add flag_eliminate_unused_debug_types.
7341 * toplev.c: Add flag_eliminate_unused_debug_types.
7342 (f_options): Add -feliminate-unused-debug-types.
7343 * dwarf2out.c (struct file_table): Add emitted member.
7344 (splice_child_die): Fix the parent pointer for the child being
7345 spliced.
7346 (lookup_filename): Maintain file_table.emitted array. Don't
7347 output .file directive here.
7348 (maybe_emit_file): (new)
7349 (init_file_table): Set up file_table.emitted.
7350 (dwarf2out_source_line): Use maybe_emit_file.
7351 (dwarf2out_start_source_file): Use maybe_emit_file.
7352 (dwarf2out_init): Use maybe_emit_file.
7353 (prune_unused_types_walk_attribs): (new)
7354 (prune_unused_types_mark): (new)
7355 (prune_unused_types_walk): (new)
7356 (prune_unused_types_prune): (new)
7357 (prune_unused_types): (new)
7358 (dwarf2out_finish): Call prune_unused_types if
7359 flag_eliminate_unused_debug_types is set.
7360 * doc/invoke.texi (Option Summary): Add
7361 -feliminate-unused-debug-types.
7362 (Debugging Options): Likewise.
7363
d8fad4ea
GK
73642003-02-28 Geoffrey Keating <geoffk@apple.com>
7365
7366 * doc/invoke.texi: Change .pch to .gch.
7367 * cppfiles.c (open_file_pch): Likewise.
7368 * gcc.c (default_compilers): Likewise.
7369
9855905c
AH
73702003-02-28 Aldy Hernandez <aldyh@redhat.com>
7371
52999738 7372 * floatlib.c: Remove.
9855905c 7373
3695c25f
JM
73742003-02-28 Jason Merrill <jason@redhat.com>
7375
7376 * stor-layout.c (variable_size): Leave a "minus 1" outside the
7377 SAVE_EXPR.
7378
f8f0e566
DE
73792003-02-28 David Edelsohn <edelsohn@gnu.org>
7380
7381 * config/rs6000/power4.md: Add compare bypass.
7382
35501efe
JT
73832003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
7384
7385 * config/netbsd.h: Update copyright years.
7386 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
7387 -pthread is specified on the command line.
7388
8f7ee471
DJ
73892003-02-28 Dale Johannesen <dalej@apple.com>
7390
52999738 7391 * loop.c (struct movable): Add insert_temp, shrink savemode.
8f7ee471 7392 (scan_loop): Accept invariants that require copying; mark as
52999738 7393 insert_temp.
8f7ee471
DJ
7394 (combine_movables): Don't combine insert_temp movables.
7395 (move_movables): Insert copies for insert_temp movables.
7396 Don't record the info based on regno for insert_temp's.
7397
67c2b45f
JS
73982003-02-28 Joel Sherrill <joel@OARcorp.com>
7399
7400 PR 9638/other
9a79ab7e 7401 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
67c2b45f
JS
7402 this constant defaults to 1.
7403
066f1538
BW
74042003-02-28 Bob Wilson <bob.wilson@acm.org>
7405
7406 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
7407
b8c53e96
RE
74082003-02-28 Richard Earnshaw <rearnsha@arm.com>
7409
9a79ab7e 7410 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
b8c53e96
RE
7411 ARMv5e processor, not just for XScale. Instructions are predicable.
7412 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
7413
b93828f3
NC
74142003-02-28 Nick Clifton <nickc@redhat.com>
7415
7416 * config/arm/arm.c (note_invalid_constants): Change parameter type
7417 from bool to int.
7418
3c042316
KH
74192003-02-28 Kazu Hirata <kazu@cs.umass.edu>
7420
7421 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
7422 test of bit 7.
7423 (*tst_extzv_memqi_1_n): Likewise.
7424 (a peephole2): New.
7425
c876997f 74262003-02-28 Richard Sandiford <rsandifo@redhat.com>
28727f1f
RS
7427
7428 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
7429 #ifndef __mips16.
7430
62c9aa5f 74312003-02-28 Jan Hubicka <jh@suse.cz>
10a3fdd9
JH
7432
7433 * combine.c (gen_lowpart_for_combine): Update handling of
7434 subregs_of_mode
7435 * flow.c (life_analysis, mark_used_regs): Likewise.
7436 * regclass.c (subregs_of_mode): Turn into single bitmap.
7437 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
7438 dealing with subregs_of_mode
7439 * regs.h (subregs_of_mode): Update prototype.
7440
9d18e06b
JZ
74412003-02-28 Josef Zlomek <zlomekj@suse.cz>
7442
7443 * emit-rtl.c (set_reg_attrs_for_parm): New function.
7444 * rtl.h (set_reg_attrs_for_parm): New exported function.
7445 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
7446 set_reg_attrs_from_mem.
7447
95456d43
RS
74482003-02-27 Roger Sayle <roger@eyesopen.com>
7449 Zack Weinberg <zack@codesourcery.com>
7450
7451 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
7452
28ae9fed
KH
74532003-02-27 Kazu Hirata <kazu@cs.umass.edu>
7454
7455 * reload1.c (sext_for_mode): Remove.
7456 (reload_cse_move2add): Use trunc_int_for_mode instead of
7457 sext_for_mode.
7458 (move2add_note_store): Likewise.
7459 Reset register information if we see a set in non-integer
7460 mode.
7461
d47719fd
DE
74622003-02-27 David Edelsohn <edelsohn@gnu.org>
7463
30e7f17e
DE
7464 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
7465 option.
7466 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
7467 * config/rs6000/aix51.h: Same.
7468 * config/rs6000/aix52.h: Same.
d47719fd
DE
7469 * config/rs6000/power4.md: Additional VMX bypasses.
7470
7a69a172
GB
74712003-02-27 Geert Bosch <bosch@gnat.com>
7472
7473 * toplev.c (print_version): Add indentation for GGC heuristics and
7474 output after printing version information.
7475
678e68fc
JW
74762003-02-27 James E Wilson <wilson@tuliptree.org>
7477
7478 * combine.c (simplify_comparison): Require integral mode when
7479 permuting SUBREG with AND.
7480
986704f1
SE
74812003-02-27 Steve Ellcey <sje@cup.hp.com>
7482
7483 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
7484
1e3af7f6
NC
74852003-02-27 Nick Clifton <nickc@redhat.com>
7486
7487 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
7488 deleted when cirrus instructions were added.
7489
51b7c247
JT
74902003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
7491
7492 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
7493 POSIX thread support by default.
7494
3eae722d
RS
74952003-02-27 Roger Sayle <roger@eyesopen.com>
7496
7497 * config/i386/cygwin.h: Don't include any other files directly.
7498 * config/i386/mingw32.h: Don't include cygwin.h directly.
7499 * config.gcc (cygwin, mingw32, uwin): Instead make these files
7500 explicit in the tm_files variable.
7501
6fc19dc9
AM
75022003-02-27 Alan Modra <amodra@bigpond.net.au>
7503
7504 * config/rs6000/rs6000.md: Add TI constant splitter.
7505
c41536f5
AO
75062003-02-26 Alexandre Oliva <aoliva@redhat.com>
7507
65c04548
AO
7508 * builtins.c (purge_builtin_constant_p): Handle subreg of
7509 constant_p_rtx too.
7510
c41536f5
AO
7511 * function.c (assign_stack_local_1): Truncate constant added to
7512 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
7513
dccd5213
DE
75142003-02-26 David Edelsohn <edelsohn@gnu.org>
7515
7516 * config.gcc: Add power4 to PowerPC with_cpu list.
7517
62c9aa5f 75182003-02-26 Jan Hubicka <jh@suse.cz>
47a5d8e7
JH
7519
7520 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
7521
cb9e4555
ZD
75222003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7523
7524 * gcov-dump.c (print_prefix): Fix signedness warning.
7525 * gcov-io.h (struct counter_section, struct counter_section_data): New.
7526 (struct function_info): n_arc_counts field removed, n_counter_sections,
7527 counter_sections fields added.
7528 (struct gcov_info): arc_counts, n_arc_counts fields removed,
7529 n_counter_sections, counter_sections fields added.
7530 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
7531 profile sections.
7532 * profile.h (MAX_COUNTER_SECTIONS): New.
7533 (struct section_info): New.
7534 (struct profile_info): count_instrumented_edges,
7535 count_edges_instrumented_now fields removed, n_sections, section_info
7536 fields added.
7537 (find_counters_section): Declare.
7538 * profile.c (struct function_list): count_edges field removed,
7539 n_counter_sections, counter_sections fields added.
7540 (set_purpose, label_for_tag, build_counter_section_fields,
7541 build_counter_section_value, build_counter_section_data_fields,
7542 build_counter_section_data_value, build_function_info_fields,
7543 build_function_info_value, build_gcov_info_fields,
7544 build_gcov_info_value): New static functions.
7545 (find_counters_section): New function.
7546 (instrument_edges, get_exec_counts, compute_branch_probabilities,
7547 branch_prob, create_profiler): Modified to support multiple profile
7548 sections.
7549
b0d7ef9a
JDA
75502003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7551
7552 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
7553 is 8 * STACK_BOUNDARY.
7554 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
7555
f6e91562
MM
75562003-02-26 Michael Matz <matz@suse.de>
7557
7558 * ra-colorize.c (merge_moves): Fix list handling.
7559
f0375c66
NC
75602003-02-26 Nick Clifton <nickc@redhat.com>
7561
7562 * config/arm/arm.c (is_load_address): Rename to...
52999738
ZW
7563 (arm_memory_load_p) ... this and make it check for SUBREGs and
7564 constant loads that will be converted into loads from the
7565 minipool.
7566 (is_cirrus_insn): Rename to ...
7567 (arm_cirrus_insn_p): ... this, for consistency. Replace test
7568 of CIRRUS_NO with CIRRUS_NOT.
7569 (cirrus_reorg): Use renamed functions.
7570 (note_invalid_constants): Change from a void function to bool.
7571 Add an extra parameter, saying whether the fixups should be
7572 pushed. Return true if fixups are needed.
7573 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
7574 of CIRRUS_NO with CIRRUS_NOT.
7575 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
7576 other floating point co-processors can also affect this.
7577 * config/arm/arm.md ("type" attribute): Add mav_farith and
7578 mav_dmult. Replace references to "cirrus_type" attribute with
7579 "type".
7580 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
7581 ("cirrus_type" attribute): Delete - use "type" instead.
7582 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
7583 'normal'.
f0375c66 7584
62c9aa5f 75852003-02-25 Jan Hubicka <jh@suse.cz>
0d446150
JH
7586
7587 * objc-act.c: Include cgraph.h
7588 (mark_referenced_methods): New function.
7589 (objc_init): Call it.
7590 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
7591
7592 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
7593 mode.
7594
7595 * optabs.c (expand_fix): Do not widen the input operand.
7596
7597 * expr.c (emit_group_store): Fix crash when converting single
7598 register into complex register.
7599
7600 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
7601 * alias.c: Include timevar.h
7602 (init_alias_analysis): Set timevar
7603 * jump.c: Include timevar.h
7604 (rebuild_jump_labels): Set timevar
7605 * regcalss.c: Include timevar.h
7606 (reg_scan): Set timevar
7607 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
7608
b17d5d7c
ZD
76092003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7610
7611 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
7612
7613 * Makefile.in (loop-unroll.o): New.
7614 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
7615 (unroll_and_peel_loops): Declare.
7616 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
7617 flag_old_unroll_loops.
7618 * loop.c (loop_invariant_p): Ditto.
7619 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
7620 flag_old_unroll_all_loops.
7621 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
7622 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
7623 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
7624 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
7625 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
7626 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
7627 PARAM_MAX_ONCE_PEELED_INSNS): New.
7628 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
7629 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
7630 instead of old one.
7631 (flag_peel_loops): New.
7632 (lang_independent_options): The new flags added.
7633 (rest_of_compilation): Call new unroller.
7634 (process_options): Setup flags for coexistence of old and new unroller.
7635 * doc/invoke.texi: Document new options.
7636 * doc/passes.texi: Document new unroller pass.
7637
244f7aa9
DB
76382003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
7639
7640 * fixinc/fixincl.x: Regenerate
7641
1d14f992
JZ
76422003-02-26 Josef Zlomek <zlomekj@suse.cz>
7643
7644 * function.c (assign_parms): Set reg_attrs for parameters passed in
7645 registers.
7646
8ace9f18
AM
76472003-02-26 Alan Modra <amodra@bigpond.net.au>
7648
38a84391 7649 PR target/9681
8ace9f18
AM
7650 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
7651
9a29ee42
DE
76522003-02-25 David Edelsohn <edelsohn@gnu.org>
7653
7654 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
7655 pseudo-op.
7656
8beccec8
RS
76572003-02-25 Roger Sayle <roger@eyesopen.com>
7658
7659 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
7660 * cse.c (invalidate_skipped_set): Likewise.
7661 * integrate.c (subst_constants): Likewise.
7662 * jump.c (reversed_comparison_code_parts): Likewise.
7663 * loop.c (canonicalize_condition): Likewise.
7664 * simplify-rtx.c (simplify_relational_operation): Likewise.
7665
b052d8ee
RS
76662003-02-25 Roger Sayle <roger@eyesopen.com>
7667
7668 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
7669 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
7670 the appropriate macro to define built-in function.
7671 (fmod,fmodf,fmodl): New built-in functions.
7672
7673 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
7674
8d454008
RH
76752003-02-25 Richard Henderson <rth@redhat.com>
7676
7677 * config/i386/i386.c (function_arg): Pass variable sized
7678 structures correctly on the stack.
7679
fc943f55
KH
76802003-02-25 Kazu Hirata <kazu@cs.umass.edu>
7681
7682 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
7683 does not reduce the cost of SET.
7684
14f00213
FS
76852003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7686
7687 PR target/9732
7688 * config/rs6000/rs6000.c (first_reg_to_save): Handle
7689 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
7690 (rs6000_emit_prologue): Likewise.
7691 (rs6000_emit_epilogue): Likewise.
7692 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
7693 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
7694
8164b171
RH
76952003-02-25 Richard Henderson <rth@redhat.com>
7696
7697 * real.c (real_to_integer2): Force overflow result only for
7698 unsigned overflow.
7699
9e48c409
KH
77002003-02-25 Kazu Hirata <kazu@cs.umass.edu>
7701
7702 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
7703
3044064c 77042003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
52999738 7705 Richard Henderson <rth@redhat.com>
3044064c
VM
7706
7707 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4e21585b 7708 there is no similar load.
3044064c 7709
15aab9c0 77102003-02-25 Vladimir Makarov <vmakarov@redhat.com>
52999738 7711 Richard Henderson <rth@redhat.com>
15aab9c0
VM
7712
7713 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
7714 sched-rgn.c.
7715 (add_forward_dependence): New function prototype.
7716
7717 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
7718 sched-init.h.
7719 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
7720 them to haifa-sched.c.
7721
7722 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
7723 haifa_classify_insn): Move them from sched-rgn.c.
7724
7725 * sched-deps.c (add_dependence): Return flag of creating a new
7726 entry.
7727 (add_forward_dependence): New function.
7728 (compute_forward_dependences): Use the function.
9a79ab7e 7729
15aab9c0
VM
7730 * sched-ebb.c (earliest_block_with_similiar_load): New function.
7731 (add_deps_for_risky_insns): New function.
7732 (schedule_ebb): Call the function.
7733
77342003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9 7735
52999738
ZW
7736 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
7737 TARGET_VECTOR_OPAQUE_P. Document accordingly.
c8e4f0e9 7738
52999738
ZW
7739 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
7740 opaque types fail.
c8e4f0e9 7741
52999738
ZW
7742 * c-typeck.c (comptypes): Change call to vector_types_compatible
7743 to vector_opaque_p.
7744 (convert_for_assignment): Call vector_opaque_p instead of
7745 vector_types_compatible.
7746 (really_start_incremental_init): Disallow initialization of opaque
7747 types.
c8e4f0e9 7748
52999738
ZW
7749 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
7750 Define TARGET_VECTOR_OPAQUE_P.
7751 (TARGET_INITIALIZER): Same.
c8e4f0e9 7752
52999738
ZW
7753 * target.h (struct gcc_target): Remove vector_types_compatible.
7754 Add vector_opaque_p.
c8e4f0e9 7755
52999738
ZW
7756 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
7757 Remove.
7758 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
7759 a vector type. Change return type to bool.
7760 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
7761 (TARGET_VECTOR_OPAQUE_P): Define.
c8e4f0e9 7762
52999738
ZW
7763 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
7764 target hook.
7765 Include target.h.
7766 (cp_parser_init_declarator): Fix typo in function comments.
c8e4f0e9 7767
62c9aa5f 77682003-02-25 Jan Hubicka <jh@suse.cz>
fa1a0d02
JH
7769
7770 * Makefile.in (lcm.o): Add dependency on function.h
7771 * lcm.c (function.h): Include.
7772 * i386.c (machine_function, ix86_stack_locals,
7773 * ix86_save_varrargs_registers) : Move to
7774 ...
7775 * i386.h (machine_function, ix86_stack_locals,
7776 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
7777 (ix86_optimize_mode_switching): New.
7778 * i386.md (fix patterns): Set ix86_optimize_mode_switching
7779
b103bfef
NC
77802003-02-25 Nick Clifton <nickc@redhat.com>
7781
7782 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
7783 of fourth arg is 'fndecl' not 'indirect'. Update comment
7784 describing the function's parameters.
7785
62c9aa5f 77862003-02-24 Jan Hubicka <jh@suse.cz>
2d21f7d6
JH
7787
7788 * combine.c (simplify_shift_const): Fix previous patch.
7789
2bac97f7
JL
77902003-02-24 Jeff Law <law@redhat.com>
7791
7792 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
7793 alternative.
7794 (testsi_1, testhi_1, testqi_1): Likewise.
7795
f8dc212b
RO
77962003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7797
7798 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
7799 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
7800 * doc/extend.texi (Tru64 Pragmas): Reflect this.
7801
7802 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
9a79ab7e 7803 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
f8dc212b
RO
7804 * fixinc/fixincl.x: Regenerate.
7805 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
7806 testcase.
7807 Fixes PR c/5059, c/6126, other/9671.
9a79ab7e 7808
44ee6e9e
RS
78092003-02-24 Roger Sayle <roger@eyesopen.com>
7810
7811 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
7812 from handle_braces in "%{...}".
7813
463f02cd
KK
78142003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
7815
7816 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
7817 (prepare_move_operands): Handle TLS operands.
7818 (tls_symbolic_operand): New.
7819 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
7820 (legitimize_pic_address): Do nothing for the TLS symbol.
7821 (sh_encode_section_info): Handle TLS case.
7822 (sh_strip_name_encoding): Drop TLS encoding.
7823 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
7824 * config/sh/sh.h (SH_TLS_ENCODING): Define.
7825 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
7826 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
7827 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
7828 * config/sh/sh.md: Define TLS UNSPEC constants.
7829 (type): Add tls_load.
7830 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
7831 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
7832 ("tls_initial_exec"): New insn.
7833 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
7834 ("load_gbr"): New insn.
7835
7836 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
52999738 7837 * configure: Regenerate.
463f02cd 7838
8403445a
AM
78392003-02-24 Alan Modra <amodra@bigpond.net.au>
7840
6fc19dc9 7841 PR 9297, PR 9722
8403445a
AM
7842 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
7843 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
7844 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
7845 (enum block_op_methods): Reorder for better store_expr optimization.
7846 * expr.c (store_expr): Test bit 1 of "want_value" for call param
7847 stores, test bit 0 for original want_value meaning. Pass
7848 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
7849 recursive calls, and calls to expand_param.
7850 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
7851 expected, set target to 0 rather than to subtarget. Formatting.
7852
ef906381
KH
78532003-02-23 Kazu Hirata <kazu@cs.umass.edu>
7854
7855 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
7856
16226f1e
KG
78572003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7858
7859 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
7860 new default behavior.
7861 * ggc-common.c: Include sys/resource.h.
7862 (ggc_rlimit_bound): New function.
7863 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
7864 defaults to account for rlimits.
7865
9e555526
RH
78662003-02-22 Richard Henderson <rth@redhat.com>
7867
7868 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
7869
78702003-02-22 Kelley Cook <kelley@dwhoops.info>
7871
52999738 7872 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
9e555526
RH
7873 (ix86_tune_string): Rename from ix86_cpu_string.
7874
9d913bbf
KC
78752003-02-22 Kelley Cook <kelleycook@comcast.net>
7876
52999738
ZW
7877 * config/i386/i386.c: Replace "mcpu" with "mtune".
7878 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
7879 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
7880 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
7881 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
9d913bbf 7882
d2c172bf
AS
78832003-02-23 Andreas Schwab <schwab@suse.de>
7884
7885 * config.gcc: Delete references to m68k/t-linux and
7886 m68k/t-linux-aout.
7887 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
7888
62c9aa5f 78892003-02-22 Jan Hubicka <jh@suse.cz>
b3de7382
JH
7890
7891 * toplev.c (rest_of_compilation): Apply fotgotten hunk
7892 of track scheduling patch.
7893
62c9aa5f 78942003-02-22 Jan Hubicka <jh@suse.cz>
90b8be73
JH
7895
7896 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
7897 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
7898
62c9aa5f 78992003-02-22 Jan Hubicka <jh@suse.cz>
764c4414
JH
7900
7901 * c-decl.c (c_expand_body_1): Fix.
7902
62c9aa5f 79032003-02-22 Jan Hubicka <jh@suse.cz>
1c4a429a
JH
7904
7905 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
7906
7907 * cfgcleanup.c (try_forward_edges): Don't check loop structures
7908 when not optimizing.
7909 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
7910 when not expensive.
7911 * toplev.c (rest_of_compilation): Duplicate loop headers only when
7912 optimizing; Delete trivially dead insns early; fix optimize check.
7913
7914 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
7915 dependency on cgraph.h
7916 * c-decl.c: Include cgraph.h
7917 (finish_function): Update call of tree_inlinable_function_p.
7918 * c-objc-common.c: Include cgraph.h
7919 * cgraph.h: New file.
7920 * cgraphunit.c: New file.
7921 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
7922 (cgraph_nodes, cgraph_n_nodes): Globalize.
7923 (cgraph_finalize_function, cgraph_finalize_compilation_unit
7924 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
7925 Move into cgraphunit.c
7926 * tree-inline.c: Include cgraph.h
7927 * tree-inline.c: Include cgraph.h
7928
1e2115dc
JZ
79292003-02-22 Josef Zlomek <zlomekj@suse.cz>
7930
7931 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
7932 for copying a register.
7933
26182e15
SB
79342003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
7935
7936 PR other/3782
7937 * toplev.c (process_options): If flag_detailed_statistics is set,
7938 then set time_report as well.
7939
b6553814
SB
7940 PR c/8828
7941 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
7942 insns. Update comments to reflect what the function really does.
7943
c0a47a61
RS
79442003-02-21 Roger Sayle <roger@eyesopen.com>
7945
7946 * fold-const.c (omit_one_operand): No longer static.
7947 * tree.h (omit_one_operand): Prototype here.
7948 (div_and_round_double): Keep fold-const.c prototypes together.
7949 * builtins.c (builtin_mathfn_code): Handle binary built-in
7950 funtions, such as "pow" and "atan2".
7951 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
7952 Simplify optimizations using "type" the builtin's return type.
7953
51928907
HPN
79542003-02-22 Hans-Peter Nilsson <hp@axis.com>
7955
5b296d93
HPN
7956 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
7957 Fix functionalization typo.
7958
51928907
HPN
7959 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
7960 in an asm.
7961
9ac121af
KG
79622003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7963
7964 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
7965 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
7966 documentation.
7967 * ggc-common.c: Include params.h
7968 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
7969 init_ggc_heuristics): New functions.
7970 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
7971 init_ggc_heuristics): Prototype.
7972 * toplev.c (print_version): Output GGC heuristics.
7973 (parse_options_and_default_flags): Call init_ggc_heuristics.
7974
62c9aa5f 79752003-02-22 Jan Hubicka <jh@suse.cz>
453ee231
JH
7976
7977 * i386.c (def_builtin): Special case 64bit builtins.
7978 (MASK_SSE164, MASK_SSE264): New constants.
7979 (builtin_description): Add 64bit builtins.
7980 (ix86_init_mmx_sse_builtins): Likewise.
7981 * i386.h (enum ix86_builtins): Likewise.
7982 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
7983 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
7984 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
7985 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
7986 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
7987 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
7988 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
7989
62c9aa5f 79902003-02-22 Jan Hubicka <jh@suse.cz>
d50672ef
JH
7991
7992 * i386.c (builtin_description): Add __builtin_ia32_paddq and
7993 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
7994 and __builtin_ia32_psubq128.
7995 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
7996 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
7997 (mmx_adddi3, mmx_subdi3): New.
7998 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
7999 * xmmintrin.h (_mm_movepi64_pi64): New.
8000 (_mm_add_epi64, _mm_sub_epi64): fix.
8001 (_mm_mul_pu16): Rename to...
8002 (_mm_mul_su32): ... this one.
8003
8004 * builtins.c (expand_builtin_expect): Do not predict
8005 flag_guess_branch_prob is not set.
8006 * c-semantics.c (expand_stmt): Likewise.
8007 * predict.c (predict_insn): Likewise.
8008 * stmt.c (expand_continue_loop): Likewise.
8009 * toplev.c (rest_of_compilation): Do not call
8010 note_prediction_to_br_prob and note_prediction_to_br_prob
8011 when not optimizing.
8012
62c9aa5f 80132003-02-21 Jan Hubicka <jh@suse.cz>
9809a362
JH
8014
8015 * cfgrtl.c (commit_edge_insertions): Call
8016 find_many_sub_basic_block only when some code has been emitted.
8017 (commit_edge_insertions_watch_calls): Bring into sync with
8018 commit_edge_insertions
8019
62c9aa5f 80202003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
a93d1ba2
R
8021
8022 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
8023
8024 * sh.md (binary_sf_op): Use extra constant operand instead of
8025 negating constant operand 4.
8026 * sh.c (sh_expand_binop_v2sf): Supply it.
8027
a8d0ddaf
ZW
80282003-02-21 Zack Weinberg <zack@codesourcery.com>
8029
8030 * cpphash.h (struct lexer_state): Add directive_wants_padding.
8031 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
8032 for directives of type INCL.
8033 (glue_header_name, parse_include): Use get_token_no_padding.
8034 * cppmacro.c (replace_args): If directive_wants_padding,
8035 provide padding tokens.
8036
902ac719
KH
80372003-02-21 Kazu Hirata <kazu@cs.umass.edu>
8038
8039 * config/h8300/h8300.md (a peephole2): New.
8040
62c9aa5f 80412003-02-21 Jan Hubicka <jh@suse.cz>
9dca2ad5
JH
8042
8043 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
8044 (commit_edge_insertions): Call find_many_sub_basic_blocks
8045
8046 * reg-stack.c (convert_regs): Cleax aux for blocks.
8047
62c9aa5f 80482003-02-21 Jan Hubicka <jh@suse.cz>
64465d27
JH
8049
8050 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
8051
9e7d0b92
GN
80522003-02-21 Glen Nakamura <glen@imodulo.com>
8053
8054 PR optimization/8613
8055 * builtins.c (expand_builtin): Emit postincrements before expanding
8056 builtin functions.
8057
a7582c8c
BE
80582003-02-21 Ben Elliston <bje@redhat.com>
8059
8060 PR other/5634
8061 * doc/install.texi (Configuration): Explain using $HOME instead of
8062 the ~ metacharacter when referring to home directories.
8063
91710e62
AO
80642003-02-20 Alexandre Oliva <aoliva@redhat.com>
8065
8066 * configure.in (TARGET_SYSTEM_ROOT): Set default to
8067 ${exec_prefix}/${target_alias}/sys-root. Match explicit
8068 '${exec_prefix}' (in addition to the expansion thereof) as
8069 relocatable.
8070 * configure: Rebuilt.
8071
d64f6f86
KH
80722003-02-20 Kazu Hirata <kazu@cs.umass.edu>
8073
8074 * config/h8300/h8300.md (addhi3_incdec): Change the name to
8075 *addhi3_incdec.
8076 (addsi3_incdec): Change the name to *addsi3_incdec.
8077
fd7acc30
RS
80782003-02-20 Roger Sayle <roger@eyesopen.com>
8079
8080 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
8081
1c2de642
TM
80822003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
8083
8084 PR fortran/9038
8085 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
8086 options to be ignored.
8087 (c_common_decode_option): Ignore them when preprocessing.
8088
62c9aa5f 80892003-02-20 Jan Hubicka <jh@suse.cz>
b9422b69 8090
fd7acc30
RS
8091 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
8092 global variables.
8093 (lang_independent_options): Add -fsched2-use-superblocks
8094 -fsced2-use-traces.
b9422b69
JH
8095 (rest_of_compilation): Deal with it.
8096 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
8097 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
8098 Declare.
b9422b69
JH
8099 * rtl.h (reg_to_stack): Update prototype.
8100 * reg-stack.c (reg_to_stack): Return when something has changed;
8101 update liveness when executing after superblock scheduling.
8102
8103 * combine.c (simplify_shift_const): Simplify few special cases
8104 into constants.
8105
a62bfff2
DE
81062003-02-20 David Edelsohn <edelsohn@gnu.org>
8107
8108 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
8109 (add.,subf.,neg.): Change attribute to fast_compare.
8110 All DFA descriptions updated.
8111
dbbf88d1
NS
81122003-02-20 Nathan Sidwell <nathan@codesourcery.com>
8113
8114 Change base class access representation.
8115 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
8116 TREE_VIA_PRIVATE): Remove.
8117 (BINFO_BASEACCESSES): New binfo elt.
8118 (BINFO_BASEACCESS): New accessor.
8119 (BINFO_ELTS): Increase.
8120 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
8121 (access_public_node, access_protected_node,
8122 access_private_node): New global nodes.
8123 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
8124 * dbxout.c (dbxout_type): Adjust.
8125 * dwarf2out.c (gen_inheritance_die): Add access parameter.
8126 (gen_member_die): Adjust.
8127 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
8128 (output_type): Adjust.
8129 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
8130
8131 Change base class access representation. Share virtual base
8132 binfos.
8133 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
8134 call.
8135 * cp/class.c (build_base_path): Likewise.
8136 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
8137 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
8138 (make_new_vtable): Adjust.
8139 (force_canonical_binfo_r): Delete.
8140 (force_canonical_binfo): Delete.
8141 (mark_primary_virtual_base): Delete.
8142 (dfs_unshared_virtual_bases): Delete.
8143 (mark_primary_bases): Adjust.
8144 (maybe_warn_about_overly_private_class): Adjust.
8145 (dfs_base_derived_from): Delete.
8146 (base_derived_from): Follow the inheritance chain.
8147 (struct find_final_overrider_data): Add vpath member.
8148 (dfs_find_final_overrider): Adjust.
8149 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
8150 (find_final_overrider): Adjust.
8151 (update_vtable_entry_for_fn): Adjust.
8152 (modify_all_vtables): Adjust.
8153 (walk_subobject_offsets): Adjust.
8154 (layout_nonempty_base_or_field): Adjust.
8155 (layout_empty_base): Remove last parameter. Adjust.
8156 (build_base_field): Adjust.
8157 (build_base_fields): Adjust.
8158 (propagate_binfo_offsets): Remove last parameter. Adjust.
8159 (dfs_set_offset_for_unshared_vbases): Delete.
8160 (layout_virtual_bases): Adjust.
8161 (finish_struct_1): Adjust.
8162 (init_class_processing): Don't init access nodes.
8163 (dfs_get_primary_binfo): Delete.
8164 (get_primary_binfo): Adjust.
8165 (dump_class_hierarchy_r): Remove most derived arg, add IGO
8166 parameter. Adjust.
8167 (dump_class_hierarchy): Adjust.
8168 (finish_vtbls): Adjust.
8169 (get_original_base): Delete.
8170 (build_vtt_inits): Adjust.
8171 (dfs_build_secondary_vptr_vtt_inits): Adjust.
8172 (dfs_ctor_vtable_bases_queue_p): Adjust.
8173 (build_ctor_vtbl_group): Adjust.
8174 (dfs_accumulate_vtbl_inits): Adjust.
8175 (build_vtbl_initializer): Adjust.
8176 (build_vbase_offset_vtbl_entries): Adjust.
8177 (add_vcall_offset_vtbl_entries_1): Adjust.
8178 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
8179 (access_*_node): Remove.
8180 (CANONICAL_BINFO): Delete.
8181 (BINFO_UNSHARED_MARKED): Remove.
8182 (BINFO_MARKED): Set LANG_FLAG_0 directly.
8183 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
8184 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
8185 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
8186 Delete.
8187 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
8188 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
8189 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
8190 Delete.
8191 (BINFO_DEPENDENT_BASE_P): New.
8192 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
8193 index.
8194 (markedp, unmarkedp): Adjust.
8195 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
8196 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
8197 find_vbase_instance, binfo_for_vbase): Delete.
8198 (copied_binfo, original_binfo): Declare.
8199 (finish_base_specifier): Add virtual_p arg.
8200 (unshare_base_binfos): Delete.
8201 (copy_base_binfos): Declare.
8202 (reverse_path): Delete.
8203 * cp/decl.c (xref_basetypes): Access and virtuality passed
8204 differently. Don't copy direct base binfos here. Call
8205 copy_base_binfos.
8206 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
8207 (initialize_vtbl_ptrs): Adjust.
8208 (expand_member_init): Adjust.
8209 * cp/parser.c (cp_parser_base_specifier): Adjust.
8210 * cp/pt.c (instantiate_class_template): Adjust.
8211 (get_template_base_recursive): Adjust.
8212 * cp/rtti.c (get_pseudo_ti_init): Adjust.
8213 (get_pseudo_ti_desc): Adjust.
8214 * cp/tree.c (unshare_base_binfos): Rename to ...
8215 (copy_base_binfos): ... here, reimplement.
8216 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
8217 (reverse_path): Remove.
8218 * cp/typeck.c (get_delta_difference): Adjust error messages.
8219 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
8220 * cp/search.c (lookup_base_r): Adjust.
8221 (dynamic_cast_base_recurse): Adjust.
8222 (canonical_binfo): Remove.
8223 (dfs_canonical_queue): Remove.
8224 (dfs_assert_unmarked_p): Remove.
8225 (assert_canonical_unmarked): Remove.
8226 (shared_marked_p, shared_unmarked_p): Remove.
8227 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
8228 (dfs_access_in_type): Adjust.
8229 (access_in_type): Adjust.
8230 (dfs_accessible_queue_p): Adjust.
8231 (dfs_accessible_p): Adjust.
8232 (is_subobject_of_p_1, is_subobject_of_p): Remove.
8233 (struct lookup_field_info): Remove from_dep_base_p field.
8234 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
8235 (lookup_field_r): Remove dependent base code.
8236 (lookup_member): Likewise.
8237 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
8238 (dfs_unmarked_real_bases_queue_p): Remove.
8239 (dfs_marked_real_bases_queue_p): Remove.
8240 (dfs_skip_vbases): Remove.
8241 (dfs_get_pure_virtuals): Adjust.
8242 (markedp, unmarkedp): Adjust.
8243 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
8244 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
8245 (dfs_unmark): Adjust.
8246 (dfs_get_vbase_types):Remove.
8247 (dfs_build_inheritance_graph_order): Remove.
8248 (get_vbase_types): Remove
8249 (dfs_find_vbase_instance): Remove.
8250 (find_vbase_instance): Remove.
8251 (dfs_debug_unmarkedp): Adjust.
8252 (dependent_base_p): Remove.
8253 (dfs_push_type_decls): Adjust.
8254 (dfs_push_decls): Adjust.
8255 (dfs_no_overlap_yet): Adjust.
8256 (copied_binfo): New function.
8257 (original_binfo): New function.
8258 (binfo_for_vbase): Remove.
8259
8260 Change base class access representation.
8261 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
8262 (add_interface_do): Likewise.
8263
6d6ab190
DE
82642003-02-20 David Edelsohn <edelsohn@gnu.org>
8265
a8d0ddaf
ZW
8266 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
8267 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
8268 insn reservations.
8269 (power4-fpstore): Compact.
8270
2dd5df7c
KH
82712003-02-20 Kazu Hirata <kazu@cs.umass.edu>
8272
8273 * config/h8300/h8300.md (*iorsi3_w): New.
8274
8fa08316
JZ
82752003-02-20 Josef Zlomek <zlomekj@suse.cz>
8276
8277 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
8278 * rtl.c (reg_note_name): Likewise.
8279 * rtl.h (enum reg_note): Likewise.
8280 * doc/invoke.texi: Likewise.
8281 * doc/rtl.texi: Likewise.
8282
c8717368
JZ
82832003-02-20 Josef Zlomek <zlomekj@suse.cz>
8284
8285 * bb-reorder.c (find_traces_1_round): Fix comment typo.
8286
3bc400cd
RS
82872003-02-19 Roger Sayle <roger@eyesopen.com>
8288
8289 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
8290 addition in the presence of signaling NaNs.
8291
b5a49c0b
KW
82922003-02-19 Krister Walfridsson <cato@df.lth.se>
8293
8294 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
8295
472f2723
KH
82962003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8297
8298 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
8299 ORing with 0xffff??00 with the highest bit of the ?? part set.
8300 (compute_logical_op_length): Update.
8301 (compute_logical_op_cc): Likewise.
8302
6d9cc15b
JZ
83032003-02-19 Josef Zlomek <zlomekj@suse.cz>
8304
8305 * bb-reorder.c (find_traces_1_round): Fixed condition for small
8306 destination block with multiple predecessors.
8307 (connect_traces): Check whether the block is a start of trace.
8308
62c9aa5f 83092003-02-19 Jan Hubicka <jh@suse.cz>
563a317a
JH
8310
8311 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
8312 * function.c (assign_params): Likewise.
8313 * arm-protos.h (arm_init_cumulative_args): Update prototype.
8314 * arm.c (arm_init_cumulative_args): Update function.
8315 * arm.h (INIT_CUMULATIVE_ARGS): Update.
8316 * avr-protos.h (init_cumulative_args): Update prototype.
8317 * avr.c (init_cumulative_args): Update function.
8318 * avr.h (INIT_CUMULATIVE_ARGS): Update.
8319 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
8320 * d30v.c (d30v_init_cumulative_args): Update function.
8321 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
8322 * frv-protos.h (frv_init_cumulative_args): Update prototype.
8323 * frv.c (frv_init_cumulative_args): Update function.
8324 * frv.h (INIT_CUMULATIVE_ARGS): Update.
8325 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
8326 * pa.h (INIT_CUMULATIVE_ARGS): Update.
8327 * sparc-protos.h (init_cumulative_args): Update prototype.
8328 * sparc.c (init_cumulative_args): Update function.
8329 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
8330 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
8331
be9d08c2
KH
83322003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8333
8334 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
8335 (*ashiftsi_sextqi_7): Likewise.
8336
f23147fe
RO
83372003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8338
8339 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
8340 ISO C99 and C++.
8341
8342 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
8343 for C++ on IRIX 6.5.1[89].
8344 * fixinc/tests/base/internal/sgimacros.h: New file.
8345
8346 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
8347 * fixinc/tests/base/internal/wchar_core.h: New file.
a8d0ddaf 8348
f23147fe
RO
8349 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
8350 socklen_t definition.
8351 * fixinc/fixincl.x: Regenerate.
8352 * fixinc/tests/base/sys/socket.h: New file.
8353 Fixes PR libgcj/9652.
8354
62c9aa5f 83552003-02-19 Jan Hubicka <jh@suse.cz>
30e4d9d4
JH
8356
8357 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
8358
2792d578
DE
83592003-02-19 David Edelsohn <edelsohn@gnu.org>
8360
8361 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
8362 align_jumps_max_skip and align_loops_max_skip.
8363
83642003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
8365
8366 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
8367 test size if named section.
8368
48a5f2fa
DJ
83692003-02-19 Daniel Jacobowitz <drow@mvista.com>
8370
8371 * expr.c (expand_expr): Use gen_int_mode for the argument
8372 to gen_rtx_MULT.
8373
62c9aa5f 83742003-02-19 Jan Hubicka <jh@suse.cz>
9e889775
JH
8375
8376 * i386.md (cosxf2): Fix conditional.
8377
f4c07fbf
KH
83782003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8379
8380 * config/h8300/h8300.md (extendqisi2): Change to an expander.
8381 (*extendqisi2_h8300): New.
8382 (*extendqisi2_h8300hs): Likewise.
8383
590734b6
KH
83842003-02-19 Kazu Hirata <kazu@cs.umass.edu>
8385
8386 * config/h8300/h8300-protos.h: Update the prototype for
8387 split_adds_subs. Remove the prototypes for
8388 const_int_le_2_operand and const_int_le_6_operand.
8389 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
8390 (const_int_le_2_operand): Remove.
8391 (const_int_le_6_operand): Likewise.
8392 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
8393 for const_int_le_2_operand and const_int_le_6_operand.
8394 * config/h8300/h8300.md: Update all uses of split_adds_subs.
8395 (a peephole2): New.
8396
62c9aa5f 83972003-02-18 Jan Hubicka <jh@suse.cz>
c001c39b
JH
8398
8399 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
8400 (cgraph_expand_function): Rewrite.
8401
2f51bb1d 84022003-02-18 Matt Austern <austern@apple.com>
3bc400cd 8403
2f51bb1d 8404 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 8405 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 8406
ff6e1a2f
KH
84072003-02-18 Kazu Hirata <kazu@cs.umass.edu>
8408
8409 * config/h8300/h8300.c (general_operand_src): Always check
8410 MODE.
8411 (general_operand_dst): Likewise.
8412
78bd5210
RS
84132003-02-18 Roger Sayle <roger@eyesopen.com>
8414
8415 * convert.c (convert_to_real): Also optimize (float)log(x) into
8416 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
8417
9f3a9a08
KK
84182003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
8419
a8d0ddaf 8420 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 8421 (sh_cannot_copy_insn_p): New.
a8d0ddaf 8422 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 8423
d7ddbe24
RH
84242003-02-18 Richard Henderson <rth@redhat.com>
8425
8426 * c-common.c (handle_used_attribute): Accept static data too.
8427
84282003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 8429 Aldy Hernandez <aldyh@redhat.com>
22d324c1 8430
a8d0ddaf 8431 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 8432
a8d0ddaf 8433 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 8434
a8d0ddaf
ZW
8435 * target-def.h (TARGET_INITIALIZER): Add
8436 TARGET_VECTOR_TYPES_COMPATIBLE.
8437 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 8438
a8d0ddaf 8439 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 8440
a8d0ddaf
ZW
8441 * c-typeck.c (comptypes): Take into account
8442 TARGET_VECTOR_TYPES_COMPATIBLE.
8443 (convert_for_assignment): Same.
22d324c1 8444
a8d0ddaf
ZW
8445 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
8446 (rs6000_spe_vector_types_compatible): New.
8447 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 8448
e5378e8d
AS
84492003-02-19 Andreas Schwab <schwab@suse.de>
8450
8451 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
8452 * toplev.c: Include langhooks-def.h.
8453
fcc11c35
CD
84542003-02-18 Chris Demetriou <cgd@broadcom.com>
8455
8456 * config/mips/mips.h (enum processor_type): Sort entries
8457 alphabetically.
8458 * config/mips/mips.md (define_attr cpu): Sync with processor_type
8459 enum values, including adding entries that were missing.
8460
62c9aa5f 84612003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
29db2a1e 8462
3bc400cd
RS
8463 * sh.c (calc_live_regs): Also check GET_CODE when checking if
8464 initial value for PR_REG is still the PR_REG register.
29db2a1e 8465
582d11e6
JW
84662003-02-18 Jim Wilson <wilson@redhat.com>
8467
8468 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
8469 instruction in output template.
8470 (bsp_value): Change output template from string to C code, add %,
8471 before actual instruction.
8472 (flushrs): Mark as not predicable.
8473
3edc4b23
KW
84742003-02-18 Krister Walfridsson <cato@df.lth.se>
8475
8476 * inclhack.def (netbsd_bogus_semicolon): New fix.
8477 * fixincl.x: Rebuilt.
8478 * tests/base/ctype.h: Update.
8479
080ea642
RS
84802003-02-18 Roger Sayle <roger@eyesopen.com>
8481
8482 * fold-const.c (negate_expr_p): New function to determine whether
8483 an expression can be negated cheaply.
8484 (fold) [MINUS_EXPR]: Use it to determine whether to transform
8485 -A - B into -B - A for floating point types.
8486
e360ab39
RS
84872003-02-18 Roger Sayle <roger@eyesopen.com>
8488
8489 * sbitmap.c (sbitmap_resize): New function.
8490 * sbitmap.h (sbitmap_resize): Prototype here.
8491 * recog.c (split_all_insns): Use sbitmap_resize.
8492
6b00cbc7
KH
84932003-02-18 Kazu Hirata <kazu@cs.umass.edu>
8494
8495 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
8496 insn length.
8497 (extendqisi2): Likewise.
8498 (*extendhisi2_h8300): Likewise.
8499
2b59501b 85002003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 8501
2b59501b
MA
8502 * langhooks.h, langhooks-def.h: introduce new langhook,
8503 final_write_globals, with write_global_declarations as default.
8504 * toplev.c: Move invocation of wrapup_global_declarations from
8505 compile_file to new function, write_global_declarations. Change
8506 compile_file to use final_write_globals hook. Change
8507 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
a8d0ddaf
ZW
8508 conditional.
8509
131efcd8
JDA
85102003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8511
8512 * pa.md: Correct and enhance comment.
8513
e17aafd1
GK
85142003-02-18 Geoffrey Keating <geoffk@apple.com>
8515
8516 * gcc.c (validate_switches): Don't scan past closing '}'.
8517
f57a2e3a
BE
85182003-02-18 Ben Elliston <bje@redhat.com>
8519
8520 PR c++/1607
8521 * doc/extend.texi (Function Attributes): Document the effect of
8522 the C++ "this" parameter on the counting of arguments for the
8523 "format" and "format_arg" attributes.
8524
9b0c0e9f
AH
85252003-02-17 Aldy Hernandez <aldyh@redhat.com>
8526
a8d0ddaf
ZW
8527 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
8528 (__ev_stdw): Same.
8529 (__ev_stdh): Same.
9b0c0e9f 8530
62c9aa5f 85312003-02-17 Jan Hubicka <jh@suse.cz>
35a3fa09
JH
8532
8533 * recog.c (split_all_insns): Fix memory overflow.
8534
6dc50366
KH
85352003-02-17 Kazu Hirata <kazu@cs.umass.edu>
8536
8537 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
8538 (cmphi): Likewise.
8539 (*cmphi_h8300): Likewise.
8540 (*cmphi_h8300hs): Likewise.
8541 (cmpsi): Likewise.
8542 (7 peephole2): Likewise.
8543
62c9aa5f 85442003-02-16 Jan Hubicka <jh@suse.cz>
096daf41
JH
8545
8546 * c-typeck.c (build_c_cast): Fold constant variables into
8547 initial values.
8548
35113fde
GP
85492003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8550
8551 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
8552 (Binaries): Ditto for Sinix/Reliant Unix.
8553
3a1944a6
RE
85542003-02-16 Richard Earnshaw <rearnsha@arm.com>
8555
8556 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
8557 not overlap the final result register.
8558
cdd4b0d4
AB
85592003-02-16 Arend Bayer <arend.bayer@web.de>
8560 Richard Henderson <rth@redhat.com>
8561
ddb9eedd 8562 PR c/8068
cdd4b0d4
AB
8563 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
8564 rearrange mult arguments for less recursion.
8565 (extract_muldiv): New. Prevent runaway recursion.
8566
616f273a
DS
85672003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
8568
8569 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
8570 MASK_ALIGN_DOUBLE.
8571
881b2a96
RS
85722003-02-15 Roger Sayle <roger@eyesopen.com>
8573
8574 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
8575 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
8576 (ext_80387_constants_table): Global table of 80387 special constants
8577 guarded by ext_80387_constants_init flag when not initialized.
8578 (init_ext_80387_constants): New function to initialize this table.
8579 (standard_80387_constant_p): Extend to recognize extra 80387
8580 constants, in XFmode, on processors where this is a win.
8581 (standard_80387_constant_opcode): New function to return the
8582 opcode associated with standard_80387_constant_p.
8583 (standard_80387_constant_rtx): New function to return the XFmode
8584 CONST_DOUBLE associated with standard_80387_constant_p.
8585 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
8586
8587 * config/i386/i386-protos.h (standard_80387_constant_opcode):
8588 Prototype here.
8589 (standard_80387_constant_rtx): Likewise.
8590
8591 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
8592 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
8593 *movtf_integer): Simplify using new standard_80387_constant_opcode.
8594
d203738b
GK
85952003-02-15 Geoffrey Keating <geoffk@apple.com>
8596
8597 * doc/invoke.texi (Optimize Options): Correct @option syntax.
8598
0b077eac
RH
85992003-02-15 Richard Henderson <rth@redhat.com>
8600
8601 * Makefile.in (cfglayout.o): Depend on TARGET_H.
8602 * cfglayout.c: Include target.h.
8603 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
8604 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
8605 * target.h (struct gcc_target): Add cannot_copy_insn_p.
8606
8607 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
8608 (TARGET_CANNOT_COPY_INSN_P): New.
8609 (override_options): Revert 2003-02-08 hack.
8610
9a71ece1
RH
86112003-02-15 Richard Henderson <rth@redhat.com>
8612
8613 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
8614 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
8615
b54cf83a
DE
86162003-02-15 David Edelsohn <edelsohn@gnu.org>
8617
8618 * config/rs6000/rs6000.h (processor_type): Add PPC440.
8619 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8620 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8621 TARGET_SCHED_VARIABLE_ISSUE): Define.
8622 (rs6000_use_dfa_pipeline_interface): New function.
8623 (rs6000_multipass_dfa_lookahead): New Function.
8624 (rs6000_variable_issue): New function.
8625 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
8626 (rs6000_issue_rate): Add PPC440.
8627 * config/rs6000/rs6000.md (unspec list): Correct typo.
8628 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
8629 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
8630 cmp, delayed_cr, mfcr, mtcr.
8631 (automata_option): Set "ndfa".
8632 (extendMMNN2): Update attributes.
8633 (movcc_internal1): Discourage move to non-cr0. Update
8634 attributes.
8635 (movMM_update): Update attributes.
8636 (cmpMM_internal): Update attributes.
8637 (sCC CR materialization): Update attributes.
8638 (branch patterns): Do not discourage non-cr0.
8639 (cr logical patterns): Prefer destructive register allocation.
8640 Update attributes.
8641 (movesi_from_cr): Update attribute.
8642 (mtcrf_operation): Update attribute.
8643 (mtcrfsi): Update attribute.
8644 * config/rs6000/40x.md: New file.
8645 * config/rs6000/603.md: New file.
8646 * config/rs6000/6xx.md: New file.
8647 * config/rs6000/7450.md: New file.
8648 * config/rs6000/7xx.md: New file.
8649 * config/rs6000/mpc.md: New file.
8650 * config/rs6000/power4.md: New file.
8651 * config/rs6000/rios1.md: New file.
8652 * config/rs6000/rios2.md: New file.
8653 * config/rs6000/rs64.md: New file.
8654 [Some DFA descriptions based on work by Michael Hayes]
8655
99dc7277
RH
86562003-02-15 Richard Henderson <rth@redhat.com>
8657
8658 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
8659 successors with multiple predecessors.
8660 (connect_traces): Try harder to copy traces of length 1.
8661
8662 * function.h (struct function): Add computed_goto_common_label,
8663 computed_goto_common_reg.
8664 * function.c (free_after_compilation): Zap them.
a8d0ddaf 8665 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
8666 indirect branch per function.
8667
5f24e0dc
RH
86682003-02-15 Richard Henderson <rth@redhat.com>
8669
8670 * cfgcleanup.c: Include params.h.
8671 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
8672 too many outgoing edges from a block.
8673 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
8674 * params.def (max-crossjump-edges): New.
8675 * doc/invoke.texi: Document it.
8676
9381bbc9
RH
86772003-02-15 Richard Henderson <rth@redhat.com>
8678
a8d0ddaf
ZW
8679 * recog.c (split_all_insns): Include new blocks in life update;
8680 do a global life update.
9381bbc9 8681
e898926c
DS
86822003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
8683
8684 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
8685 Update copyright.
8686 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
8687 -mno-cygwin case.
8688
ce65116b
FH
86892003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
8690
8691 PR optimization/7702
8692 * reload1.c (reload_cse_simplify_set): Honor
8693 CANNOT_CHANGE_MODE_CLASS.
8694
fe7496dd
AO
86952003-02-14 Alexandre Oliva <aoliva@redhat.com>
8696
8697 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
8698 function.
8699 * config/mn10300/mn10300-protos.h: Declare it.
8700 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
8701 attribute cc of instructions that may use clr.
8702
6017c719
KH
87032003-02-14 Kazu Hirata <kazu@cs.umass.edu>
8704
8705 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
8706 (x - (x & y)) is found.
8707
9fb28a67
RO
87082003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8709
8710 * configure.in: Fix typo.
8711 * configure: Regenerate.
8712
60f469fa
KH
87132003-02-14 Kazu Hirata <kazu@cs.umass.edu>
8714
8715 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
8716
8fd73754 87172003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 8718
a8d0ddaf 8719 PR opt/2391
ce65116b
FH
8720 * combine.c: Fix spelling in comment.
8721 (cached_nonzero_bits): New function.
8722 (cached_num_sign_bit_copies): New function.
8fd73754
AN
8723 (nonzero_bits_with_known): New macro.
8724 (num_sign_bit_copies_with_known): New macro.
ce65116b 8725 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
8726 arguments. Change calls from nonzero_bits to
8727 nonzero_bits_with_known.
ce65116b 8728 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
8729 three new arguments. Change calls from num_sign_bit_copies to
8730 num_sign_bit_copies_with_known.
ce65116b
FH
8731 (nonzero_bits): New macro.
8732 (num_sign_bit_copies): New macro.
8733 (update_table_tick): Don't traverse identical subexpression more
8fd73754 8734 than once.
ce65116b 8735 (get_last_value_validate): Likewise.
8fd73754 8736
ddb0ae00
ZW
87372003-02-13 Zack Weinberg <zack@codesourcery.com>
8738
8739 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
8740 * function.h (struct emit_status): Length of regno_pointer_align
8741 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
8742 not regno_pointer_align_length (i.e. length actually used, not
8743 length as allocated)
8744
8745 * config/i386/i386.c (struct stack_local_entry): New.
8746 (struct machine_function): Replace huge array with alist.
8747 (assign_386_stack_local): Change to match.
8748
c20b55c0
JDA
87492003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
8750
8751 * inclhack.def (hpux_long_double): Tighten select and add bypass
8752 regexp.
8753 * fixincl.x: Rebuilt.
8754
ffc8f11e
JZ
87552003-02-13 Josef Zlomek <zlomekj@suse.cz>
8756
8757 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
8758 edge and block ends with a jump insn it must be simple jump.
8759
047d636f
DJ
87602003-02-13 Daniel Jacobowitz <drow@mvista.com>
8761
8762 * Makefile.in (PREPROCESSOR_DEFINES): Add
8763 @TARGET_SYSTEM_ROOT_DEFINE@.
8764 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
8765 is specified or if building a cross compiler.
8766 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
8767 if the sysroot is under $exec_prefix.
8768 * configure: Regenerated.
8769 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
8770 defined.
8771 (struct default_include): Add add_sysroot field.
8772 (cpp_SYSROOT): Declare.
8773 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
8774 field.
8775 (cpp_SYSROOT): New variable.
8776 * cppinit.c (cpp_create_reader): Initialize
8777 CPP_OPTION (pfile, sysroot).
8778 (init_standard_includes): Handle add_sysroot. Do not
8779 add unrelocated copies of relocated directories.
8780 (COMMAND_LINE_OPTIONS): Add -isysroot.
8781 (cpp_handle_option): Handle -isysroot.
8782 * cpplib.h (struct cpp_options): Add sysroot member.
8783 * gcc.c (The Specs Language): Update description of %I.
8784 (target_system_root_changed): New variable.
8785 (process_command): Conditionalize make_relative_prefix call
8786 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
8787 target_system_root_changed.
8788 (do_spec_1): Add -isysroot to %I.
8789 * doc/invoke.texi (Spec Files): Update description of %I.
8790 * doc/install.texi (--with-sysroot): Update comment about
8791 relocation.
8792
4302db79
KH
87932003-02-13 Kazu Hirata <kazu@cs.umass.edu>
8794
8795 * config/h8300/h8300.md (a peephole2): New.
8796
e0d9cc77 87972003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 8798 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
8799
8800 * doc/install.texi (Specific): Update three SCO-related URLs.
8801
9fb93b00
AS
88022003-02-13 Andreas Schwab <schwab@suse.de>
8803
8804 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
8805 Parenthesize properly.
8806 (NPREDECESORS): Parenthesize properly.
8807
22ffcc6f
GDR
88082003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
8809
8810 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
8811
1fb54135
RS
88122003-02-12 Roger Sayle <roger@eyesopen.com>
8813
8814 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
8815 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
8816
8817 * reg-stack.c (subst_stack_regs_pat): Add support for binary
8818 UNSPEC instructions (e.g. "fpatan").
8819
19a7414e
MS
88202003-02-12 Mike Stump <mrs@apple.com>
8821
8822 * varray.c (element_size): Remove.
8823 (uses_ggc): Remove.
8824 (element): Add.
8825 (varray_init): Use new interface.
8826 (varray_grow): Use new interface.
8827 (varray_clear): Use new interface.
8828
e589cc6e
AH
88292003-02-12 Aldy Hernandez <aldyh@redhat.com>
8830
ddb0ae00
ZW
8831 * config/rs6000/spe.h: Add casts to the arguments of the following
8832 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
8833 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
8834 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
8835 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
8836 __ev_get_u16, __ev_get_s16.
e589cc6e 8837
2bbfc542
KH
88382003-02-12 Kazu Hirata <kazu@cs.umass.edu>
8839
8840 * config/h8300/h8300.md (a peephole2): New.
8841
62c9aa5f 88422003-02-12 Jan Hubicka <jh@suse.cz>
e72fcfe8
JH
8843
8844 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
8845 (OBJS): Add callgraph.o
8846 (callgraph.o): New.
8847 * c-decl.c (expand_body_1): Break out from ...
8848 (expand_body): This one; change calling convention
8849 (finish_function): Move some of expand_body logic here.
8850 (c_expand_deferred_function): Update call of expand_body
8851 (c_expand_stmt): Use c_expand_body_1.
8852 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
8853 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
8854 * c-tree.h (c_expand_body): Declare.
8855 * callgraph.c: New file.
8856 * flags.h (flag_unit_at_a_time): Declare.
8857 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
8858 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
8859 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
8860 * langhooks.h (struct lang_hooks_for_callgraph): New.
8861 (struct lang_hooks): Add callgraph field.
8862 * toplev.c (flag_unit_at_a_time): New.
8863 (lang_independent_options): Add flag_unit_at_a_time.
8864 (process_options): Disable unit-at-a-time mode for frontends not
8865 supporting callgraph.
8866 * tree-inline.c (typedef struct inline_data): Add "decl"
8867 (expand_call_inline): Update callgraph.
8868 (optimize_inline_calls): Set id.decl.
8869 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
8870 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
8871 cgraph_calls_p): Declare.
8872 * invoke.texi (-funit-at-a-time): Document
8873
9037b0c7
AH
88742003-02-12 Aldy Hernandez <aldyh@redhat.com>
8875
ddb0ae00
ZW
8876 * config/rs6000/spe.h: Fix misc formatting.
8877 (__ev_create_ufix32_fs): Cast ev argument.
8878 (__ev_create_sfix32_fs): Same.
8879 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
8880 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 8881
55ae46b1
RM
88822003-02-12 Ranjit Mathew <rmathew@hotmail.com>
8883
8884 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
8885 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
8886
3963c2e0
ZW
88872003-02-12 Zack Weinberg <zack@codesourcery.com>
8888
8889 * cpplib.c (do_include_common): Move warnings for
8890 #include_next and #import out to callers. Use early-return
8891 instead of nested ifs. Don't do check_eol here.
8892 (parse_include): Do check_eol here with the rest of the
8893 parsing stuff.
8894 (do_include_next, do_import): Now handle warnings.
8895
d1a86812
GP
88962003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8897
8898 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
8899
62c9aa5f 89002003-02-12 Jan Hubicka <jh@suse.cz>
6efcd268
JH
8901
8902 * predict.c (estimate_probability): Fix roundoff error.
8903
9083b5da
KH
89042003-02-12 Kazu Hirata <kazu@cs.umass.edu>
8905
8906 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
8907 (two peephole2): New.
8908
86bc9b19
KH
89092003-02-12 Kazu Hirata <kazu@cs.umass.edu>
8910
8911 * config/h8300/h8300.md (several peephole2): Replace
8912 find_regno_note with peep2_reg_dead_p.
8913
ceda50e9
RH
89142003-02-11 Richard Henderson <rth@redhat.com>
8915
8916 * gcse.c (lookup_set): Remove unused argument PAT. Update
8917 both callers.
8918
886e0865
GK
89192003-02-11 Geoffrey Keating <geoffk@apple.com>
8920
8921 * diagnostic.c (real_abort): New.
8922 (diagnostic_report_diagnostic): Call real_abort on error.
8923 * diagnostic.h (diagnostic_abort_on_error): New.
8924 (struct diagnostic_context): Add abort_on_error field.
8925 * toplev.c (setup_core_dumping): New.
8926 (decode_d_option): Handle 'H' case.
8927 * doc/invoke.texi (Debugging Options): Document -dH.
8928
76438597
NN
89292003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
8930
8931 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
8932 which refers to obsolete directories.
8933
09b568fc
RH
89342003-02-11 Richard Henderson <rth@redhat.com>
8935
8936 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
8937
62c9aa5f 89382002-10-21 Jan Hubicka <jh@suse.cz>
8b978a57
JH
8939
8940 * i386.c (contains_128bit_aligned_vector_p): New function.
8941 (ix86_function_arg_boundary): Properly align vector modes.
8942
a3259be8
BW
89432003-02-11 Bob Wilson <bob.wilson@acm.org>
8944
8945 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
8946 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
8947 as a SET pattern.
8948
da52a069
RS
89492003-02-11 Roger Sayle <roger@eyesopen.com>
8950
8951 * builtins.c: Fix failure caused by commiting wrong patch.
8952
d58f6584
DJ
89532003-02-11 Dale Johannesen <dalej@apple.com>
8954 * ra-build.c (compare_and_free_webs): Relax checking.
8955 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
8956 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
8957
22fd5743
FH
89582003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
8959
8960 PR optimization/9651
8961 * rtlanal.c (may_trap_p): Handle FIX.
8962
3462df62
DJ
89632003-02-11 Dave Jones <davej@codemonkey.org.uk>
8964
8965 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
8966 * doc/invoke.texi: Extra alias.
8967
a693fbb9
GK
89682003-02-11 Geoffrey Keating <geoffk@apple.com>
8969
8970 * config/rs6000/host-darwin.c: Fix comment.
8971
bb157ff4
DE
89722003-02-11 David Edelsohn <edelsohn@gnu.org>
8973
8974 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
8975 predicate for mod result.
8976
16ddb599
JDA
89772003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8978
8979 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
8980 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
8981 * fixincl.x: Rebuilt.
8982 * tests/base/stdlib.h: Update.
8983 * tests/base/ctype.h: New file.
8984
62c9aa5f 89852003-02-11 Jan Hubicka <jh@suse.cz>
6f0d3566
JH
8986
8987 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
8988
d0a5295a
RH
89892003-02-11 Richard Henderson <rth@redhat.com>
8990
8991 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
8992 appropriated as globals.
8993 (ix86_expand_clrstr): Similarly.
8994 * config/i386/i386.md (cmpstrsi): Similarly.
8995
9672132f
KH
89962003-02-11 Kazu Hirata <kazu@cs.umass.edu>
8997
8998 * config/h8300/h8300.md (a peephole2): Add a case of 255.
8999
b5e01d4b
RS
90002003-02-11 Roger Sayle <roger@eyesopen.com>
9001
9002 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
9003 (pow_optab, atan2_optab): Define corresponding macros.
9004 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
9005 * genopinit.c (optabs): Implement pow_optab and atan2_optab
9006 using pow?f3 and atan2?f3 patterns.
9007 * builtins.c (expand_errno_check): New function to update errno
9008 if necessary, split out from expand_builtin_mathfn.
9009 (expand_builtin_mathfn): Use expand_errno_check.
9010 (expand_builtin_mathfn_2): New function to handle expanding binary
9011 math functions, reusing the code in expand_errno_check.
9012 (expand_builtin): Handle the pow and atan2 math built-ins,
9013 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
9014 expand_builtin_mathfn_2.
9015
9016 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
9017
62c9aa5f 90182003-02-11 Jan Hubicka <jh@suse.cz>
cb119f82
JH
9019
9020 * combine.c (combine_simplify_rtx): Fix folding of
9021 nested float_truncates.
9022
a05566a3
KH
90232003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9024
9025 * config/h8300/h8300.md (a peephole2): Fix a typo.
9026
20ae4500
RE
90272003-02-11 Richard Earnshaw <rearnsha@arm.com>
9028
9029 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
9030 register number.
9031
717d8b71
KH
90322003-02-11 Kazu Hirata <kazu@cs.umass.edu>
9033
9034 * config/h8300/h8300-protos.h: Add a prototype for
9035 gtuleu_operator.
9036 * config/h8300/h8300.c (gtuleu_operator): New.
9037 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
9038 * config/h8300/h8300.md (a peephole2): New.
9039
62c9aa5f 90402003-02-11 Jan Hubicka <jh@suse.cz>
e36e8f52
JH
9041
9042 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
9043
62c9aa5f 90442003-02-11 Jan Hubicka <jh@suse.cz>
c728da61
JH
9045
9046 * predict.c (choose_function_section): Choose sections correctly.
9047
4cc0fdd2
JDA
90482003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9049
9050 * reload1.c (first_label_num): New.
9051 (reload): Index offsets_known_at and offsets_at using difference of
9052 label number and first label number. Don't use offset pointers.
9053 (set_label_offsets, set_initial_label_offsets): Likewise.
9054
44b1fa11
RS
90552003-02-10 Roger Sayle <roger@eyesopen.com>
9056
9057 * mips-tfile.c (init_file): Add missing initializers in the
9058 "#ifdef __alpha" case.
9059 (file_offset, max_file_offset): Declare as unsigned long.
9060 (write_varray): Cast to "unsigned long" in comparisons against
9061 either file_offset or max_file_offset.
9062 (write_object): Likewise.
9063 (read_seek): Likewise.
9064 (copy_object): Likewise. Declare "ifd" as int to match its use
9065 in add_ext_symbol, and avoid signed/unsigned conditional warning.
9066
2948ade7 90672003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 9068 Aldy Hernandez <aldyh@redhat.com>
2948ade7 9069
3963c2e0
ZW
9070 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
9071 override options which have been specified on the command line.
2948ade7 9072
2a4e6df4
KH
90732003-02-10 Kazu Hirata <kazu@cs.umass.edu>
9074
9075 * config/h8300/h8300.md (abssf2): New.
9076 (*abssf2_h8300): Likewise.
9077 (*abssf2_h8300hs): Likewise.
9078
411e2759
PE
90792003-02-10 Phil Edwards <pme@gcc.gnu.org>
9080
9081 * tree.c (build_tree_list): Fix parameter names in comment.
9082
2b24fc41
JJ
90832003-02-10 Janis Johnson <janis187@us.ibm.com>
9084
9085 * config/rs6000/ppc64-fp.c: New file.
9086 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
9087
aa634f11
JZ
90882003-02-10 Josef Zlomek <zlomekj@suse.cz>
9089
9090 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 9091 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
9092 (make_reorder_chain_1): Deleted.
9093 (find_traces): New function.
9094 (rotate_loop): New function.
9095 (mark_bb_visited): New function.
9096 (find_traces_1_round): New function.
9097 (copy_bb): New function.
9098 (bb_to_key): New function.
9099 (better_edge_p): New function.
9100 (connect_traces): New function.
9101 (copy_bb_p): New function.
9102 (get_uncond_jump_length): New function.
9103 (reorder_basic_blocks): Use new functions (Software Trace Cache).
9104 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
9105 boundaries.
9106
17edbda5
AH
91072003-02-10 Aldy Hernandez <aldyh@redhat.com>
9108
9109 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
9110
57116c34
DN
91112003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9112
9113 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 9114 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 9115
4f448245
NC
91162003-02-10 Nick Clifton <nickc@redhat.com>
9117
9118 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
9119 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
9120 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
9121 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
9122 config/arm/freebsd.h, config/arm/linux-elf.h,
9123 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
9124 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
9125 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
9126 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
9127 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
9128 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
9129 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
9130 and reformat as appropriate.
9131
19190d27
KH
91322003-02-10 Kazu Hirata <kazu@cs.umass.edu>
9133
9134 * config/h8300/clzsi2.c: Remove.
9135 * config/h8300/ctzsi2.c: Likewise.
9136 * config/h8300/paritysi2.c: Likewise.
9137 * config/h8300/popcountsi2.c: Likewise.
9138 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
9139 ctzsi2, paritysi2, and popcountsi2.
9140
ecf92f82 91412003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 9142 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
9143
9144 PR c/7741
9145 * c-decl.c (duplicate_decls): Discard the initializer of the
9146 new decl when the types are conflicting.
9147
ac5e69da
JZ
91482003-02-10 Josef Zlomek <zlomekj@suse.cz>
9149
9150 * Makefile.in (sreal.o): Added.
9151 (predict.o): Depends on sreal.h instead of real.h.
9152 * sreal.c: New file.
9153 * sreal.h: New file.
9154 * predict.c: Use sreal.c instead of real.c.
9155
9b6b54e2
NC
91562003-02-10 Nick Clifton <nickc@redhat.com>
9157
9158 * Contributed support for the Cirrus EP9312 "Maverick"
9159 floating point co-processor. Written by Aldy Hernandez
3963c2e0 9160 <aldyh@redhat.com>.
9b6b54e2
NC
9161 (config/arm/arm.c): Add Cirrus support.
9162 (config/arm/arm.h): Likewise.
9163 (config/arm/aout.h): Likewise.
9164 (config/arm/arm.md): Likewise.
9165 (config/arm/arm-protos.h): Likewise.
9166 (config.gcc): Likewise.
9167 (doc/invoke.texi): Describe new -mcpu value and new
9168 -mcirrus-fix-invalid-insns switch,
9169 (cirrus.md): New file.
9170
62c9aa5f 91712003-02-10 Jan Hubicka <jh@suse.cz>
949824fe
JH
9172
9173 * combine.c (combine_simplify_rtx): Simplify using
9174 (float_truncate (float x)) is (float x)
9175 (float_extend (float_extend x)) is (float_extend x).
9176
546ff777
AM
91772003-02-10 Alan Modra <amodra@bigpond.net.au>
9178
9179 * calls.c (try_to_integrate): Tidy stack_usage_map access.
9180 (emit_library_call_value_1): Likewise. Formatting.
9181 (store_one_arg): Likewise.
9182
626098f9 91832003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 9184 Aldy Hernandez <aldyh@redhat.com>
626098f9 9185
3963c2e0
ZW
9186 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
9187 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
9188 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
9189 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
9190 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
9191 docs. Add range test for immediate value.
626098f9
AH
9192
91932003-02-09 Aldy Hernandez <aldyh@redhat.com>
9194
3963c2e0
ZW
9195 Rename spe_evxor to xorv2si3.
9196 (xorv4hi3): New.
9197 (xorv1di3): New.
626098f9 9198
8d23a2c8 91992003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 9200
8d23a2c8
GN
9201 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
9202 tag.
9203
62c9aa5f 92042003-02-10 Jan Hubicka <jh@suse.cz>
fdc4b40b
JH
9205
9206 * i386.c (vector_move_operand): New predicate.
9207 (ix86_expand_vector_move): Be happy about 0.
9208 * i386.h (PREDICATE_CODES): Add sse-move_operand.
9209 * i386.md (mov*_internal): Add 'C' alternative.
9210
62c9aa5f 92112003-02-09 Jan Hubicka <jh@suse.cz>
35c28a13
JH
9212
9213 * i386.md (floathi*): Deal with SSE.
9214
62c9aa5f 92152003-02-09 Jan Hubicka <jh@suse.cz>
852c8ba1
JH
9216
9217 * simplify-rtx.c (simplify_unary_operation,
9218 simplify_binary_operation): Deal with vector modes
9219 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
9220
c876997f 92212003-02-09 Richard Sandiford <rsandifo@redhat.com>
2382b79f
RS
9222
9223 * toplev.c (rest_of_compilation): Recompute register usage after
9224 split_all_insns.
9225
8275b011
RH
92262003-02-09 Richard Henderson <rth@redhat.com>
9227
9228 * libgcc-std.ver (__clztf2): New.
9229 (__ctztf2, __popcounttf2, __paritytf2): New.
9230 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
9231 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
9232 adjust code to match the different type sizes.
9233 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
9234 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
9235
9236 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
9237 TImode; select word_mode and twice that.
9238 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
9239 select the modes from float, double, and long double.
9240 (init_optabs): Remove duplicate initializations.
9241
794aca5d
WB
92422003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
9243
9244 * doc/install.texi: Squeeze and streamline section on
9245 testing and regression checking.
9246
62c9aa5f 92472003-02-09 Jan Hubicka <jh@suse.cz>
d9deed68
JH
9248
9249 * i386.md (ahi?v*3): Set third operand type to TImode.
9250 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
9251
9252 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
9253 integer mode.
9254
9255 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
9256 Change code so they are arithmetic expressions now.
9257 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
9258 simplify_ternary_operation): Deal with VEC_* expressions.
9259
9260 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
9261
62c9aa5f 92622003-02-08 Jan Hubicka <jh@suse.cz>
83fd323c
JH
9263
9264 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
9265 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
9266 possibly got duplicated.
9267
4ee7aa60
RH
92682003-02-08 Richard Henderson <rth@redhat.com>
9269
9270 * config/alpha/alpha.c (override_options): Turn off explicit
9271 relocs until post-peep2 code duplication resolved.
9272
c117dddc
KH
92732003-02-08 Kazu Hirata <kazu@cs.umass.edu>
9274
9275 * optabs.c (expand_unop): Widen clz properly when clz is done
9276 via libcall.
9277
8aa063fb
KH
92782003-02-08 Kazu Hirata <kazu@cs.umass.edu>
9279
9280 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
9281 * config/h8300/crti.asm: Likewise.
9282 * config/h8300/crtn.asm: Likewise.
9283 * config/h8300/ctzsi2.c: Likewise.
9284 * config/h8300/fixunssfsi.c: Likewise.
9285 * config/h8300/h8300-protos.h: Likewise.
9286 * config/h8300/h8300.c: Likewise.
9287 * config/h8300/h8300.h: Likewise.
9288 * config/h8300/h8300.md: Likewise.
9289 * config/h8300/paritysi2.c: Likewise.
9290 * config/h8300/popcountsi2.c: Likewise.
9291 * config/h8300/rtems.h: Likewise.
9292
01a132bb
ZD
92932003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9294
9295 * doc/invoke.texi: Documentation for my previous commit.
9296 * doc/passes.texi: Ditto.
9297
617b465c
ZD
92982003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9299
9300 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
9301 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
9302 Declare.
9303 (DLTHE_FLAG_UPDATE_FREQ): New.
9304 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
9305 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
9306 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
9307 fix_bb_placement, fix_bb_placements, place_new_loop,
9308 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
9309 New static functions.
9310 (fix_loop_placement, can_duplicate_loop_p,
9311 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
9312 New functions.
9313
9314 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
9315 unswitch_loops): Declare.
9316 * loop-init.c: New file.
9317 * loop-unswitch.c: New file.
9318 * Makefile.in (loop-init.o, loop-unswitch.o): New.
9319 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
9320 * toplev.c (DFI_loop2): New dump.
9321 (flag_unswitch_loops): New.
9322 (lang_independent_options): Add it.
9323 (rest_of_compilation): Call new loop optimizer.
9324 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
9325
3bd03194
KH
93262003-02-08 Kazu Hirata <kazu@cs.umass.edu>
9327
9328 * config/h8300/clzsi2.c: New.
9329 * config/h8300/ctzsi2.c: Likewise.
9330 * config/h8300/paritysi2.c: Likewise.
9331 * config/h8300/popcountsi2.c: Likewise.
9332 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
9333
d865b122
DE
93342003-02-07 David Edelsohn <edelsohn@gnu.org>
9335
9336 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
9337 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 9338 (ctzsi2): New pattern.
d865b122
DE
9339 (ffssi2): Use clz instead of unspec.
9340 (clzdi2): Rename from cntlzd2.
94993909 9341 (ctzdi2): New pattern.
d865b122
DE
9342 (ffsdi2): Use clz instead of unspec.
9343
8f37dd98
LR
93442003-02-07 Loren James Rittle <ljrittle@acm.org>
9345
9346 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
9347 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
9348 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
9349 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
9350
83205b9b
WB
93512003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
9352
9353 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
9354
710ee3ed
RH
93552003-02-07 Richard Henderson <rth@redhat.com>
9356
9357 PR 9226
3963c2e0
ZW
9358 * gcse.c (local_cprop_find_used_regs): New.
9359 (local_cprop_pass): Use it.
710ee3ed 9360
3ef879d2
FF
93612003-02-07 Fred Fish <fnf@intrinsity.com>
9362
9363 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 9364 precedence bugs.
3ef879d2 9365
a0f0e963 93662003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 9367
3963c2e0 9368 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 9369
46847aa6
RS
93702003-02-07 Roger Sayle <roger@eyesopen.com>
9371
9372 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
9373 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
9374 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
9375 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
9376 builtin functions (and their __builtin_* variants).
9377 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
9378 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
9379 when not optimizing.
9380
9381 * doc/extend.texi: Document new pow and atan2 builtins, and
9382 their float and long double variants. Realphabetize builtins.
9383
62c9aa5f 93842003-02-07 Jan Hubicka <jh@suse.cz>
c48d6750
JH
9385
9386 * i386.md (sse2_nandv2di3): Fix.
9387
5e062767
DS
93882003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
9389
9390 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
9391 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
9392 definition.
9393 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
9394 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
9395
62c9aa5f 93962003-02-07 Jan Hubicka <jh@suse.cz>
3f755ed0
JH
9397
9398 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
9399
0816bcd2
DB
94002003-02-07 Daniel Berlin <dberlin@dberlin.org>
9401
9402 * cfg.c (dump_flow_info): Add back accidently deleted line.
9403
7bf0a593
AP
94042003-02-07 Andrey Petrov <petrov@netbsd.org>
9405
9406 * optabs.c (expand_float): Search wider integer modes first.
9407
01e4596e
BW
94082003-02-07 Bob Wilson <bob.wilson@acm.org>
9409
9410 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
9411 based on preprocessor flag.
9412
fbef91d8
RS
94132003-02-07 Roger Sayle <roger@eyesopen.com>
9414 Richard Henderson <rth@redhat.com>
9415
9416 * gcse.c (implicit_sets): New.
9417 (compute_hash_table_work): Include them in hash table.
9418 (find_implicit_sets, fis_get_condition): New.
9419 (one_cprop_pass): Allocate and free implicit_sets; call
9420 find_implicit_sets before building hash table.
9421
6713831e
JT
94222003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
9423
9424 * config/t-netbsd (USER_H): Revert previous change.
9425
10d2dbe2
GG
94262003-02-07 Gabor Greif <ggreif@lucent.com>
9427
9428 * doc/c-tree.texi (Namespaces): Fix typo.
9429
62c9aa5f 94302003-02-07 Jan Hubicka <jh@suse.cz>
d1d3c9a6
JH
9431
9432 * regrename.c (do_replace, find_oldest_value_reg,
9433 copyprop_hardreg_forward_1): Update register attributes.
9434
1b1f249d
VM
94352003-02-06 Vladimir Makarov <vmakarov@redhat.com>
9436
9437 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
9438 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
9439 variables starting with underscore.
9440 (struct unit_usage): New structure.
9441 (unit_usages, cycle_alt_unit_usages): New global variables.
9442 (check_unit_distribution_in_reserv): Remove it.
9443 (store_alt_unit_usage): New function.
9444 (check_regexp_units_distribution): Rewrite it.
9445
90330d31
JDA
94462003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9447
9448 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
9449 target_cpu_default.
9450 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
9451 if not MASK_NO_SPACE_REGS.
9452 (output_call): Adjust return pointer, don't load new space register
9453 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
9454 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
9455 TARGET_NO_SPACE_REGS is true.
9456 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
9457 conditions.
9458 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
9459 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
9460 true. Use bve when TARGET_64BIT is true.
9461
d1164330
RH
94622003-02-06 Richard Henderson <rth@redhat.com>
9463
9464 * combine.c (nonzero_bits): Fix double break.
9465
5fbf0217 94662003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 9467 Richard Henderson <rth@redhat.com>
5fbf0217
EB
9468
9469 PR c/9530
9470 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
9471 from functions that return a float to functions that don't.
9472
62c9aa5f 94732003-02-06 Jan Hubicka <jh@suse.cz>
8f62128d
JH
9474
9475 * i386.c (x86_inter_unit_moves): New variable.
9476 (ix86_secondary_memory_needed): Fix 64bit case, honor
9477 TARGET_INTER_UNIT_MOVES
9478 * i386.h (x86_inter_unit_moves): Declare.
9479 (TARGET_INTER_UNIT_MOVES): New macro.
9480 * i386.md (movsi_1): Cleanup constraints; disable
9481 when not doing inter-unit moves.
9482 (movsi_1_nointernunit): New.
9483 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
9484 (movdi_1_rex64_nointerunit): New.
9485 (mivsf_1): disable when not doing inter-unit moves.
9486 (movsf_1_nointerunit): New.
9487
9488 * basic-block.h (inside_basic_block_p): Declare.
9489 * cfgbuild.c (inside_basic_block_p): Make global.
9490 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
9491 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
9492 update CFG.
9493 (fix_basic_block_boundaries, add_missing_bbs): New.
9494 (rank): Use profile.
9495 (scheudle_ebbs): Rely on CFG; update coments.
9496
476d9098
GK
94972003-02-05 Geoffrey Keating <geoffk@apple.com>
9498
9499 * Makefile.in (host_hook_obj): New.
9500 (OBJS): Add $(host_hook_obj).
9501 (host_default.o): New rule.
9502 * config.gcc (host_hook_obj): New, default to host-default.o.
9503 (powerpc-*-darwin*): Use host-darwin.o.
9504 (out_host_hook_obj): New.
9505 * configure: Regenerate.
9506 * configure.in: Print information about out_host_hook_obj, substitute
9507 into output files.
9508 * host-default.c: New file.
9509 * hosthooks.h: New file.
9510 * toplev.c (general_init): Call host_hooks.extra_signals.
9511 * config/rs6000/host-darwin.c: New file.
9512 * config/rs6000/x-darwin: New file.
9513 * doc/hostconfig.texi: Add documentation for new host hook.
9514 Rearrange existing documentation.
9515
69bd9368
RS
95162003-02-05 Roger Sayle <roger@eyesopen.com>
9517
9518 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
9519 with *targetm.delegitimize_address.
9520 (rtl_for_decl_location): Likewise.
9521 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
9522 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
9523
9524 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
9525 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
9526 prototype.
9527 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
9528 i386_simplify_dwarf_addr. Made static. Prototyped.
9529 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
9530 i386_simplify_dwarf_addr to ix86_delegitimize_address.
9531 (ix86_find_base_term): Likewise.
9532 (maybe_get_pool_constant): Likewise.
9533
9534 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
9535 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
9536 prototype.
9537 * config/s390/s390.c (s390_delegitimize_address): Renamed from
9538 s390_simplify_dwarf_addr. Made static. Prototyped.
9539 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
9540
7127fd58
RH
95412003-02-05 Richard Henderson <rth@redhat.com>
9542
8dde7a2c 9543 PR c/8602
3963c2e0
ZW
9544 * integrate.c (output_inline_function): Reset input_filename
9545 and lineno from the decl before rest_of_compilation.
7127fd58 9546
7dba8395
RH
95472003-02-05 Richard Henderson <rth@redhat.com>
9548
9549 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
9550 (CTZ_DEFINED_VALUE_AT_ZERO): New.
9551 * doc/rtl.texi, doc/tm.texi: Document them.
9552
9553 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
9554 of the value at zero properly.
9555 * fold-const.c (tree_expr_nonnegative_p): Likewise.
9556 * simplify-rtx.c (simplify_unary_operation): Likewise.
9557
9558 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
9559 (CTZ_DEFINED_VALUE_AT_ZERO): New.
9560
9561 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
9562 (TARGET_EXPAND_BUILTIN): Remove.
9563 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
9564 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
9565 (enum arm_builtins): Remove.
9566 * config/arm/arm.md (UNSPEC_CLZ): Remove.
9567 (clzsi2): Rename from clz; use clz instead of unspec.
9568 (ctzsi2): New.
9569 * config/arm/arm-protos.h: Update.
9570
62c9aa5f 95712003-02-05 Jan Hubicka <jh@suse.cz>
8d705469
JH
9572
9573 * i386-protos.h (x86_emit_floatuns): Declare.
9574 * i386.c (x86_emit_floatuns): New global function.
9575 * i386.md (floatunssisf2, floatunsdisf2,
9576 floatunsdidf2): New patterns.
9577
bc810602
ZD
95782003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9579
9580 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
9581
07938cec
HB
95822003-02-05 Hans Boehm <Hans.Boehm@hp.com>
9583
9584 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
9585 config/ia64/linux.h
9586
c876997f 95872003-02-05 Roger Sayle <roger@eyesopen.com>
ca9398d1
RS
9588
9589 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
9590
4f6ae35d
JJ
95912003-02-05 Jakub Jelinek <jakub@redhat.com>
9592
9593 PR optimization/8555
9594 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
9595 instead of aborting.
9596
8acfdd43
RH
95972003-02-04 Richard Henderson <rth@redhat.com>
9598
9599 * config/i386/i386.md (UNSPEC_BSF): Remove.
9600 (ffssi2): Split into cmove and no_cmove insns and splitters;
9601 lose pentium float trick for now.
9602 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
9603 (ctzsi2, clzsi2, bsr): New.
9604
c407570a
RH
96052003-02-04 Richard Henderson <rth@redhat.com>
9606
9607 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
9608 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
9609 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
9610 (ffsdi2): Use popcount instead of unspec.
9611 (popcountdi2): Rename from *popcnt.
9612 (ctzdi2, clzdi2, getf_exp_tf): New.
9613
4b3cf522
KH
96142003-02-04 Kazu Hirata <kazu@cs.umass.edu>
9615
9616 * genconfig.c (main): Generate CC0_P.
9617 * rtl.h (CC0_P): Remove.
9618
dfff898c
RH
96192003-02-04 Richard Henderson <rth@redhat.com>
9620
9621 * libgcc2.h, libgcc2.c (__ffsSI2): New.
9622 (__ffsDI2): Rename from __ffsdi2.
9623 * mklibgcc.in (lib2funcs): Add _ffssi2.
9624
0c9ed856
RH
96252003-02-04 Richard Henderson <rth@redhat.com>
9626
9627 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
9628 rounds with a "bit table" lookup.
9629
9537511b
UW
96302003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
9631
9632 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 9633 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
9634 reloads for operands where a mandatory reload was already pushed.
9635
1efd0b97
RH
96362003-02-04 Richard Henderson <rth@redhat.com>
9637
9638 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
9639 builtins instead of inline assembly.
9640
087fc75a 96412003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 9642
087fc75a
FH
9643 PR c/9376
9644 * libgcc2.c (__subvdi3): Fix typo.
9645
62c9aa5f 96462003-02-04 Jan Hubicka <jh@suse.cz>
f0f0d98e
JH
9647
9648 * i386.md (movti_rex64): Fix constraint.
9649
62c9aa5f 96502003-02-04 Jan Hubicka <jh@suse.cz>
09f26fb5
JH
9651
9652 * i386.md (vector push splitters): Fix typo in resolving conflict.
9653
ff6e2d3e
RB
96542003-02-04 Rodney Brown <rbrown64@csc.com.au>
9655
9656 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
9657
9e80ada7
PE
96582003-02-04 Phil Edwards <pme@gcc.gnu.org>
9659
9660 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
9661 for recent libstdc++. Remove formatting cruft.
9662
79c758fb
JJ
96632003-02-04 Jakub Jelinek <jakub@redhat.com>
9664
9665 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
9666 attribute even if input file name is absolute, but one of the
9667 includes is relative.
9668
b3a8389d
JM
96692003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
9670
9671 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
9672 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
9673 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
9674
dabb3f04
RH
96752003-02-03 Richard Henderson <rth@redhat.com>
9676
9677 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
9678 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
9679 return type to "int". Shuffle declarations and undef int trap.
9680 * libgcc2.h: Remove their declarations.
9681 * optabs.c (expand_unop): Force outmode to int for bitops.
9682
985d0d50
BW
96832003-02-03 Bob Wilson <bob.wilson@acm.org>
9684
9685 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
9686 coprocessor registers before floating-point registers.
9687 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
9688 to account for a previously removed register.
9689 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
9690 Delete unused macros.
9691
62c9aa5f 96922003-02-03 Jan Hubicka <jh@suse.cz>
7f0e57bd
JH
9693
9694 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
9695 (mov*_internal): Fix predicates; require one of operands to not be
9696 memory.
9697 (SSE?MMX move expanders): Fix predicates; force one of operands to
9698 register.
9699 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
9700 (movups/movupd/movdqu patterns): Force one of operands to not be
9701 memory.
9702
c876997f 97032003-02-03 Roger Sayle <roger@eyesopen.com>
7daebb7a
RS
9704
9705 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
9706 takes a single rtx and returns it unmodified.
9707 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 9708 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
9709 field to target structure.
9710 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
9711 for delegitimize_address target using hook_rtx_rtx_identity.
9712 (TARGET_INITIALIZER): Initialize delegitimize_address field
9713 using TARGET_DELEGITIMIZE_ADDRESS macro.
9714 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
9715 extensions of constant pool references. Use delegitimize_address
9716 to undo the obfuscation of "-fpic".
9717 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
9718
9719 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
9720 i386_simplify_dwarf_addr.
9721 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
26182e15 9722 (maybe_get_pool_constant): Likewise.
7daebb7a 9723
62c9aa5f 97242003-02-03 Jan Hubicka <jh@suse.cz>
84520a20
JH
9725
9726 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
9727
62c9aa5f 97282003-02-03 Jan Hubicka <jh@suse.cz>
035b2a34
JH
9729
9730 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
9731
1f143d5a
KG
97322003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9733
9734 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
9735 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
9736
4b550d9f
AS
97372003-02-02 Andreas Schwab <schwab@suse.de>
9738
9739 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
9740
0732a089
RE
97412003-02-02 Richard Earnshaw <rearnsha@arm.com>
9742
9743 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
9744 (epilogue_insns): Likewise.
9745
f269f54f
JDA
97462003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9747
9748 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
9749
611ad29e
JDA
97502003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9751
9752 * pa-protos.h (attr_length_millicode_call): Remove second argument.
9753 (attr_length_indirect_call, attr_length_indirect_call,
9754 attr_length_save_restore_dltp): New prototypes.
9755 * pa.c (attr_length_millicode_call): Remove second argument. Check
9756 INSN_ADDRESSES_SET_P in distance calculation.
9757 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
9758 INSN_ADDRESSES.
9759 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
9760 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
9761 Call attr_length_call directly.
9762 (attr_length_indirect_call, output_indirect_call,
9763 attr_length_save_restore_dltp): New functions.
9764 * pa.md (attr_length_millicode_call): Drop second argument from all
9765 patterns.
9766 (return_internal_pic): Delete.
9767 (return_external_pic): Remove use of PIC register and pic operand and
9768 flag checks.
9769 (epilogue): Use return_internal for both normal and pic code.
9770 (call, call_value): Emit new 32-bit pic patterns for symref and
9771 indirect calls. Remove uses for arg pointer and pic register.
9772 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
9773 call_reg_pic_post_reload, call_val_symref_pic,
9774 call_val_symref_pic_post_reload, call_val_reg_pic,
9775 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
9776 Implement define_split and define_peephole2 patterns for pre reload
9777 patterns.
9778 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
9779 call_value_internal_reg_64bit): Shorten names.
9780 (all call patterns): Explicitly indicate registers used and clobbered.
9781 Use attr_length_indirect_call and attr_length_save_restore_dltp for
9782 attribute length calculation. Move code generation for indirect calls
9783 to output_indirect_call.
9784 (sibcall, sibcall_value): Don't restore PIC register.
9785 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
9786 register retore.
9787
8cacda7c
GP
97882003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9789
9790 * doc/install.texi (Testing): Simplify and compress instructions
9791 concerning Dejagnu.
9792
cbc158bb
JDA
97932003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9794
9795 * collect2.c (pexecute_pid): Rename to pid.
9796 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
9797 pid.
9798
dcef1843
GK
97992003-02-01 Geoffrey Keating <geoffk@apple.com>
9800
9801 * doc/extend.texi (Function Attributes): Remove documentation
9802 for PowerPC Windows NT function attributes..
9803
5d7bed9d
DJ
98042003-02-01 Daniel Jacobowitz <drow@mvista.com>
9805
9806 * dwarf2out.c (gen_type_die): Check for typedefs before calling
9807 for TYPE_MAIN_VARIANT.
9808
53585c36
RH
98092003-02-01 Richard Henderson <rth@redhat.com>
9810
9811 * libgcc2.c: Include auto-host.h.
9812 (ATTRIBUTE_HIDDEN): New.
9813 (__clz_tab): Don't declare here for clz and ctz.
9814 (__clzsi2, __clzdi2): Use count_leading_zeros.
9815 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
9816 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
9817 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
9818 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
9819
bc8a6d63
RH
98202003-02-01 Richard Henderson <rth@redhat.com>
9821
9822 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
9823 to the conditional.
9824 (ashlsi3_1_zext splitter): Likewise.
9825
2928cd7a
RH
98262003-02-01 Richard Henderson <rth@redhat.com>
9827
9828 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
9829 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
9830 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
9831 return type to Wtype.
9832
9833 * libgcc-std.ver (GCC_3.4): Fix inheritance.
9834
9835 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
9836 expander input constraint.
9837
98382003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9839
ff6e2d3e
RB
9840 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
9841 OTI_parity.
9842 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
9843 * optabs.c (widen_clz, expand_parity): New.
9844 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
9845 for libcalls to clz, ctz, popcount, and parity.
9846 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
9847 parity_optab, and set up libfunc handlers.
9848 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
9849 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
9850 __popcount_tab): New.
9851 * libgcc2.h: Declare them.
9852 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
9853 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
9854 and parity_optab.
9855 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
9856 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
9857 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
9858 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
9859 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
9860 BUILT_IN_PARITYLL): New.
9861 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
9862 and add optab argument.
9863 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
9864 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
9865 * expr.c (expand_expr): Handle them.
9866 * fold-const.c (tree_expr_nonnegative_p): Likewise.
9867 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
9868 * reload1.c (eliminate_regs): Handle them.
9869 (elimination_effects): Likewise.
9870 * function.c (instantiate_virtual_regs_1): Likewise
9871 * genattrtab.c (check_attr_value): Likewise.
9872 * simplify-rtx.c (simplify_unary_operation): Likewise.
9873 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
9874 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
9875 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
9876 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
9877 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
9878 __builtin_arm_clz.
9879 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
9880 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
9881 * doc/extend.texi (Other Builtins): Add new builtins.
9882 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 9883
112f7223
UW
98842003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
9885
9886 * reload.c: Revert 2003-01-31 change.
9887
62c9aa5f 98882003-02-01 Jan Hubicka <jh@suse.cz>
434c87d4
JH
9889
9890 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
9891
271bd540
RS
98922003-02-01 Richard Sandiford <rsandifo@redhat.com>
9893
9894 * flags.h (flag_volatile): Remove declaration.
9895 (flag_volatile_global, flag_volatile_static): Likewise.
9896 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
9897 * toplev.c (flag_volatile): Remove definition.
9898 (flag_volatile_global, flag_volatile_static): Likewise.
9899 (f_options): Remove corresponding entries here.
9900 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
9901 or flag_volatile_static.
9902 * doc/invoke.texi: Remove documentation of -fvolatile,
9903 -fvolatile-global and -fvolatile-static.
9904
17e6098e
JDA
99052003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9906
9907 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
9908 updating of total_code_bytes from prologue to epilogue.
9909
2f278625
UW
99102003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
9911
9912 * reload.c (find_reloads): Do not use the mode specified in the insn
9913 pattern as reload mode for address operands. Do not generate optional
9914 reloads for operands where a mandatory reload was already pushed.
9915 Generate optional reloads only in the final pass though find_reloads.
9916 (have_replacement_p): New function.
9917
05c425a9
GP
99182003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9919
9920 * doc/install.texi (Testing): Remove a reference to our obsolete
9921 /testresults web pages and strip redundant information concerning
9922 test results.
9923 (Binaries): Refer to Microsoft Windows instead of listing all
9924 possible variants.
9925
62c9aa5f 99262003-02-01 Jan Hubicka <jh@suse.cz>
b0c42aed
JH
9927
9928 * loop.c (emit_prefetch_instructions): Do conversion at right place in
9929 RTL chain.
9930
9931 * combine.c (simplify_set): Reverse order of ragumetns to
9932 REG_CANNOT_CHANGE_MODE_P
9933 * df.c (df_def_record_1): Likewise.
9934 * recog.c (register_operand): Likewise.
9935 * simplify-rtx.c (simplify_subreg): Likewise.
9936 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
9937 CANNOT_CHANGE_MODE_CLASS.
9938 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
9939 Likewise.
9940 * reload.c (push_reload): Likewise.
9941 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
9942 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
9943 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
9944 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
9945 * mips.c (mips_cannot_change_mode_class): Update.
9946 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
9947 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
9948 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
9949 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
9950 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
9951 * sh.c (sh_cannot_change_mode_class): Update.
9952 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
9953 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
9954
1f61a15d
GK
99552003-01-31 Geoffrey Keating <geoffk@apple.com>
9956
9957 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
9958 change to LINK_COMMAND_SPEC in gcc.c.
9959
7c712dcc
LR
99602003-01-31 Jan Hubicka <jh@suse.cz>
9961
9962 PR c/9506
9963 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
9964
e137391e
JDA
99652003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9966
9967 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
9968 duplicated code.
9969
1824b90d
NS
99702003-01-31 Nathan Sidwell <nathan@codesourcery.com>
9971
9972 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
9973 (BINFO_ELTS): New #define.
9974 * stor-layout.c (finalize_record_size): Don't set them.
9975 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
9976 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
9977 (BINFO_LANG_ELTS): New #define.
9978 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
9979 * java/class.c (make_class): Use BINFO_ELTS.
9980 (set_super_info): Likewse.
9981 (add_interface_do): Likewise.
9982 * objc/objc-act.c (start_class): Use BINFO_ELTS.
9983
8f9a402c
DS
99842003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
9985
9986 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
9987 (times): Don't ever declare if not HAVE_TIMES.
9988 (clock): Don't ever declare if not HAVE_CLOCK.
9989
cdd1f01b
RH
99902003-01-30 Richard Henderson <rth@redhat.com>
9991
9992 * flow.c (update_life_info): Zap life info after cleanup_cfg.
9993 (regno_uninitialized): Use correct live at function entry set.
9994 (regno_clobbered_at_setjmp): Likewise.
9995
9996 * expr.c (store_expr): Promote all MEM intermediates to regs.
9997
6bc82793
KH
99982003-01-30 Kazu Hirata <kazu@cs.umass.edu>
9999
10000 * config/arm/arm.c: Fix comment typos.
10001 * config/arm/arm.h: Likewise.
10002 * config/arm/netbsd-elf.h: Likewise.
10003 * config/arm/netbsd.h: Likewise.
10004
f099d360
GK
100052003-01-30 Geoffrey Keating <geoffk@apple.com>
10006
10007 * gengtype.c (struct walk_type_data): Add needs_cast_p.
10008 (walk_type): Set needs_cast_p in walk_type_data.
10009 (write_types_process_field): Supply casts when required to suppress
10010 warnings.
10011 (write_root): Cast gt_pch_n_S to suppress warning.
10012 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
10013 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
10014 when they might exist.
10015 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
10016 insn-conditions.o, and rs6000.o.
10017
52895e1a
RH
100182003-01-30 Richard Henderson <rth@redhat.com>
10019
10020 * ggc-page.c (G.context_depth_allocations): New.
10021 (G.context_depth_collections): New.
10022 (alloc_page): Set G.context_depth_allocations.
10023 (ggc_collect): Set G.context_depth_collections.
10024 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
10025 (ggc_pop_context): Early exit for no allocations or collections.
10026
c35c7e52
RH
100272003-01-30 Richard Henderson <rth@redhat.com>
10028
10029 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
10030
e43dd89d
RE
100312003-01-30 Richard Earnshaw <rearnsha@arm.com>
10032
10033 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
10034 size, the link register is always saved if any other register is
10035 saved.
10036
87a902e4
KH
100372003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10038
10039 * config/h8300/h8300-protos.h: Update the prototype for
10040 compute_plussi_cc.
10041 (cpp_reader): Declare before it is used.
10042 * config/h8300/h8300.c (compute_plussi_cc): Change the return
10043 type to int.
10044 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
10045 see an unknown H8 variant.
10046
100472003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 10048
ff6e2d3e 10049 PR target/9316
0186a143
RC
10050 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
10051 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
10052 * config/rs6000/t-rtems: New file. multilib variants to match OS.
10053 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
10054 rs6000/t-ppcgas so we get the desired multilibs.
10055
f55d7103
NC
100562003-01-30 Nick Clifton <nickc@redhat.com>
10057
10058 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
10059 when popping saved IP register off the stack.
10060
b6d08ca1
KH
100612003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10062
10063 * config/rs6000/aix43.h: Fix comment typos.
10064 * config/rs6000/aix51.h: Likewise.
10065 * config/rs6000/aix52.h: Likewise.
10066 * config/rs6000/altivec.h: Likewise.
10067 * config/rs6000/rs6000.c: Likewise.
10068 * config/rs6000/rs6000.h: Likewise.
10069 * config/rs6000/rs6000.md: Likewise.
10070 * config/rs6000/spe.md: Likewise.
10071
14d22dd6
MM
100722003-01-29 Mark Mitchell <mark@codesourcery.com>
10073
10074 * c-common.c (builtin_define_float_constants): Define
10075 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
10076
825db093
KH
100772003-01-30 Kazu Hirata <kazu@cs.umass.edu>
10078
10079 * config/sh/lib1funcs.asm: Fix comment typos.
10080 * config/sh/linux.h: Likewise.
10081 * config/sh/sh.c: Likewise.
10082 * config/sh/sh.md: Likewise.
10083
f1d5271a
LR
100842003-01-30 Loren James Rittle <ljrittle@acm.org>
10085
10086 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
10087
266a9ef1
AO
100882003-01-30 Alexandre Oliva <aoliva@redhat.com>
10089
10090 * config/fp-bit.h (__make_dp): Declare if TMODES.
10091
0889116d
KH
100922003-01-29 Kazu Hirata <kazu@cs.umass.edu>
10093
10094 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
10095 general_operand_src and general_operand_dst.
10096
c8c99a68
DE
100972003-01-29 David Edelsohn <edelsohn@gnu.org>
10098
10099 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
10100 Return true for variable sized types.
10101 (rs6000_va_arg): Handle variable sized types passed by reference
10102 on non-SVR4 ABI.
10103
ccf4d512
RE
101042003-01-29 Richard Earnshaw <rearnsha@arm.com>
10105
10106 * arm.c (arm_legtimize_address): New function.
10107 * arm-protos.h (arm_legtimize_address): Add prototype.
10108 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
10109 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
10110 do ... while (0)
10111
0889116d 101122003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 10113
7429b411 10114 PR bootstrap/9296
0680c8fb 10115 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 10116 depended on it being defined until now.
0680c8fb 10117
7429b411 101182003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 10119
7429b411 10120 PR target/9295
c934274a
JS
10121 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
10122 RTEMS code knows which C++ initialization style the toolset
7429b411 10123 configuration is using.
c934274a 10124
0889116d 101252003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 10126
7429b411 10127 PR bootstrap/9293
ff6e2d3e 10128 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 10129 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 10130
0889116d 101312003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 10132
7429b411 10133 PR bootstrap/9292
64abe03e
JS
10134 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
10135 RTEMS threads.
10136 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 10137
2f12fb2b
NC
101382003-01-29 Nick Clifton <nickc@redhat.com>
10139
10140 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
10141 not $(srcdir).
10142
cf0150b9
AH
101432003-01-29 Andrew Haley <aph@redhat.com>
10144
10145 * tree-inline.c (walk_tree): Add CHAR_TYPE.
10146
62c9aa5f 101472003-01-29 Jan Hubicka <jh@suse.cz>
9b74f3ea
JH
10148
10149 * i386.md (subdi3_carry_rex64): Fix typo.
10150
e150159c
SS
101512003-01-28 Stan Shebs <shebs@apple.com>
10152
10153 * coretypes.h (cpp_reader): Forward declare struct.
10154 * c-pragma.h (cpp_reader): Remove forward declaration.
10155 * hashtable.h (cpp_reader): Likewise.
10156 * scan.h (cpp_reader): Likewise.
10157 * tree.h (cpp_reader): Likewise.
10158 * config/darwin-protos.h (cpp_reader): Likewise.
10159 * config/arm/arm-protos.h (cpp_reader): Likewise.
10160 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
10161 struct cpp_reader in prototypes.
10162
53b50ac1
CC
101632003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
10164
10165 * doc/install.texi: Add documentation for installation into
10166 tooldirs and with DESTDIR.
10167
021aa6ed
RH
101682003-01-28 Richard Henderson <rth@redhat.com>
10169
10170 * config.gcc (ia64*-*-aix*): Remove.
10171 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
10172 * config/ia64/unwind-aix.c: Remove file.
10173
c1c1d123
AS
101742003-01-28 Andreas Schwab <schwab@suse.de>
10175
ff6e2d3e
RB
10176 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
10177 register.
10178 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
10179 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
10180 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
10181 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
10182 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
10183 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
10184 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 10185
6d09ef27
RS
101862003-01-28 Richard Sandiford <rsandifo@redhat.com>
10187
10188 * combine.c (nonzero_bits): Fix check for negative divide operands.
10189
1e1bd14e
RH
101902003-01-28 Richard Henderson <rth@redhat.com>
10191
10192 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
10193 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
10194
e37135f7
RH
101952003-01-28 Richard Henderson <rth@redhat.com>
10196
10197 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
10198
75642f32
RH
10199 * config/cris/cris.c (cris_address_cost): Make static.
10200 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
10201 * config/cris/cris.h (ADDRESS_COST): Remove.
10202 * config/cris/cris-protos.h: Update.
10203
e37135f7 102042003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
10205
10206 * regclass.c (init_reg_autoinc): New function.
10207 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 10208 here...
1f80c9ef 10209 (init_regs): to here. Avoids reinitialization for each function,
26182e15 10210 saving compilation time.
1f80c9ef 10211
9fbd3e41
JM
102122003-01-28 Jason Merrill <jason@redhat.com>
10213
10214 * cpplib.h (struct cpp_options): Add warn_deprecated field.
10215 * cppinit.c (cpp_create_reader): Turn it on by default.
10216 * c-opts.c (c_common_decode_option): Set it.
10217 * cpplib.c (do_pragma_once): Only complain about #pragma once
10218 if warn_deprecated is set.
10219
fe352c29 102202003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 10221
1e1bd14e
RH
10222 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
10223 * loop.c (scan_loop): Move movables on -Os rich-register targets.
10224 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 10225
dcefdf67
RH
102262003-01-28 Richard Henderson <rth@redhat.com>
10227
10228 * target.h (targetm.address_cost): New.
10229 * target-def.h (TARGET_ADDRESS_COST): New.
10230 (TARGET_RTX_COSTS): Uncomment. Oops.
10231 * cse.c (address_cost): Use new target hook.
10232 (default_address_cost): New.
10233 * output.h (default_address_cost): Declare.
10234 * hooks.c (hook_int_rtx_0): New.
10235 * hooks.h (hook_int_rtx_0): Declare.
10236 * loop.c (combine_givs_p): Remove if 0 code.
10237 * system.h (ADDRESS_COST): Poison.
10238
10239 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
10240 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
10241 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
10242 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
10243 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
10244 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
10245 config/xtensa/xtensa.c, config/xtensa/xtensa.h
10246 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
10247 (ADDRESS_COST): Remove.
10248
10249 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
10250 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
10251 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
10252 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
10253 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
10254 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
10255 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
10256 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 10257 config/mips/mips.c, config/mips/mips.h,
dcefdf67 10258 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 10259 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
10260 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
10261 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
10262 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
10263 config/vax/vax.c, config/vax/vax.h
10264 (foo_address_cost): Make static.
10265 (TARGET_ADDRESS_COST): New.
10266 (ADDRESS_COST): Remove.
10267
10268 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
10269 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
10270 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
10271 config/stormy16/stormy16.h
10272 (ADDRESS_COST): Move code ...
10273 (foo_address_cost): ... here.
10274 (TARGET_ADDRESS_COST): New.
10275
10276 * config/m32r/m32r.c (m32r_address_cost): Remove.
10277 * config/m32r/m32r-protos.h: Update.
10278
10279 * config/mmix/mmix.c (mmix_address_cost): Remove.
10280 * config/mmix/mmix-protos.h: Update.
10281
10282 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
10283 mn10300_address_cost; move unsig allocation ...
10284 (mn10300_address_cost): ... here.
10285 (TARGET_ADDRESS_COST): New.
10286 * config/mn10300/mn10300-protos.h: Update.
10287 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
10288
75642f32
RH
10289 * doc/tm.texi: Update.
10290
58fb7809
VM
102912003-01-28 Vladimir Makarov <vmakarov@redhat.com>
10292
10293 * haifa-sched.c (schedule_insn): Return necessary cycle advance
10294 after issuing the insn.
10295 (rank_for_schedule): Make a insn with /S the highest priority
10296 insn.
10297 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
10298 (choose_ready): Check SCHED_GROUP_P.
10299 (schedule_block): Advance cycle after issuing insn if it is
10300 necessary. Don't reorder insns if there is an insn with /S.
10301 (set_priorities): Ignore schedule groups.
10302
10303 * sched-deps.c (remove_dependence, group_leader): Remove the
10304 functions.
10305 (add_dependence): Ignore schedule groups.
10306 (set_sched_group_p): Don't make copy of dependencies from previous
10307 insn of the schedule group. Add anti-dependency to the previous
10308 insn of the schedule group.
10309 (compute_forward_dependences): Ignore schedule groups.
10310
10311 * sched-ebb.c (init_ready_list): Ignore schedule groups.
10312
10313 * sched-rgn.c (init_ready_list): Ditto.
10314 (can_schedule_ready_p): Ditto.
ff6e2d3e 10315
371c988b
VM
103162003-01-28 Vladimir Makarov <vmakarov@redhat.com>
10317
10318 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
10319 register to another one.
10320
40cdfd5a
RH
103212003-01-28 Richard Henderson <rth@redhat.com>
10322
10323 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
10324
a77b7e32
RS
103252003-01-28 Roger Sayle <roger@eyesopen.com>
10326
10327 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
10328
3620944c
RS
103292003-01-28 Richard Sandiford <rsandifo@redhat.com>
10330
10331 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
10332 class contains a floating-point register, return the size of the
10333 mode in half words.
10334
62c9aa5f 103352003-01-28 Jan Hubicka <jh@suse.cz>
e6e81735 10336
26182e15
SB
10337 * i386.c (ix86_carry_flag_operator): New predicate.
10338 (fcmov_operator): Fix whitespace.
10339 (ix86_expand_carry_flag_compare): Deal with floating point.
10340 (ix86_expand_int_movcc): Deal with fp; update insn expansion
10341 (ix86_expand_int_addcc): Likewise.
10342 (ix86_expand_strlensi_unroll_1): likewsie.
10343 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
10344 * i386.md (add?i_carry_rex64): Use new predicate.
10345 (sub?i3_carry_rex64): Likewise.
10346 (x86_mov?icc_0_m1*): Likewise.
e6e81735 10347
43196589
AS
103482003-01-28 Andreas Schwab <schwab@suse.de>
10349
32214c32
AS
10350 * cfgloopmanip.c (create_preheader): Initialize src to avoid
10351 warning.
10352
10353 * expmed.c (emit_store_flag): Fix cast to avoid sign
10354 comparison warning.
10355
43196589
AS
10356 * combine.c (force_to_mode): Add cast to fix warning when
10357 STORE_FLAG_VALUE is negative.
10358
3c50106f
RH
103592003-01-27 Richard Henderson <rth@redhat.com>
10360
10361 * Makefile.in (cse.o): Depend on TARGET_H.
10362 * cse.c (rtx_cost): Use targetm.rtx_costs.
10363 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
10364 * doc/tm.texi: Update.
ff6e2d3e 10365
3c50106f
RH
10366 * target.h (targetm.rtx_costs): New.
10367 * target-def.h (TARGET_RTX_COSTS): New.
10368 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
10369 * hooks.h: Update.
10370
10371 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
10372 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
10373 * config/alpha/alpha.h (PROCESSOR_MAX): New.
10374 (CONST_COSTS, RTX_COSTS): Remove.
10375
10376 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
10377 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
10378 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
10379 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
10380 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
10381 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
10382 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
10383 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
10384 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
10385 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
10386 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
10387 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
10388 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
10389 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
10390 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
10391 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
10392 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
10393 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
10394 config/v850/v850.c, config/v850/v850.h,
10395 config/xtensa/xtensa.c, config/xtensa/xtensa.h
10396 (CONST_COSTS, RTX_COSTS): Move code ...
10397 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
10398
10399 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
10400 (arm_rtx_costs, TARGET_RTX_COSTS): New.
10401 * config/arm/arm-protos.h: Update.
10402 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
10403
10404 * config/avr/avr.h (CONST_COSTS): Move code ...
10405 * config/avr/avr.c (avr_rtx_costs): ... here.
10406 (default_rtx_costs): Make static.
10407 * config/avr/avr-protos.h: Update.
10408
10409 * config/h8300/h8300.c (const_costs): Make static.
10410 (h8300_and_costs, h8300_shift_costs): Likewise.
10411 * config/h8300/h8300-protos.h: Update.
10412
10413 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
10414 (CONST_COSTS): Move code ...
10415 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
10416 default_rtx_costs; update for signature change.
10417 * config/ip2k/ip2k-protos.h: Update.
10418
10419 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
10420 (CONST_COSTS): Move code ...
10421 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
10422 (TARGET_RTX_COSTS): New.
10423 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
10424 * config/m68hc11/m68hc11-protos.h: Update.
10425
10426 * config/m68k/m68k.c (const_int_cost): Make static.
10427 * config/m68k/m68k-protos.h: Update.
10428
10429 * config/mcore/mcore.c (mcore_const_costs): Make static.
10430 (mcore_and_cost, mcore_ior_cost): Likewise.
10431 * config/mcore/mcore-protos.h: Update.
10432
10433 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
10434 (mmix_rtx_cost_recalculated): Remove.
10435 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
10436 * config/mmix/mmix-protos.h: Update.
10437
10438 * config/sh/sh.c (shiftcosts): Make static.
10439 (addsubcosts, andcosts, multcosts): Likewise.
10440 * config/sh/sh-protos.h: Update.
10441
10442 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
10443 (sparc_rtx_costs): Make static; update for change in signature.
10444 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
10445 * config/sparc/sparc-protos.h: Update.
10446
10447 * config/v850/v850.c (const_costs): Make static.
10448 * config/v850/v850-protos.h: Update.
10449
10450 * config/vax/vax.h (RTX_COSTS): Remove.
10451 (CONST_COSTS): Move code ...
10452 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
10453 from vax_rtx_cost.
10454 (vax_rtx_costs, TARGET_RTX_COSTS): New.
10455
b9962e0a
RH
104562003-01-27 Richard Henderson <rth@redhat.com>
10457
10458 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 10459 * config/vax/vax-protos.h: Update. Really.
b9962e0a 10460
8a381273
AO
104612003-01-28 Alexandre Oliva <aoliva@redhat.com>
10462
10463 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
10464 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
10465 zero if no hardware floating point.
10466 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
10467 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
10468 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
10469 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
10470 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
10471 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
10472 even FP registers on N32 and N64.
10473 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
10474 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
10475 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
10476 even-register-like alignment to 128-bit arguments.
10477 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
10478 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
10479 on N32 or N64.
10480 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
10481 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
10482 (TPBIT): Set to tp-bit.c.
10483 (tp-bit.c): Create out of fp-bit.c.
10484
820e01be
GDR
104852003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
10486
10487 * c-parse.in: Remove '%expect 32' directive in objc mode.
10488
23af32e6
NS
104892003-01-27 Nathan Sidwell <nathan@codesourcery.com>
10490
10491 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
10492 (LIBGCOV): New variable.
10493 (libgcc.mk): Add LIBGCOV.
10494 (LIBGCC_DEPS): Add libgcov.c.
10495 (libgcov.a): New target.
10496 (clean): Remove libgcov.a.
10497 (install-libgcc): Do libgcov too.
10498 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
10499 with libgcov.a.
10500 * libgcc2.c (L_gcov): Move into ...
10501 * libgcov.c: ... here. New file.
10502 * mklibgcc.in: Add libgcov rules.
10503 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
10504
10505 * doc/invoke.texi (profile-arcs, test-coverage): Update and
10506 clarify.
ff6e2d3e 10507
23af32e6
NS
10508 * profile.c (index_counts_file): Remove duplicate check for open file.
10509
9fe42917 105102003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
10511
10512 * gcc/doc/invoke.texi (Optimization Options): Group together
10513 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 10514 out of this section. Group floating point flags together.
d4463dfc
JQ
10515 (Code Gen Options): Move trapv and bounds-check to here.
10516
244d05fb
JZ
105172003-01-27 Josef Zlomek <zlomekj@suse.cz>
10518
10519 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
10520
c552c146
RE
105212003-01-27 Richard Earnshaw <rearnsha@arm.com>
10522
10523 PR optimization/9090
10524 * function.c (purge_addressof_1): After pushing an addressed register
10525 onto the stack, simplify the result.
10526
90a21764
VR
105272003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10528
10529 * doc/extend.texi: Fix typo.
10530
9a376494
VR
105312003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10532
10533 * doc/cppopts.texi: Fix typo.
10534 * doc/objc.texi: Likewise.
10535 * doc/passes.texi: Likewise.
10536
f004e5f3
AO
105372003-01-27 Alexandre Oliva <aoliva@redhat.com>
10538
10539 * real.c (ibm_extended_format): Add 53 to minimum exponent.
10540 (encode_ibm_extended): Adjust.
10541
58c60e52
GDR
105422003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
10543
10544 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
10545 timevar_id enumerations.
10546
e869aa39
KH
105472003-01-26 Kazu Hirata <kazu@cs.umass.edu>
10548
10549 * combine.c: Fix formatting.
10550
74fb4811
KH
105512003-01-26 Kazu Hirata <kazu@cs.umass.edu>
10552
10553 * doc/gccint.texi: Update the copyright.
10554
3bcf1b13
KH
105552003-01-26 Kazu Hirata <kazu@cs.umass.edu>
10556
10557 * doc/cpp.texi: Fix typos.
10558 * doc/extend.texi: Likewise.
10559 * doc/gty.texi: Likewise.
10560 * doc/install.texi: Likewise.
10561 * doc/passes.texi: Likewise.
10562 * doc/rtl.texi: Likewise.
10563 * doc/tm.texi: Likewise.
10564
9e4f94de
KH
105652003-01-26 Kazu Hirata <kazu@cs.umass.edu>
10566
10567 * config/ia64/fde-glibc.c: Fix comment typos.
10568 * config/ia64/hpux.h: Likewise.
10569 * config/ia64/ia64.c: Likewise.
10570 * config/ia64/ia64.h: Likewise.
10571 * config/ia64/unwind-ia64.c: Likewise.
10572
4aae8a9a
KH
105732003-01-26 Kazu Hirata <kazu@cs.umass.edu>
10574
10575 * config/i386/i386-modes.def: Fix comment typos.
10576 * config/i386/i386.c: Likewise.
10577 * config/i386/i386.md: Likewise.
10578
35d8c8e2
SB
105792003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
10580
10581 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
10582 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
10583 ASM_FINISH_DECLARE_OBJECT before defining it.
10584 * toplev.c (rest_of_decl_compilation): Don't define
10585 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
10586 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
10587 parameters for DWARF2 targets because they _are_ used.
10588
ea976606
AO
105892003-01-26 Alexandre Oliva <aoliva@redhat.com>
10590
b44cf3d9
AO
10591 * fp-bit.h: Define macros for TFmode floating-point constants
10592 in IBM-extended TFmode types.
10593 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
10594 widths.
10595 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
10596 TFmode type.
10597
ea976606
AO
10598 * config/fp-bit.h: Define macros for TFmode floating-point
10599 constants in IEEE quad TFmode type. Declare functions according
10600 to L_ macros.
10601 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
10602 (TFtype, TItype, UTItype): Define if TMODES is defined.
10603 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
10604 (F_T_BITOFF, D_T_BITOFF): Define.
10605 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
10606 guaranteed to be wide enough.
10607 * config/fp-bit.c: Check for L_ macros for tf functions.
10608 (__thenan_tf): New.
10609 (nan): Adjust.
10610 (pack_d, unpack_d): Support IEEE 854 quad type.
10611 (_fpmul_parts): Support TFmode. Compute exponent adjustment
10612 from FRAC_NBITS, FRAC_BITS and NGARDS.
10613 (usi_to_float): Cast constants to be shifted to fractype
10614 instead of assuming long long is wide enough.
10615 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
10616
fd7fd61e
AJ
106172003-01-26 Andreas Jaeger <aj@suse.de>
10618
10619 * df.c: Remove prototype of unused function df_regno_rtl_debug.
10620
8ae91fc0
AO
106212003-01-26 Alexandre Oliva <aoliva@redhat.com>
10622
88e83acb
AO
10623 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
10624 (DBBIT_FUNCS): Added _df_to_tf.
10625 (TPBIT_FUNCS): New.
10626 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
10627 (LIBGCC_DEPS): Added TPBIT.
10628 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
10629
2cd622c3
AO
10630 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
10631 been able to move the result to target.
10632
8ae91fc0
AO
10633 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
10634 for the appropriate mode.
10635
c3297561
AO
10636 * calls.c (emit_library_call_value_1): Handle return values
10637 in a PARALLEL.
10638
187515f5
AO
10639 * rtl.c (get_mode_alignment): Moved to...
10640 * stor-layout.c: ... here.
10641
6ebd2ef4
AO
10642 * print-rtl.c (print_rtx): Don't print MEM details in
10643 GENERATOR_FILEs.
10644
7890e8f3
MH
106452003-01-26 Michael Hayes <mph@paradise.net.nz>
10646
10647 * df.h: Update comments, tidy formatting.
10648 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
10649 REVERSE, UNION, INTERSECTION. All uses updated.
10650 (OLD_DF_INTERFACE): Remove.
10651 (struct insn_info): Remove commented out insn field.
10652 * df.c: Update comments, tidy formatting.
10653 (df_def_table_realloc): Remove.
10654
10655
b820d2b8
AM
106562003-01-26 Alan Modra <amodra@bigpond.net.au>
10657
10658 * calls.c (save_fixed_argument_area): Tidy.
10659 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
10660 (expand_call): Comment typo fixes. Don't init low_to_save. Start
10661 call chain loop at 1 if !try_tail_call. Formatting.
10662 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
10663 Use save_fixed_argument_area and restore_fixed_argument_area.
10664
42510de4
MH
106652003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10666
10667 * df.c (df_uses_record): Handle CC0.
10668
acf9fa5f
UW
106692003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
10670
1e1bd14e
RH
10671 * reload.c (maybe_memory_address_p): New function.
10672 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 10673
5a09edba
KK
106742003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
10675
10676 * final.c (shorten_branches): Align the address of code label
1e1bd14e 10677 when computing initial lengths and addresses.
5a09edba 10678
f5818c0c
KH
106792003-01-25 Kazu Hirata <kazu@cs.umass.edu>
10680
10681 * config/m68hc11/m68hc11.md: Fix a comment typo.
10682
21ff35fb
AJ
106832003-01-25 Andreas Jaeger <aj@suse.de>
10684
10685 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
10686 TARGET_MACHO.
10687
7821bfc7
RS
106882003-01-25 Roger Sayle <roger@eyesopen.com>
10689
10690 * gcse.c (bypass_last_basic_block): New global variable.
10691 (bypass_block): Use redirect_edge_and_branch_force to redirect
10692 fall-through edges. Use bypass_last_basic_block to determine
10693 which blocks have valid PRE information.
10694 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
10695
62c9aa5f 106962003-01-25 Jan Hubicka <jh@suse.cz>
5f0bea72
JH
10697
10698 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
10699
62c9aa5f 107002003-01-25 Jan Hubicka <jh@suse.cz>
1649d92f
JH
10701 Eric Botcazou <ebotcazou@libertysurf.fr>
10702 PR opt/8492
10703 * gcse.c (one_cprop_pass): Delete unreachable blocks.
10704
6ca86a1a
RH
107052003-01-25 Richard Henderson <rth@redhat.com>
10706
10707 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
10708 from ia64_aix_select_rtx_section.
10709 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
10710 instead of saving and restoring flag_pic.
10711 (ia64_rwreloc_unique_section): Similarly.
10712 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
10713 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
10714 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
10715 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
10716
aa2fb4dd
KH
107172003-01-25 Kazu Hirata <kazu@cs.umass.edu>
10718
10719 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
10720 comment.
10721
c876997f 107222003-01-25 Richard Henderson <rth@redhat.com>
1125849a
RH
10723
10724 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
10725
c876997f 107262003-01-25 Kelley Cook <kelleycook@comcast.net>
3900a23b
KC
10727
10728 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
10729
72e42e26
SB
107302003-01-25 Segher Boessenkool <segher@koffie.nl>
10731
10732 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
10733 type for bitmaps. Use unsigned long.
10734 (nBITMAP_WORD_BITS): New macro.
10735 (BITMAP_WORD_BITS): New macro.
10736 (rest of file): Use it.
10737 * bitmap.c: Use it.
10738
8324663f
RH
107392003-01-25 Richard Henderson <rth@redhat.com>
10740
10741 2002-02-19 Robert Lipe <robertlipe@usa.net>
10742 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
10743
c876997f 107442003-01-25 Roger Sayle <roger@eyesopen.com>
2adc9b0f
RS
10745
10746 * builtins.c (purge_builtin_constant_p): Scan insn stream
10747 sequentially rather than by basic block.
10748 * function.c (purge_addressof): Simplify test with INSN_P.
10749
ad487c38
KH
107502003-01-25 Kazu Hirata <kazu@cs.umass.edu>
10751
8324663f 10752 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 10753
c876997f 107542003-01-25 Roger Sayle <roger@eyesopen.com>
07d9b20d
RS
10755
10756 * function.h (struct function): New field calls_constant_p.
10757 (current_function_calls_constant_p): New macro for above.
10758 * function.c (prepare_function_start): Initialize calls_eh_return
10759 and calls_constant_p.
10760 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
10761 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
10762 when the current_function_calls_constant_p.
10763 * integrate.c (expand_inline_function): Set calls_constant_p if
10764 the function being inlined has calls_constant_p set.
10765
c876997f 107662003-01-25 Roger Sayle <roger@eyesopen.com>
41559112
RS
10767
10768 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
10769 optimizing, even if flag_gcse is true.
10770 * toplev.c (rest_of_compilation): purge_builtin_constant_p
10771 only needs to be called when "optimize > 0 && flag_gcse".
10772
9bb231fd
RS
107732003-01-25 Roger Sayle <roger@eyesopen.com>
10774
10775 * stmt.c (emit_case_bit_tests): New routine to implement suitable
10776 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
10777 (case_bit_test_cmp): New comparison function for "qsort" to order
10778 case_bit_tests by decreasing number of destination nodes.
10779 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
10780 (expand_end_case_type): Use emit_case_bit_tests to implement
10781 suitable switch statments.
10782 (CASE_USE_BIT_TESTS): New target macro to disable the above.
10783 * Makefile.in (stmt.o): Add dependency on optab.h.
10784 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
10785
a073323c
AS
107862003-01-23 Andreas Schwab <schwab@suse.de>
10787
10788 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
10789 __do_global_ctors_aux hidden global and don't put it in
10790 .init_array.
10791 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
10792 instead so that it comes first.
10793
62c9aa5f 107942003-01-25 Jan Hubicka <jh@suse.cz>
36ddc6b0
JH
10795
10796 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
10797 subreg is read/modify.
10798
62c9aa5f 107992003-01-25 Jan Hubicka <jh@suse.cz>
26771da7
JH
10800
10801 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
10802 do libcall for large blocks.
10803 * i386.md (comi patterns): Set type to ssecomi.
10804 (sse2_unpck?pd): Fix mode of vec_select.
10805
10806 * cse.c: Include except.h
10807 (cse_set_around_loop): Do not create new basic blocks.
10808 * Makefile.in (cse.o): Add dependnecy on except.h
10809
62c9aa5f 108102003-01-25 Jan Hubicka <jh@suse.cz>
27a6aa72
JH
10811
10812 * builtins.c (fold_trunc_transparent_mathfn): New function.
10813 (fold_builtin): Use it.
10814 * convert.c (convert_to_real): Re-enable code to convert
10815 math functions; add support for floor familly functions.
10816
cd68f4e4
ZD
108172003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10818
10819 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
10820 dependencies on coretypes.h and $(TM_H).
10821
62c9aa5f 108222003-01-25 Jan Hubicka <jh@suse.cz>
67945f2e
JH
10823
10824 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
10825
c876997f 108262003-01-24 Stuart Hastings <stuart@apple.com>
095fa594 10827
08f0414b 10828 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 10829
1e4c04e0
MH
108302003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10831
10832 * config/c4x/c4x.md (UNSPEC_BU): New constants.
10833 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
10834 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
10835 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
10836 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
10837 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
10838 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
10839 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
10840
62c9aa5f 108412003-01-24 Jan Hubicka <jh@suse.cz>
a560d4d4 10842
08f0414b 10843 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
10844 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
10845 functions.
10846 (reg_rtx): Do not maintain regno_decl.
10847 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
10848 set_mem_attrs_from_reg): New global function.
10849 (init_emit): Do not initialize regno_decl.
10850 (init_emit_once): initialize reg_attrs_htab.
10851 * final.c (alter_subreg): Do not replace REG by SUBREG.
10852 (gen_mem_expr_from_op): Improve output.
10853 (output_asm_operands): Likewise.
10854 * function.c (assign_params): Do not set REGNO_DECL.
10855 * function.h (struct function): Kill regno_decl.
10856 (REGNO_DECL): Kill.
10857 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
10858 * print_rtl.c (print_rtx): Output REG information.
10859 * regclass.c (reg_scan_mark_refs): Update attrs.
10860 * reload1.c (alter_reg): Likewise.
10861 * simplify_rtx.c (simplify_subreg): Likewise.
10862 * stmt.c (expand_decl): Likewise.
10863 * rtl.def (REG): Add new field.
10864 * rtl.h (struct reg_attrs): New.
10865 (rtunion_def): At rtreg.
10866 (X0MEMATTR): Add checking.
10867 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
10868 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
10869 Declare.
10870 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
10871
1d0ea52e
BW
108722003-01-24 Bob Wilson <bob.wilson@acm.org>
10873
10874 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
10875 (xtensa_emit_call, print_operand): Fix printf format strings
10876 to avoid compile warnings.
10877 (xtensa_function_prologue, xtensa_function_epilogue): Change type
10878 of "size" argument to HOST_WIDE_INT to fix compile warnings.
10879 * config/xtensa/xtensa-protos.h
10880 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
10881
62c9aa5f 108822003-01-24 Jan Hubicka <jh@suse.cz>
272f51a3
JH
10883
10884 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
10885 (implicit_built_in_decls): New global array.
10886 (mathfn_built_in): New global function.
10887 (fold_trunc_transparent_mathfn): New static function
10888 (expand_builtin_strstr, expand_bultin_strchr,
10889 expand_builtin_strpbrk, expand_builtin_strcpy,
10890 expand_builtin_strncpy, expand_bultin_strcmp,
10891 expand_bultin_strncat, expand_builtin_fputs): Use
10892 implicint_built_in_decls.
10893 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
10894 * builtins.def: Fix comments.
10895 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
10896 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
10897 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
10898 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
10899 (DEF_C99_C90RES_BULTIN): New.
10900 (*f, *l builtins): Update.
10901 * c-common.c (DEF_BUILTIN): Initialize implicit array.
10902 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
10903 * convert.c (strip_float_extensions): New global function.
10904 * tree.h (DEF_BUILTIN): Accept 10 arguments.
10905 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
10906 Declare.
10907 * java/builtins.c (define_builtin): Handle implicit.
10908 (DEF_BUILTIN): Update.
10909 * tm.texi (TARGET_C99_FUNCTIONS): Document.
10910 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
10911 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
10912 when using glibc2.
10913
1f37a5b2
BW
109142003-01-24 Bob Wilson <bob.wilson@acm.org>
10915
10916 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
10917 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
10918 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
10919 * config/xtensa/crti.asm: New file.
10920 * config/xtensa/crtn.asm: New file.
10921 * config/xtensa/t-elf: New file.
10922 * config/xtensa/t-linux: New file.
10923 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
10924 Move various CFLAGS settings to new t-elf file.
10925
84f5e1b1
RH
109262003-01-24 Richard Henderson <rth@redhat.com>
10927
10928 PR optimization/4382
10929 * tree-inline.c (find_builtin_longjmp_call_1): New.
10930 (find_builtin_longjmp_call): New.
10931 (inlinable_function_p): Use it.
10932
09b2e78d
ZD
109332003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10934
10935 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
10936 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
10937 * config/i386/i386.c (function_arg_pass_by_reference): New.
10938 (ix86_va_arg): Support arguments passed by reference.
10939
3d436d2a
ZD
109402003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10941
10942 * cfgloopanal.c: New file.
10943 * cfgloopmanip.c: New file.
10944 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
10945 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
10946 cfglayout.o): Add dependency on cfgloop.h.
10947 (cfgloop.o): Add flags.h dependency.
10948 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
10949 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
10950 (struct loop, struct loops, flow_loops_find, flow_loops_update,
10951 flow_loops_free, flow_loops_dump, flow_loop_dump,
10952 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
10953 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
10954 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
10955 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
10956 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
10957 find_common_loop, verify_loop_structure): Declarations moved to ...
10958 * cfgloop.h: New file.
10959 * bb-reorder.c (reorder_basic_blocks): Modified.
10960 * cfglayout.c: Include cfgloop.h.
10961 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
10962 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
10963 (break_superblocks): New static function.
10964 (cfg_layout_finalize): Use it.
10965 (cfg_layout_split_block): New function.
10966 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
10967 fields.
10968 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
10969 changed.
10970 (cfg_layout_split_block): Declare.
10971 * cfgloop.c: Include cfgloop.h and flags.h.
10972 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
10973 get_loop_body): Avoid signed versus unsigned comparison warnings.
10974 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
10975 loop_latch_edge): Modified.
10976 (verify_loop_structure): Modified to use flags stored in loop structure;
10977 check irreducible loops.
10978 (cancel_loop, cancel_loop_tree): New functions.
10979 (estimate_probability): Use loop analysis code for predictions.
10980 (estimate_loops_at_level): Avoid signed versus unsigned comparison
10981 warnings.
10982 * doloop.c: Include cfgloop.h.
10983 * loop.c: Include cfgloop.h.
10984 * predict.c: Include cfgloop.h.
10985 * toplev.c: Include cfgloop.h.
10986 * unroll.c: Include cfgloop.h.
10987 * tracer.c (tracer): Modified.
10988
a38b3eea
KH
109892003-01-24 Kazu Hirata <kazu@cs.umass.edu>
10990
10991 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
10992
fd3cd001
UW
109932003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
10994
10995 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
10996 * configure: Regenerate.
10997
10998 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
10999 (tls_symbolic_reference_mentioned_p): Add prototype.
11000 (s390_tls_get_offset): Add prototype.
11001 (emit_pic_move): Remove prototype, replace by ...
11002 (emit_symbolic_move): .. this new prototype.
11003
11004 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
11005 (tls_model_chars): New global variable.
11006 (s390_encode_section_info): Encode TLS model.
11007 Use targetm.binds_local_p to check for local symbols.
11008 (s390_strip_name_encoding): New function.
11009 (TARGET_STRIP_NAME_ENCODING): Define.
11010
11011 (get_thread_pointer): New function.
21ff35fb 11012 (legitimize_tls_address): New function.
fd3cd001
UW
11013 (legitimize_address): Call it.
11014 (emit_pic_move): Remove, replace by ...
11015 (emit_symbolic_move): ... this new function.
11016
11017 (larl_operand): Handle TLS operands.
11018 (legitimate_constant_p): Likewise.
11019 (s390_decompose_address): Likewise.
11020 (s390_cannot_force_const_mem): New function.
11021 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
11022
11023 (s390_output_symbolic_const): Handle TLS unspecs.
11024 (print_operand): New code 'J'.
11025 (machine_function): Add struct member 'some_ld_name'.
11026 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
11027
11028 (enum s390_builtin): New type.
11029 (code_for_builtin_64, code_for_builtin_31): New global variables.
11030 (s390_init_builtins, s390_expand_builtin): New functions.
11031 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
11032
11033 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
11034 (ASM_OUTPUT_LABELREF): Define.
11035 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
11036
11037 * config/s390/s390.md: Define TLS UNSPEC constants.
11038 ("movdi", "movsi"): Handle TLS operands.
11039 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
11040 ("*tls_load_64", "*tls_load_31"): New insns.
11041 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 11042 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
11043 "bas_tls_64", "bas_tls_31"): New insns.
11044
01f4962d
NS
110452003-01-24 Nathan Sidwell <nathan@codesourcery.com>
11046
11047 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
11048 spe ABI is configured, if requested.
11049
70b91854
VR
110502003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11051
11052 * doc/passes.texi: Fix typo.
11053
b8089d8d
AS
110542003-01-24 Andreas Schwab <schwab@suse.de>
11055
11056 * stor-layout.c (excess_unit_span): Only define if used.
11057
38df970e
JQ
110582003-01-24 Jerry Quinn <jlquinn@optonline.net>
11059
11060 * gcc/doc/invoke.texi (Optimization Options): List -O levels
11061 for each optimization flag.
11062
dff23a65
KH
110632003-01-24 Kazu Hirata <kazu@cs.umass.edu>
11064
11065 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
11066
05739753
VR
110672003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11068
11069 * doc/bugreport.texi: Use @command instead of @code for commands.
11070 * doc/collect2.texi: Likewise.
11071 * doc/headerdirs.texi: Likewise.
11072 * doc/invoke.texi: Likewise.
11073 * doc/standards.texi: Likewise.
11074 * doc/tm.texi: Likewise.
11075 * doc/trouble.texi: Likewise.
11076
06bea5aa
NC
110772003-01-24 Nick Clifton <nickc@redhat.com>
11078
11079 * config/arm/arm.c (use_return_insn): Do not use a single return
11080 instruction for interrupt handelrs which have to create a stack
11081 frame.
11082 (arm_expand_prologue): Do not pre-bias the return address of
11083 interrupt handlers which create a stack frame.
11084
110852003-01-24 Nick Clifton <nickc@redhat.com>
11086
11087 * Add sh2e support:
11088
11089 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
11090
11091 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
11092 med_cbranches. Fix logic in short_cbranches.
11093
11094 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
11095
11096 * config/sh/sh.md (delay for cbranch): Don't annul delay
11097 slots on SH2e.
11098 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
11099 cbranch with unfilled delay slot on SH2e.
11100 (output_branch): Fill with a nop the delay slot of a
11101 branch that required a delay slot but didn't get one.
11102
11103 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
11104
11105 * doc/invoke.texi (SH options): Document -m2e.
11106 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
11107 * config/sh/lib1funcs.asm: Likewise.
11108 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
11109 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
11110 not __sh1__.
11111 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
11112 SH2E up.
11113 (SH3E_BIT): Renamed to...
11114 (SH_E_BIT): ... this. Replace all uses.
11115 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
11116 Replace all uses of TARGET_SH3E with TARGET_SH2E.
11117 (TARGET_SWITCHES): Added 2e.
11118 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
11119 (processor_type): Added PROCESSOR_SH2E.
11120 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
11121 TARGET_SH2E, except in sqrtsf2_i.
11122 (attribute cpu): Added sh2e.
11123 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
11124 (MULTILIB_MATCHES): Use m2e multilib for m3e.
11125 * config.gcc: Add sh2e target support.
11126
65ca2d60
PE
111272003-01-24 Phil Edwards <pme@gcc.gnu.org>
11128
11129 Rename -W to -Wextra.
11130 * c-decl.c: Update comments.
11131 * c-typeck.c: Likewise.
11132 * flags.h: Likewise.
11133 * function.c: Likewise.
11134 * stmt.c: Likewise.
11135 * toplev.c: Update comments.
11136 (W_options): Add 'extra'.
11137 (display_help): Remove '-W'.
11138 (decode_W_option): Special warn_uninitialized treatment in the case
11139 of -Wextra.
11140 * doc/invoke.texi: Update with new entries.
11141
3de9c088
RH
111422003-01-23 Richard Henderson <rth@redhat.com>
11143
8324663f
RH
11144 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
11145 in no-else-block case. Add commentary.
3de9c088 11146
49691411
KG
111472003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11148
b4862477
KG
11149 * configure.in: Revert last change.
11150
111512003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11152
11153 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
11154 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
11155 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
11156 ATTRIBUTE_UNUSED.
11157
11158 * configure: Regenerate.
11159
c4db7ecb
FS
111602003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11161
11162 PR java/6748
11163 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
11164 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
11165 kernels.
11166
fc69c47c
KG
111672003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11168
11169 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
11170
adbe6dfd
UW
111712003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
11172
11173 * genattrtab.c (write_attr_get): Mark 'insn' paramter
11174 as ATTRIBUTE_UNUSED.
11175
76a318e9
RE
111762003-01-23 Richard Earnshaw <rearnsha@arm.com>
11177
11178 * arm.c (thumb_base_register_rtx_p): New function.
11179 (thumb_index_register_rtx_p): New function.
11180 (thumb_legitimate_address_p): New function.
11181 (thumb_legitimate_offset_p): New function.
11182 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 11183 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
11184 definitions.
11185 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
11186 (THUMB_LEGITIMATE_OFFSET): Delte.
11187 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
11188 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
11189 (thumb_legitimate_offset_p): Likewise.
11190
9a600d0c
AS
111912003-01-23 Andreas Schwab <schwab@suse.de>
11192
11193 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
11194
2d110c0a
KG
111952003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11196
11197 * fixinc/Makefile.in (FL_LIST): Revert last change.
11198
2d1d9215
VR
111992003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11200
11201 PR other/7341
11202 * invoke.texi (ftest-coverage): Fix broken cross-reference.
11203 Change @code to @command for gcov command.
11204
11205 * gcc.texi: Adjust title of gcov section.
11206 Adjust copyright.
11207 * gcov.texi: Likewise.
11208
34ee7f82
RS
112092003-01-22 Roger Sayle <roger@eyesopen.com>
11210
11211 PR optimization/8423
11212 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
11213 its argument is constant, or 0 if !flag_gcse.
11214 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
11215 if it's argument is constant.
11216 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
11217 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
11218 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
11219 * builtins.c (purge_builtin_constant_p): New function to force
11220 instantiation of any remaining CONSTANT_P_RTX nodes.
11221 * rtl.h (purge_builtin_constant_p): Prototype here.
11222 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
11223 pass after GCSE and before loop.
11224 (flag_gcse): No longer static.
11225 * flags.h (flag_gcse): Prototype here.
11226
bab0b43b
UW
112272003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
11228
11229 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
11230 introduced by last change.
11231
7e657a61
AS
112322003-01-22 Andreas Schwab <schwab@suse.de>
11233
11234 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
11235
75a3503b
KH
112362003-01-22 Kazu Hirata <kazu@cs.umass.edu>
11237
11238 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
11239 request a scratch reg on H8S when the shift count is 8.
11240
4888ec5d
UW
112412003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
11242
11243 * config/s390/s390-protos.h (preferred_la_operand_p):
11244 Remove second parameter.
11245 * config/s390/s390.c (preferred_la_operand_p): Likewise.
11246 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
11247 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
11248 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
11249 Add peepholes to transform ADD to LOAD ADDRESS.
11250
6b990f6b
RE
112512003-01-22 Richard Earnshaw <rearnsha@arm.com>
11252
11253 * arm.c (arm_address_register_rtx_p): New function.
11254 (arm_legitimate_address_p): New function.
11255 (arm_legitimate_index_p): New function.
11256 (legitimize_pic_address): Use arm_legitimate_index_p.
11257 * arm-protos.h (arm_legtimate_address_p): Add prototype.
11258 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
11259 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
11260
f0bf1270
HP
112612003-01-22 Hartmut Penner <hpenner@de.ibm.com>
11262
11263 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
11264 * config/s390/2064.md (define_bypass): Correct 'Load' and
11265 'Load-address' bypass values.
21ff35fb 11266
fcb6a0f5
AS
112672003-01-22 Andreas Schwab <schwab@suse.de>
11268
11269 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
11270
c24b8026
ZW
112712003-01-21 Zack Weinberg <zack@codesourcery.com>
11272
11273 * genautomata.c (output_internal_insn_latency_func,
11274 output_print_reservation_func): Short circuit when there is no
11275 automaton to generate code for.
11276
38afe605
KG
112772003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11278
11279 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
11280 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
11281
d24652ee
GK
112822003-01-21 Geoffrey Keating <geoffk@apple.com>
11283
11284 * config/rs6000/rs6000.md: Remove warning.
11285 (builtin_setjmp_receiver): Likewise.
11286 * config/darwin.c (update_stubs): Slightly improve terrible hack
11287 with identifiers. Add comment pointing out problems with it.
11288 (update_non_lazy_ptrs): Likewise.
11289
1c99d804
RH
112902003-01-21 Richard Henderson <rth@redhat.com>
11291
11292 * dwarf2out.c (lookup_filename): Fix printf format warning.
11293 * system.h (fread_unlocked, fwrite_unlocked): Undef.
11294
11295 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
11296 (fixincl.o-warn, gnu-regex.o-warn): New.
11297 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
11298 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
11299 * fixinc/fixincl.c (process): Fix printf format warning.
11300
f0b886ab
UW
113012003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
11302
11303 * dwarf2out (output_file_names): Don't crash if called
11304 with empty file_table.
11305
490c57bb
ZW
113062003-01-21 Zack Weinberg <zack@codesourcery.com>
11307
11308 * genautomata.c (output_internal_insn_latency_func): Add
11309 missing break statement to generated code.
11310
100e3acb
RS
113112003-01-21 Roger Sayle <roger@eyesopen.com>
11312
11313 * stmt.c (same_case_target_p): New function to determine whether
11314 two case labels branch to the same target. Split out from...
11315 (group_case_nodes): ... here. Use same_case_target_p instead.
11316 (strip_default_case_nodes): Remove explicit case nodes
11317 that branch to the default destination.
11318 (expand_end_case_type): Call strip_default_case_nodes after
11319 group_case_nodes, to simplify the case-list before we count it.
11320 Only generate table_label RTX when actually needed. Try to share
11321 thiscase->exit_label and thiscase->data.case_stmt.default_label
11322 when a switch has no explicit default case. Simplify test for
11323 constant index.
11324
e8e8c1e5
KH
113252003-01-21 Kazu Hirata <kazu@cs.umass.edu>
11326
11327 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
11328 \t.
11329 (*negsf2_h8300hs): Likewise.
11330 (*addsi3_lshiftrt_16_zexthi): Likewise.
11331 (*iorhi3_lshiftrt_8): Likewise.
11332
044b4de3
UW
113332003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
11334
11335 * dwarf2out.c (fde_table_in_use): Mark GTY.
11336 (dwarf2out_cfi_label_num): New variable, marked GTY.
11337 (dwarf2out_cfi_label): Use it instead of static label_num.
11338 * emit-rtl.c (label_num): Mark GTY.
11339
cfedf91b
KH
113402003-01-21 Kazu Hirata <kazu@cs.umass.edu>
11341
11342 * config/h8300/h8300.c (output_plussi): Support H8/300.
11343 (compute_plussi_length): Likewise.
11344 (compute_plussi_cc): Likewise.
11345 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
11346 output assembly instructions.
11347
dd859b8a
KG
113482003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11349
1f5b3282
KG
11350 * calls.c (fix_unsafe_tree): Prototype.
11351
dd859b8a
KG
11352 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
11353 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
11354 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
11355 c-parse.o-warn): Add -Wno-error.
11356 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
11357
11358 * configure.in (--enable-werror): Add new flag.
11359 * doc/install.texi (--enable-werror): Document.
11360 * configure: Regenerate.
11361
11362 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
11363
4f9365e2
AS
113642003-01-21 Andreas Schwab <schwab@suse.de>
11365
11366 * genautomata.c (output_internal_insn_latency_func): Fix missing
11367 close paren in output.
11368
a543eb5e
ZW
113692003-01-21 Zack Weinberg <zack@codesourcery.com>
11370
11371 * genautomata.c: Space savings in generated code:
11372 (output_dfa_insn_code_func): Split out the table-enlargement
11373 path to an out-of-line static function, dfa_insn_code_enlarge.
11374 (output_internal_insn_latency_func): Use a lookup table for the
11375 default latencies.
11376 (output_print_reservation_func): Use a lookup table for the
11377 strings.
11378
292e35a3
CE
113792003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
11380
11381 PR opt/7507
11382 * calls.c (fix_unsafe_tree): Split out from ...
11383 (expand_call): ... here. Use it on the function address too.
11384
d8d0f5af
RH
113852003-01-20 Richard Henderson <rth@redhat.com>
11386
11387 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
11388
5b50aa9d
RH
113892003-01-20 Richard Henderson <rth@redhat.com>
11390
515e1c9f 11391 PR opt/7154
5b50aa9d
RH
11392 * stmt.c (expand_asm_operands): Validize memory operands.
11393
7a174a15
RH
113942003-01-20 Richard Henderson <rth@redhat.com>
11395
11396 PR opt/8848
11397 * ifcvt.c (noce_process_if_block): Correct arguments to
11398 modified_between_p for no-else-block case.
11399
9ac7ebba
KH
114002003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11401
11402 * config/h8300/h8300.c (const_costs): Remove a warning.
11403 (output_plussi): Likewise.
11404 (compute_plussi_length): Likewise.
11405 (compute_plussi_cc): Likewise.
11406
309c52b5
KH
114072003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11408
11409 * config/h8300/h8300.md (addsi_h8300): Remove the last
11410 alternative.
11411
b30686ec
KH
114122003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11413
11414 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
11415
87608693
KG
114162003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11417
11418 * system.h (__NO_STRING_INLINES): Define.
11419
475c8250
JDA
114202003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11421
11422 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
11423 is not a scalar int mode.
11424
dbaff908
RS
114252003-01-20 Roger Sayle <roger@eyesopen.com>
11426
11427 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
11428 insn's notes following a substitution inside a libcall.
11429
da8a6064
ZW
114302003-01-20 Zack Weinberg <zack@codesourcery.com>
11431
11432 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 11433 * configure, config.in: Regenerate.
da8a6064
ZW
11434 * cpphash.h: Only typedef 'uchar' if the system doesn't.
11435
a4b1b92a
RH
114362003-01-20 Richard Henderson <rth@redhat.com>
11437
11438 * expr.h (MUST_PASS_IN_STACK): Move implementation...
11439 * calls.c (default_must_pass_in_stack): ... here.
11440
d530b07f
VM
114412003-01-20 Vladimir Makarov <vmakarov@redhat.com>
11442
da8a6064
ZW
11443 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
11444
d530b07f
VM
11445 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
11446
11447 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
11448 Wrap up definition of `insn_alts'.
11449
11450 * genattrtab.c (main): Wrap up `insn_alts'.
11451
351df804
KG
114522003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11453
11454 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
11455 prototyping.
11456 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 11457
351df804
KG
11458 * config.in, configure: Regenerate.
11459
e3289412
NC
114602003-01-20 Nick Clifton <nickc@redhat.com>
11461
11462 * config/arm/arm.md (sibcall_epilogue): Add an
11463 UNSPEC_PROLOGUE_USE to prevent the link register from being
11464 considered dead.
11465
62c9aa5f 114662003-01-20 Jan Hubicka <jh@suse.cz>
5794139a
JH
11467
11468 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
11469
0a18ddf9
AS
114702003-01-20 Andreas Schwab <schwab@suse.de>
11471
11472 * system.h: Don't declare strsignal if the decl test hasn't been
11473 run yet.
11474
d99c740f
KH
114752003-01-20 Kazu Hirata <kazu@cs.umass.edu>
11476
11477 * config/h8300/h8300.c (notice_update_cc): Don't assume that
11478 recog_data.operands[0] is always associated with cc0.
11479
825c5408
DE
114802003-01-19 David Edelsohn <edelsohn@gnu.org>
11481
11482 * collect2.c (ldgetname): Expand declaration to prototype.
11483 * read-rtl.c (atoll): Add prototype.
da3e0142 11484 * system.h (strsignal): Also declare if no declaration found.
825c5408 11485
3bd6d4c4
AO
114862003-01-19 Alexandre Oliva <aoliva@redhat.com>
11487
11488 * config.gcc (mips64*-*-linux*): Added.
11489 * config/mips/linux64.h, config/mips/t-linux64: New file.
11490 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
11491 * config/mips/mips.c (override_options): Use it.
11492 * config/mips/mips.h (TARGET_SWITCHES): Added...
11493 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
11494 * Makefile.in (SPECS): New.
11495 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
11496 * gcc.c (process_command): Move self-spec processing past spec
11497 file loading.
11498 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
11499 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
11500 CRTSTUFF_T_CFLAGS.
11501 (SPECS): Document.
11502 * doc/invoke.texi (-mabi-fake-default): Document.
11503
e9f13564
SC
115042003-01-19 Stephane Carrez <stcarrez@nerim.fr>
11505
11506 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
11507 z_reg, z_reg_qi): Declare static and GTY().
11508 (da_reg): Remove.
11509 (create_regs_rtx): Don't create da_reg.
11510 ("gt-m68hc11.h"): Include for GTY roots.
11511 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
11512 and GTY() here.
11513 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
11514 (m68hc11_soft_tmp_reg): Likewise.
11515 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
11516
32dd366d
KH
115172003-01-18 Kazu Hirata <kazu@cs.umass.edu>
11518
11519 * basic-block.h: Fix comment formatting.
11520 * calls.c: Likewise.
11521 * combine.c: Likewise.
11522 * convert.c: Likewise.
11523 * gcov.c: Likewise.
11524 * haifa-sched.c: Likewise.
11525 * libgcc2.c: Likewise.
11526 * loop.c: Likewise.
11527 * profile.c: Likewise.
11528 * system.h: Likewise.
11529
bc3cb712
RS
115302003-01-18 Roger Sayle <roger@eyesopen.com>
11531
11532 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
11533
25e42e9d
KG
115342003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11535
11536 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
11537
6f9c81f5
DJ
115382003-01-17 Dale Johannesen <dalej@apple.com>
11539
da8a6064 11540 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
11541 (*floatunssidf2_internal): Ditto.
11542
95bd1dd7
KH
115432003-01-17 Kazu Hirata <kazu@cs.umass.edu>
11544
11545 * alias.c: Fix comment typos.
11546 * basic-block.h: Likewise.
11547 * c-common.c: Likewise.
11548 * c-common.h: Likewise.
11549 * c-decl.c: Likewise.
11550 * c-opts.c: Likewise.
11551 * c-pragma.c: Likewise.
11552 * c-pretty-print.h: Likewise.
11553 * cfg.c: Likewise.
11554 * cfganal.c: Likewise.
11555 * cfgbuild.c: Likewise.
11556 * cfgcleanup.c: Likewise.
11557 * cfglayout.c: Likewise.
11558 * cfgrtl.c: Likewise.
11559 * convert.c: Likewise.
11560 * cpphash.h: Likewise.
11561 * cpplex.c: Likewise.
11562 * cpplib.h: Likewise.
11563 * df.h: Likewise.
11564 * diagnostic.c: Likewise.
11565 * diagnostic.h: Likewise.
11566 * dwarf2.h: Likewise.
11567
d5840e09
SS
115682003-01-17 Stan Shebs <shebs@apple.com>
11569
11570 * config/darwin-protos.h: Forward-declare struct cpp_reader.
11571
e607534b
DR
115722003-01-17 Douglas B Rupp <rupp@gnat.com>
11573
11574 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
11575 mistake in last checkin.
11576
fbe5a4a6
KH
115772003-01-17 Kazu Hirata <kazu@cs.umass.edu>
11578
11579 * et-forest.c: Fix comment typos.
11580 * et-forest.h: Likewise.
11581 * except.c: Likewise.
11582 * expr.c: Likewise.
11583 * flags.h: Likewise.
11584 * flow.c: Likewise.
11585 * gcc.c: Likewise.
11586 * gcse.c: Likewise.
11587 * genattrtab.c: Likewise.
11588 * genautomata.c: Likewise.
11589 * gengtype.c: Likewise.
11590 * genrecog.c: Likewise.
11591 * global.c: Likewise.
11592 * gthr-rtems.h: Likewise.
11593
095f9093
KG
115942003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11595
11596 * i386.c (x86_function_profiler): Fix format specifier.
11597
084087e1
RH
115982003-01-17 Richard Henderson <rth@redhat.com>
11599
11600 * gengtype.c (walk_type): Allow paramN_is.
11601
4a13592e
NC
116022003-01-17 Nick Clifton <nickc@redhat.com>
11603
11604 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
11605
01193617
RH
116062003-01-16 Richard Henderson <rth@redhat.com>
11607
11608 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
11609
f030826a
RH
116102003-01-16 Richard Henderson <rth@redhat.com>
11611
11612 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
11613 (alpha_next_sequence_number): Likewise.
11614 (alpha_this_literal_sequence_number): Likewise.
11615 (alpha_this_gpdisp_sequence_number): Likewise.
11616 (struct alpha_funcs, alpha_funcs_num): Likewise.
11617 (struct alpha_links): Fix branch merge error.
11618 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
11619
e1551d47
AO
116202003-01-17 Alexandre Oliva <aoliva@redhat.com>
11621
11622 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
11623 R. Ghazi.
11624
3d042e77
KH
116252003-01-16 Kazu Hirata <kazu@cs.umass.edu>
11626
11627 * ifcvt.c: Fix comment typos.
11628 * lcm.c: Likewise.
11629 * libgcc2.c: Likewise.
11630 * local-alloc.c: Likewise.
11631 * loop.c: Likewise.
11632 * predict.c: Likewise.
11633 * ra-build.c: Likewise.
11634 * ra.c: Likewise.
11635 * ra-colorize.c: Likewise.
11636 * ra.h: Likewise.
11637 * ra-rewrite.c: Likewise.
11638 * regmove.c: Likewise.
11639 * reload.h: Likewise.
11640 * rtlanal.c: Likewise.
11641 * toplev.c: Likewise.
11642 * tree.h: Likewise.
11643 * unwind-dw2-fde-glibc.c: Likewise.
11644 * vmsdbgout.c: Likewise.
11645
c4274b22
RH
116462003-01-16 Richard Henderson <rth@redhat.com>
11647
11648 * dwarf2out.c (struct file_table): Remove.
11649 (FILE_TABLE_INCREMENT): Remove.
11650 (file_table): Make a varray; mark for GC. Update all users.
11651 (file_table_last_lookup_index): Extract from struct file_table.
11652 (output_file_names): Fix unsigned compare warnings.
11653 (add_name_attribute): Remove inline marker.
11654 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
11655 (lookup_filename): Don't manage size of file_table.
11656 (init_file_table): Allocate file_table with GC.
11657 (dwarf2out_init): Don't record main_input_filename here.
11658 (dwarf2out_finish): Do it here instead.
11659
19162d0e
BK
116602003-01-16 Bruce Korb <bkorb@gnu.org>
11661
11662 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
11663
f1e2239f
KK
116642003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
11665
da8a6064
ZW
11666 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
11667 instead of rotldi3_mextr.
f1e2239f 11668
cda1f765
VM
116692003-01-16 Vladimir Makarov <vmakarov@redhat.com>
11670
11671 * haifa-sched.c (move_insn): Restore moving all schedule group.
11672 (set_priorities): Restore taking SCHED_GROUP_P into account.
11673
11674 * sched-deps.c (add_dependence): Restore processing the last group
11675 insn.
11676 (remove_dependence, group_leader): Restore the functions.
11677 (set_sched_group_p): Restore adding dependencies from previous insn
11678 in the group.
11679 (compute_forward_dependences): Restore usage of group_leader.
11680
11681 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
11682 account.
11683
11684 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
11685 account.
11686 (can_schedule_ready_p): Ditto.
11687 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 11688
200097cc
SC
116892003-01-16 Stephane Carrez <stcarrez@nerim.fr>
11690
11691 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
11692 68HC12 pre/post inc/dec side effects.
11693
f411c739
SC
116942003-01-16 Stephane Carrez <stcarrez@nerim.fr>
11695
11696 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
11697
62c9aa5f 116982003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
08c43ea7
R
11699
11700 * sh.md (mshflo_w_x): Fix description of operation.
11701
07488f32
ZW
117022003-01-16 Zack Weinberg <zack@codesourcery.com>
11703
11704 * config/rs6000/rs6000.h: Mention Altivec registers in
11705 commentary. Fix typo.
11706
27dc0551
DE
117072003-01-16 David Edelsohn <edelsohn@gnu.org>
11708
11709 * config/rs6000/rs6000.md (movti_string): Remove clobber.
11710 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
11711 generate PARALLEL with clobber for TARGET_POWER.
11712
0334ef47
KG
117132003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11714
11715 * ra-colorize.c (colorize_one_web): Initialize variable.
11716 * regmove.c (fixup_match_1): Likewise.
11717 * reload1.c (reload_as_needed): Likewise.
11718 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
11719
16f2b86a
ZD
117202003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11721
11722 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
11723
fc555370
KG
117242003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11725
93d8c755
KG
11726 * dbxout.c (lastfile, cwd): Fix `unused' warning.
11727 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
11728 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
11729 is_main_source, file_table, decl_die_table_in_use,
11730 abbrev_die_table_in_use, line_info_table_in_use,
11731 separate_line_info_table_in_use, pubname_table_in_use,
11732 arange_table_in_use, ranges_table_in_use,
11733 current_function_has_inlines): Likewise.
11734 * flow.c (life_analysis): Likewise.
11735 * genemit.c (gen_insn): Likewise.
11736 * protoize.c (cplus_suffix): Likewise.
11737
0c2ca901
KG
11738 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
11739 * arm.h (ROUND_UP_WORD): Likewise.
11740
fc555370
KG
11741 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
11742 warning.
11743 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
11744 init_emit_once): Likewise.
11745 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
11746 Likewise.
11747 * function.c (assign_stack_temp_for_type): Likewise.
11748 * loop.c (loop_invariant_p): Likewise.
11749 * recog.c (push_operand): Likewise.
11750 * regclass.c (init_reg_sets_1): Likewise.
11751 * reload.c (update_auto_inc_notes): Likewise.
11752 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
11753 * stmt.c (expand_asm_operands): Likewise.
11754 * stor-layout.c (start_record_layout): Likewise.
11755
64510a4f
HB
117562003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
11757
07488f32 11758 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 11759
77480b0b
RH
117602003-01-15 Richard Henderson <rth@redhat.com>
11761
11762 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
11763 also check that GP is being used.
11764 (alpha_find_lo_sum_using_gp): New.
11765 (alpha_does_function_need_gp): Use get_attr_usegp.
11766 * config/alpha/alpha-protos.h: Update.
11767 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
11768 as needed.
11769
a0134312
RS
117702003-01-15 Roger Sayle <roger@eyesopen.com>
11771
11772 * gcse.c (one_cprop_pass): Change function arguments to take both
11773 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
11774 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
11775 (bypass_jumps): New function to perform separate jump bypassing pass.
11776 * rtl.h (bypass_jumps): Add function prototype.
11777 * timevar.def (TV_BYPASS): New timing variable.
11778 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
11779 (dump_file): New entry for the bypass RTL dump file.
11780 (rest_of_compilation): Insert new jump bypassing optimization
11781 pass after loop.
11782 * doc/passes.texi: Document new pass.
11783
4af6a063
JDA
117842003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
11785
11786 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
11787 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
11788 * pa.h (TARGET_SOM_SDEF): Define.
11789 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
11790
51e13b71
SC
117912003-01-16 Stephane Carrez <stcarrez@nerim.fr>
11792
07488f32 11793 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
11794 allocate 4-bytes of locals on 68HC11.
11795 (expand_epilogue): Likewise.
11796 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
11797
f077f169
SC
117982003-01-15 Stephane Carrez <stcarrez@nerim.fr>
11799
11800 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
11801 and -mshort-double to the assembler to specify the ABI.
11802 (LINK_SPEC): Likewise.
11803 (CPP_SPEC): Pass HCS12 specific define.
11804 (MASK_M68S12): New define.
11805 (TARGET_M68S12): Likewise.
11806 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
11807 (TARGET_VERSION): Update.
11808 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
11809 (LINK_SPEC): Update.
11810 (ASM_SPEC): Update.
11811 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
11812 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
11813
c0f684dc
SC
118142003-01-15 Stephane Carrez <stcarrez@nerim.fr>
11815
11816 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
11817 the return code.
11818
6982ae15
JZ
118192003-01-15 Josef Zlomek <zlomekj@suse.cz>
11820
11821 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
11822 flag before setting it.
11823
8cadeff1
RS
118242003-01-15 Roger Sayle <roger@eyesopen.com>
11825
11826 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
11827 when loop condition is known true, i.e. "while (1) { ... }".
11828 (genrtl_for_stmt): Similarly for "for" statements.
11829
03cd8aba
RS
118302003-01-15 Roger Sayle <roger@eyesopen.com>
11831
11832 * real.c (real_sqrt): Return a bool result indicating whether
11833 a floating point exception or trap should be raised.
11834 * real.h (real_sqrt): Update function prototype.
11835 * builtins.c (fold_builtin): Only fold non-trapping square
11836 roots unless we're ignoring errno and trapping math.
11837
4da78214
JDA
118382003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
11839
11840 * expr.h (emit_conditional_add): Add PARAMS to declaration.
11841 * gengtype-lex.l (malloc, realloc): Move defines after include of
11842 system.h. Remove duplicate include of system.h.
11843
9ee0a442
RS
118442003-01-15 Roger Sayle <roger@eyesopen.com>
11845
11846 PR middle-end/9009
11847 * optabs.c (expand_unop): When manipulating the FP sign bit
11848 using integer operations, account for targets with different
11849 integer and FP word orders.
11850 (expand_abs): Likewise.
11851
e3981aab
DE
118522003-01-15 David Edelsohn <edelsohn@gnu.org>
11853
11854 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
11855 file extension in section name.
11856
89c4b810
RE
118572003-01-15 Richard Earnshaw <rearnsha@arm.com>
11858
11859 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
11860 constant offset.
11861
3cd45774
RE
118622003-01-15 Richard Earnshaw <rearnsha@arm.com>
11863
11864 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
11865 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
11866 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
11867 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
11868
62c9aa5f 118692003-01-15 Jan Hubicka <jh@suse.cz>
b1a6f8db
JH
11870
11871 PR f/9258
07488f32 11872 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
11873 (global_conflicts): Set no_stack_reg.
11874 (find_reg): Use it.
11875
11876 * convert.c (convert_to_real): Fold - and abs only when profitable.
11877 * fold-const.c (fold): Fold truncates in - and abs.
11878
d18c7e59
JZ
118792003-01-15 Josef Zlomek <zlomekj@suse.cz>
11880
11881 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
11882
11883 * predict.c (real_inv_br_prob_base): New variable.
11884 (propagate_freq): Use multiply by reciprocal instead of
11885 division. Don't divide by 1.0 at all.
11886 (estimate_bb_frequencies): Similar.
11887
027faee7
AO
118882003-01-15 Alexandre Oliva <aoliva@redhat.com>
11889
11890 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
11891 * configure: Rebuilt.
11892
077dab3b 118932003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 11894
077dab3b
HP
11895 * config/s390/s390.c (s390_safe_attr_type): New function.
11896 (s390_use_dfa_pipeline_interface): New function, return true for z900.
11897 (s390_issue_rate): New function.
11898 (s390_agen_dep_p): New function.
11899 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
11900 (s390_adjust_cost): Return 'cost' if new DFA is used.
11901 (s390_adjust_priority): Delete function.
11902 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
11903 * config/s390/s390.md (atype attribute): Attribute 'atype' default
11904 determined by 'op_type'.
11905 (type attribute): Added more type attributes.
11906 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 11907
077dab3b 119082003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 11909
acfa9d9f
AO
11910 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
11911 forced to memory. Fixes PR bootstrap/9036.
11912
3c0121e4
AO
11913 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
11914 to set $gp before the call.
11915
553eb139
RH
119162003-01-14 Richard Henderson <rth@redhat.com>
11917
11918 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
11919 for force_const_mem.
11920
dd1b7476
KG
119212003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11922
11923 * genattr.c (main): Rearrange output to avoid prototype warning.
11924 * genautomata.c (transform_3): Fix ambiguous-else warning.
11925 * local-alloc.c (requires_inout): Add parentheses around
11926 assignment used as truth-value.
11927 * timevar.c: Move system includes above local includes. Include
11928 toplev.h
11929 * Makefile.in (timevar.o): Depend on toplev.h.
11930
6028880a
DC
119312003-01-14 Denis Chertykov <denisc@overta.ru>
11932
11933 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
11934 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
11935
11936 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 11937 attributes.
6028880a
DC
11938 (TARGET_ATTRIBUTE_TABLE): New macro.
11939 (valid_machine_type_attribute): Remove.
11940 (valid_machine_decl_attribute): Remove.
11941 (ip2k_handle_progmem_attribute): New function.
11942 (ip2k_handle_fndecl_attribute): New function.
11943
4a2953e4 119442003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
11945
11946 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
11947 registers to be in correct order. Add rip.
11948
4d77fda2
KH
119492003-01-14 Kazu Hirata <kazu@cs.umass.edu>
11950
11951 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
11952 (*iorsi3_and_lshiftrt_9_sb): Likewise.
11953
62c9aa5f 119542003-01-14 Jan Hubicka <jh@suse.cz>
77f9af81
JH
11955
11956 * convert.c (strip_float_extensions): Look for narrowest type handling
11957 FP constants.
11958
11959 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
11960 float1 CMP float2.
11961 * convert.c (strip_float_extensions): Make global.
11962 * tree.h (strip_float_extensions): Declare.
11963
fd371a93
GDR
119642003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
11965
11966 * timevar.def: define TV_NAME_LOOKUP.
11967 * timevar.c (timevar_pop): Be verbose when aborting.
11968
dcd1c2b8
AS
119692003-01-13 Andreas Schwab <schwab@suse.de>
11970
11971 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
11972 $(parsedir), just move the temporary file at the end.
11973 ($(parsedir)/gengtype-yacc.c): Likewise.
11974
eb4b5f93
AO
119752003-01-13 Alexandre Oliva <aoliva@redhat.com>
11976
11977 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
11978 ${ac_tool_prefix} to ADAC or CC. Protect them from word
11979 splitting.
11980 * configure: Rebuilt.
11981
f7835768
KG
119822003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11983
11984 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
11985 internal_mcount): Don't use PARAMS.
11986 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
11987 ISO C style.
11988 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
11989
38a3dbbb
AS
119902003-01-13 Andreas Schwab <schwab@suse.de>
11991
11992 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
11993 directive.
11994
98dc53e3
KH
119952003-01-13 Kazu Hirata <kazu@cs.umass.edu>
11996
11997 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
11998 (*iorsi3_and_lshiftrt_n_sb): Likewise.
11999
e8f2b18d
MM
120002003-01-12 Mark Mitchell <mark@codesourcery.com>
12001
12002 PR c++/9264
12003 * c-lex.c (c_lex): Set the token value to error_mark_node for
12004 invalid numeric constants.
12005
70f8b89f
KG
120062003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12007
12008 * c-pch.c (asm_file_startpos): Change to `long'.
12009 (pch_init): Use ftell, not ftello.
12010 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
12011 Use `long' instead of `off_t'.
12012 (c_common_read_pch): Likewise.
12013 * ggc-common.c (gt_pch_save): Use long/ftell instead of
12014 off_t/ftello.
12015
8e37cba8
AM
120162003-01-12 Alan Modra <amodra@bigpond.net.au>
12017
12018 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
12019
04f08c8e
RE
120202003-01-11 Richard Earnshaw (rearnsha@arm.com)
12021
12022 * arm-protos.h (struct cpp_reader): Add declaration.
12023
62c9aa5f 120242003-01-11 Jan Hubicka <jh@suse.cz>
a5cf80f0
JH
12025
12026 PR target/9068
12027 * i386.c (output_fp_compare): Fix typo.
12028
bbfb86aa
DE
120292003-01-10 David Edelsohn <edelsohn@gnu.org>
12030
12031 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
12032
223b87b6
GK
120332003-01-10 Geoffrey Keating <geoffk@apple.com>
12034
3859c32a
GK
12035 * Makefile.in (parsedir): New variable.
12036 (docobjdir): New variable.
07488f32 12037 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
12038 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
12039 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
12040 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 12041 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
12042 Use docobjdir.
12043 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
12044 objc.maintainer-clean): Use parsedir.
12045
63af3bd1
GK
12046 * varasm.c (struct constant_descriptor_rtx): Remove unused
12047 `label' field.
12048
223b87b6
GK
12049 * toplev.c (documented_lang_options): Document -Winvalid-pch.
12050
fbadafbc
RH
120512003-01-10 Richard Henderson <rth@redhat.com>
12052
12053 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
12054 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
12055
ab5ecb01
RH
120562003-01-10 Richard Henderson <rth@redhat.com>
12057
12058 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
12059 not INTEGRAL_MODE_P when widening extensions.
12060
7f24e7c5
RH
120612003-01-10 Richard Henderson <rth@redhat.com>
12062
12063 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
12064
6dd05d08
GK
120652003-01-10 Geoffrey Keating <geoffk@apple.com>
12066
19cc0dd4
GK
12067 * ggc-page.c (ggc_collect): Avoid overflow computing
12068 min_expand.
12069
6dd05d08
GK
12070 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
12071 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
12072 Remove calls.
12073 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
12074
62c9aa5f 120752003-01-10 Jan Hubicka <jh@suse.cz>
5f1355ef
JH
12076
12077 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
12078 with weird operands.
12079
0cdca92b 120802003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
12081
12082 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
12083 parameters. Call check_sibcall_argument_overlap if indicated.
12084 (check_sibcall_argument_overlap): Add mark_stored_args_map
12085 parameter. Don't mark parameter area as clobbered if not set.
12086 (expand_call): Adjust calls to above.
12087
120882003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
12089
12090 * configure.in (linker read-only and read-write section mixing):
12091 Squelch some assembler warnings.
12092 * configure: Likewise.
12093
be2c2a4b
HP
120942003-01-10 Hartmut Penner <hpenner@de.ibm.com>
12095
21ff35fb 12096 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
12097 option for S/390 and zSeries.
12098 * config/s390/s390.c (s390_tune_string) New variable.
12099 (s390_cpu_string) Delete variable.
12100 (override_options): Use s390_tune_string instead of
12101 s390_cpu_string.
12102 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
12103
1f450138
KH
121042003-01-10 Kazu Hirata <kazu@cs.umass.edu>
12105
12106 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
12107
d330ce15
JZ
121082003-01-10 Josef Zlomek <zlomekj@suse.cz>
12109
12110 * jump.c (next_nonnote_insn_in_loop): New function.
12111 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
12112 next_nonnote_insn.
12113 (duplicate_loop_exit_test). Likewise.
12114
17211ab5
GK
121152003-01-09 Geoffrey Keating <geoffk@apple.com>
12116
12117 Merge from pch-branch:
12118
12119 2003-01-06 Geoffrey Keating <geoffk@apple.com>
12120
12121 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
12122 load.
12123
12124 2002-12-24 Geoffrey Keating <geoffk@apple.com>
12125
12126 * cpplib.c (count_registered_pragmas): New function.
12127 (save_registered_pragmas): New function.
12128 (_cpp_save_pragma_names): New function.
12129 (restore_registered_pragmas): New function.
12130 (_cpp_restore_pragma_names): New function.
12131 * cpphash.h (_cpp_save_pragma_names): Prototype.
12132 (_cpp_restore_pragma_names): Likewise.
12133 * cpppch.c (struct save_macro_item): Split from save_macro_data.
12134 (struct save_macro_data): New field 'saved_pragmas'.
12135 (save_macros): Update for changes to struct save_macro_data.
12136 (cpp_prepare_state): Call _cpp_save_pragma_names, update
12137 for changes to struct save_macro_data.
12138 (cpp_read_state): Call _cpp_restore_pragma_names, update
12139 for changes to struct save_macro_data.
12140
12141 * cpppch.c (cpp_read_state): Restore the hashtable references
12142 in the cpp_reader.
07488f32 12143
17211ab5
GK
12144 * tree.h (built_in_decls): Mark for PCH.
12145
12146 * dbxout.c (lastfile): Don't mark for PCH.
12147
12148 * ggc.h: Document PCH calls into memory managers.
12149
12150 2002-12-18 Geoffrey Keating <geoffk@apple.com>
12151
12152 * doc/invoke.texi (Precompiled Headers): Document the
12153 directory form of PCH.
12154 * cppfiles.c (validate_pch): New function.
12155 (open_file_pch): Search suitably-named directories for PCH files.
12156
12157 2002-12-14 Geoffrey Keating <geoffk@apple.com>
12158
12159 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
12160 reorder options.
12161 (Type Information): Mention that the information is also
12162 used to implement PCH.
12163 * doc/passes.texi (Passes): Improve documentation of
12164 language-specific files.
12165
12166 2002-12-11 Geoffrey Keating <geoffk@apple.com>
12167
12168 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
12169 (struct walk_type_data): Add reorder_fn field.
12170 (walk_type): Process 'reorder' option.
12171 (write_types_process_field): Reorder parameters to gt_pch_note_object,
12172 call reorder_note_routine.
12173 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
12174 (ggc_wtd): Update for change to struct write_types_data.
12175 (pch_wtd): Likewise.
12176 * ggc.h (gt_pch_note_object): Reorder parameters.
12177 (gt_handle_reorder): New definition.
12178 (gt_pch_note_reorder): New prototype.
12179 * ggc-common.c (struct ptr_data): Add reorder_fn.
12180 (gt_pch_note_object): Reorder parameters.
12181 (gt_pch_note_reorder): New.
12182 (gt_pch_save): Call reorder_fn.
12183 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
12184
12185 * dbxout.c (cwd): Don't mark for PCH.
12186
12187 2002-12-09 Geoffrey Keating <geoffk@apple.com>
12188
12189 * gengtype.c (finish_root_table): Fix some warnings.
12190 (write_root): Handle TYPE_STRING.
12191 * ggc.h (gt_ggc_m_S): Add prototype.
12192 * stringpool.c (gt_ggc_m_S): New function.
12193
12194 2002-11-30 Geoffrey Keating <geoffk@apple.com>
12195
12196 * dwarf2out.c (dw2_string_counter): New.
12197 (AT_string_form): Use it.
12198 (same_dw_val_p): Update for removal of hashtable.h hash tables.
12199
12200 2002-11-22 Geoffrey Keating <geoffk@apple.com>
12201
12202 * dbxout.c: Include gt-dbxout.h.
12203 (lastfile): Mark for PCH/GGC.
12204 (cwd): Likewise.
12205 (struct typeinfo): Likewise.
12206 (typevec): Likewise.
12207 (typevec_len): Likewise.
12208 (next_type_number): Likewise.
12209 (struct dbx_file): Likewise.
12210 (current_file): Likewise.
12211 (next_file_number): Likewise.
12212 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
12213 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
12214 (dbxout_end_source_file): Don't free struct dbx_file.
12215 (dbxout_type): Use GGC to allocate typevec.
12216 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
12217 (GTFILES): Add dbxout.c.
12218 (gt-dbxout.h): New rule.
07488f32 12219
17211ab5
GK
12220 * Makefile.in (c-pch.o): Add debug.h as dependency.
12221 * c-pch.c: Include debug.h.
12222 (pch_init): Call start_source_file to keep nesting right.
12223 (c_common_read_pch): Add orig_name parameter. Call
12224 start_source_file debug hook. Call end_source_file debug hook.
12225 * c-common.h (c_common_read_pch): Update prototype.
12226 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
12227 callback.
12228 * cppfiles.c (struct include_file): Add new field `header_name'.
12229 (find_or_create_entry): Default it to `name'.
12230 (open_file_pch): Set it to the original header file searched for.
12231 (stack_include_file): Don't stack an empty buffer, just handle
12232 PCH files immediately. Pass header_name field to read_pch callback.
12233
12234 2002-11-19 Geoffrey Keating <geoffk@apple.com>
12235
12236 * function.c (funcdef_no): Mark to be saved in a PCH.
12237
12238 2002-11-15 Geoffrey Keating <geoffk@apple.com>
12239
12240 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
12241
12242 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
12243
12244 2002-11-14 Geoffrey Keating <geoffk@apple.com>
12245
12246 * optabs.h (code_to_optab): Add GTY marker.
12247
12248 2002-11-13 Geoffrey Keating <geoffk@apple.com>
12249
12250 * Makefile.in (GTFILES): Add cpplib.h.
12251 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
12252 * c-decl.c (build_compound_literal): Don't use var_labelno.
12253 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
12254 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
12255 * varasm.c (const_labelno): Use gengtype to mark.
12256 (var_labelno): Likewise.
12257 (in_section): Likewise.
12258 (in_named_name): Likewise.
12259 (struct in_named_entry): Likewise.
12260 (in_named_htab): Likewise.
12261 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
12262 (init_varasm_once): Use GGC to allocate in_named_htab.
12263 * config/darwin.c (current_pic_label_num): Mark for PCH.
12264
12265 2002-11-11 Geoffrey Keating <geoffk@apple.com>
12266
12267 * ggc-simple.c (init_ggc_pch): New stub procedure.
12268 (ggc_pch_count_object): Likewise.
12269 (ggc_pch_total_size): Likewise.
12270 (ggc_pch_this_base): Likewise.
12271 (ggc_pch_alloc_object): Likewise.
12272 (ggc_pch_prepare_write): Likewise.
12273 (ggc_pch_write_object): Likewise
12274 (ggc_pch_finish): Likewise.
12275 (ggc_pch_read): Likewise.
12276
12277 2002-11-08 Geoffrey Keating <geoffk@apple.com>
12278
12279 * c-pch.c (c_common_write_pch): Write the macro definitions after
12280 the GCed data.
12281 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
12282 definitions after the GCed data.
12283 * cpplib.c (save_macros): New.
12284 (reset_ht): New.
12285 (cpp_write_pch_deps): Split out of cpp_write_pch.
12286 (cpp_write_pch_state): Split out of cpp_write_pch.
12287 (cpp_write_pch): Delete.
12288 (struct save_macro_data): Delete.
12289 (cpp_prepare_state): New.
12290 (cpp_read_state): Erase and restore initial macro definitions.
12291 * cpplib.h (struct save_macro_data): Forward-declare.
12292 (cpp_write_pch_deps): Prototype.
12293 (cpp_write_pch_state): Prototype.
12294 (cpp_write_pch): Delete prototype.
12295 (cpp_prepare_state): Prototype.
12296 (cpp_read_state): Add fourth argument.
12297
12298 2002-11-04 Geoffrey Keating <geoffk@apple.com>
12299
12300 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
12301 (write_array): Remove warning.
12302
12303 * gengtype.c (contains_scalar_p): New.
12304 (finish_root_table): Add the table to all languages, even if it's
12305 empty.
12306 (write_roots): Output gt_pch_scalar_rtab.
12307 * ggc-common.c (gt_pch_save): Write out scalars.
12308 (gt_pch_restore): Read scalars back.
12309
12310 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
12311 (struct page_entry): Delete pch_page field.
12312 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
12313 (clear_marks): Likewise.
12314 (sweep_pages): Likewise.
12315 (poison_pages): Likewise.
12316 (ggc_print_statistics): Likewise.
12317 (ggc_pch_read): Don't free objects read from a PCH.
12318 Properly set up in_use_p and page_tails.
12319
12320 2002-10-25 Geoffrey Keating <geoffk@apple.com>
12321
12322 * gengtype.c (struct write_types_data): New.
12323 (struct walk_type_data): Make `cookie' const; add extra
12324 prev_val item; add `orig_s' field.
12325 (walk_type): Update prev_val[3].
12326 (write_types_process_field): New.
12327 (write_func_for_structure): Take write_types_data structure.
12328 (write_types): New.
12329 (ggc_wtd): New.
12330 (pch_wtd): New.
12331 (write_types_local_process_field): New.
12332 (gc_mark_process_field): Delete.
12333 (write_local_func_for_structure): New.
12334 (gc_mark_func_name): Delete.
12335 (write_gc_types): Delete.
12336 (write_local): New.
12337 (finish_root_table): Don't include 'ggc_' in PFX.
12338 (write_root): Rename from write_root. Fill pchw field of structures.
12339 (write_array): New.
12340 (write_roots): Rename from write_gc_roots. Split out to write_array.
12341 Update to changes to other routines. Write gt_pch_cache_rtab table.
12342 (main): Write PCH walking routines.
12343 * ggc-common.c: Include toplev.h, sys/mman.h.
12344 (ggc_mark_roots): For cache hashtables, also mark the hash table
12345 and the array of entries.
12346 (saving_htab): New.
12347 (struct ptr_data): New.
12348 (POINTER_HASH): New.
12349 (gt_pch_note_object): New.
12350 (saving_htab_hash): New.
12351 (saving_htab_eq): New.
12352 (struct traversal_state): New.
12353 (call_count): New.
12354 (call_alloc): New.
12355 (compare_ptr_data): New.
12356 (relocate_ptrs): New.
12357 (write_pch_globals): New.
12358 (struct mmap_info): New.
12359 (gt_pch_save): New.
12360 (gt_pch_restore): New.
12361 * ggc-page.c (ROUND_UP_VALUE): New.
12362 (ROUND_UP): New.
12363 (struct page_entry): Add field `pch_page'.
12364 (init_ggc): Use ROUND_UP.
12365 (struct ggc_pch_data): Declare.
12366 (init_ggc_pch): New.
12367 (ggc_pch_count_object): New.
12368 (ggc_pch_total_size): New.
12369 (ggc_pch_this_base): New.
12370 (ggc_pch_alloc_object): New.
12371 (ggc_pch_prepare_write): New.
12372 (ggc_pch_write_object): New.
12373 (ggc_pch_finish): New.
12374 (ggc_pch_read): New.
12375 * ggc.h (gt_pointer_operator): New.
12376 (gt_note_pointers): New.
12377 (gt_pch_note_object): New prototype.
12378 (gt_pointer_walker): New.
12379 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
12380 (LAST_GGC_ROOT_TAB): Update.
12381 (gt_pch_cache_rtab): Declare.
12382 (gt_pch_scalar_rtab): Declare.
12383 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
12384 (LAST_GGC_CACHE_TAB): Update.
12385 (gt_pch_save_stringpool): Declare.
12386 (gt_pch_restore_stringpool): Declare.
12387 (gt_pch_p_S): Declare.
12388 (gt_pch_n_S): Declare.
12389 (struct ggc_pch_data): Forward-declare.
12390 (init_ggc_pch): Declare.
12391 (ggc_pch_count_object): Declare.
12392 (ggc_pch_total_size): Declare.
12393 (ggc_pch_this_base): Declare.
12394 (ggc_pch_alloc_object): Declare.
12395 (ggc_pch_prepare_write): Declare.
12396 (ggc_pch_write_object): Declare.
12397 (ggc_pch_finish): Declare.
12398 (ggc_pch_read): Declare.
12399 (gt_pch_save): Declare.
12400 (gt_pch_restore): Declare.
12401 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
12402 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
12403 const_double_htab, mem_attrs_htab using GGC.
12404 * c-pch.c: Include ggc.h.
12405 (pch_init): Allow reading PCH file back.
12406 (c_common_write_pch): Call gt_pch_save.
12407 (c_common_read_pch): Call gt_pch_restore.
12408 * c-parse.in (init_reswords): Delete now-untrue comment.
12409 Allocate ridpointers using GGC.
12410 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
12411 calling expand_deferred_fns.
12412 * c-common.h (ridpointers): Mark for GTY machinery.
12413 * Makefile.in (stringpool.o): Update dependencies.
12414 (c-pch.o): Update dependencies.
12415 (ggc-common.o): Update dependencies.
12416 * stringpool.c: Include gt-stringpool.h.
12417 (gt_pch_p_S): New.
12418 (gt_pch_n_S): New.
12419 (struct string_pool_data): New.
12420 (spd): New.
12421 (gt_pch_save_stringpool): New.
12422 (gt_pch_restore_stringpool): New.
12423 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 12424
17211ab5
GK
12425 2002-10-04 Geoffrey Keating <geoffk@apple.com>
12426
12427 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
12428 (output_mangled_typename): Don't pass size_t to printf.
12429
12430 * tree.h (union tree_type_symtab): Add tag to `address' field.
12431 (union tree_decl_u2): Add tag to 'i' field.
12432 * varasm.c (union rtx_const_un): Add tags to all fields.
12433 * gengtype.c (struct walk_type_data): New.
12434 (output_escaped_param): Take struct walk_type_data parameter.
12435 (write_gc_structure_fields): Delete.
12436 (walk_type): New.
12437 (write_gc_marker_routine_for_structure): Delete.
12438 (write_func_for_structure): New.
12439 (gc_mark_process_field): New.
12440 (gc_mark_func_name): New.
12441 (gc_counter): Delete.
12442 (write_gc_types): Use write_func_for_structure.
12443 (write_gc_roots): Use walk_type.
12444
12445 2002-10-02 Geoffrey Keating <geoffk@apple.com>
12446
12447 * ggc-common.c (ggc_mark_roots): Delete 'x'.
12448 (ggc_splay_dont_free): Fix warning about unused 'x'.
12449 (ggc_print_common_statistics): Remove warnings.
12450
12451 2002-10-01 Mike Stump <mrs@apple.com>
12452
07488f32
ZW
12453 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
12454 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
12455
12456 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
12457 Catherine Moore <clm@redhat.com>
12458
12459 * Makefile (c-pch.o): Update dependencies.
12460 (LIBCPP_OBJS): Add cpppch.o.
12461 (cpppch.o): New.
12462 * c-common.c (c_common_init): Don't call pch_init here.
12463 * c-common.h (c_common_read_pch): Update prototype.
12464 * c-lex.c (c_common_parse_file): Call pch_init here.
12465 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
12466 (c_common_decode_option): Handle them.
12467 * c-pch.c: Include c-pragma.h.
12468 (save_asm_offset): Delete.
12469 (pch_init): Move contents of save_asm_offset into here, call
12470 cpp_save_state.
12471 (c_common_write_pch): Call cpp_write_pch.
12472 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
12473 cpp_valid_state.
12474 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 12475 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
12476 parameters of cb.read_pch.
12477 * cpphash.h (struct cpp_reader): Add `savedstate' field.
12478 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
12479 `restore_pch_deps' fields.
12480 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
12481 (cpp_save_state): Prototype.
12482 (cpp_write_pch): Prototype.
12483 (cpp_valid_state): Prototype.
12484 (cpp_read_state): Prototype.
12485 * cpppch.c: New file.
12486 * flags.h (version_flag): Remove prototype.
12487 * mkdeps.c (deps_save): New.
12488 (deps_restore): New.
12489 * mkdeps.h (deps_save): Prototype.
12490 (deps_restore): Prototype.
12491 * toplev.c (late_init_hook): Delete.
12492 (version_flag): Make static again.
12493 (compile_file): Don't call late_init_hook.
12494 * toplev.h (late_init_hook): Delete.
12495 * doc/cppopts.texi: Document -fpch-deps.
12496 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
12497
12498 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
12499
12500 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
12501 callers.
12502 (c_common_valid_pch): Rename from c_valid_pch, change callers.
12503 (c_common_read_pch): Rename from c_read_pch, change callers.
12504
12505 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
12506 a space between it and its argument.
12507
12508 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
12509
12510 * c-pch.c: New file.
12511 * toplev.h (late_init_hook): Declare.
12512 * toplev.c (late_init_hook): Define.
12513 (version_flag): Make globally visible.
12514 (compile_file): Call late_init_hook.
12515 (init_asm_output): Make output file seekable.
12516 * gcc.c (default_compilers): Update c-header rule.
12517 * flags.h (version_flag): Declare.
12518 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
12519 fields.
12520 * cppfiles.c (struct include_file): Add 'pch' field.
12521 (INCLUDE_PCH_P): New.
12522 (open_file_pch): New.
12523 (stack_include_file): Handle PCH files specially.
12524 (find_include_file): Call open_file_pch instead of open_file.
12525 (_cpp_read_file): Explain why open_file is used instead of
12526 open_file_pch.
12527 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
12528 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
12529 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
12530 in cpplib callbacks.
12531 * c-common.c (pch_file): Correct comment.
12532 (allow_pch): Define.
12533 (c_common_init): Call pch_init.
12534 * c-common.h (allow_pch): Declare.
12535 (pch_init): Declare.
12536 (c_valid_pch): Declare.
12537 (c_read_pch): Declare.
12538 (c_write_pch): Declare.
12539 * Makefile.in (c-pch.o): New.
12540 (C_AND_OBJC_OBJS): Add c-pch.o.
12541 * doc/invoke.texi (Precompiled Headers): Add index entries,
12542 complete truncated paragraph.
12543
12544 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
12545
12546 * c-common.c: (pch_file): Define.
12547 * c-common.h (pch_file): Declare.
12548 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
12549 (missing_arg): Require --output-pch= to have an argument.
12550 (c_common_decode_option): Handle --output-pch=.
12551 * gcc.c: Document new %V.
12552 (default_compilers): Handle compiling C header files.
12553 (do_spec_1): Implement %V.
12554 (main): Handle "gcc foo.h" without trying to run linker.
12555 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
12556 (Overall Options): Document what the driver does with header files,
12557 document new -x option possibilities.
12558 (Invoking G++): More documentation for PCH.
12559 (Precompiled Headers): New.
12560
12561 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
12562
12563 * ggc.h: Don't include varray.h. Rearrange functions to be more
12564 organized.
12565 (ggc_add_root): Delete.
12566 (ggc_mark_rtx): Delete.
12567 (ggc_mark_tree): Delete.
12568 (struct ggc_statistics): Remove contents.
12569 * ggc-common.c: Remove unneeded includes.
12570 (struct ggc_root): Delete.
12571 (roots): Delete.
12572 (ggc_add_root): Delete.
12573 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
12574 (ggc_print_common_statistics): Remove most of the contents.
12575 * Makefile.in (GGC_H): No longer uses varray.h.
12576 (ggc-common.o): Update dependencies.
12577 (c-parse.o): Add varray.h to dependencies.
12578 (c-common.o): Add varray.h.
12579 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
12580 (mark_ident_hash): Rename to ggc_mark_stringpool.
12581 (init_stringpool): Don't use ggc_add_root.
12582 * c-parse.in: Include varray.h.
12583 * c-common.c: Include varray.h.
12584 * objc/Make-lang.in (objc-act.o): Add varray.h.
12585 * objc/objc-act.c: Include varray.h.
12586
12587 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
12588
12589 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
12590 (dw_cfi_oprnd1_desc): Likewise.
12591
12592 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
12593
12594 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
12595 move out of ifdef.
12596 (alpha_links): Use gengtype to mark; move out of ifdef.
12597 (mark_alpha_links_node): Delete.
12598 (mark_alpha_links): Delete.
12599 (alpha_need_linkage): Use GGC to allocate splay tree, struct
12600 alpha_links, strings. Don't use ggc_add_root.
12601 * ggc-common.c (ggc_splay_alloc): New.
12602 (ggc_splay_dont_free): New.
12603 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
12604 (ggc_mark_tree): Likewise.
12605 (splay_tree_new_ggc): New.
12606 (ggc_splay_alloc): Declare.
12607 (ggc_splay_dont_free): Declare.
12608 * dwarf2asm.c: Include gt-dwarf2asm.h.
12609 (mark_indirect_pool_entry): Delete.
12610 (mark_indirect_pool): Delete.
12611 (indirect_pool): Use gengtype to mark.
12612 (dw2_force_const_mem): Don't use ggc_add_root.
12613 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
12614 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
12615 (gt-dwarf2asm.h): Depend on s-gtype.
12616
12617 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
12618
12619 * tree.h (union tree_type_symtab): Mark `die' field.
12620 * Makefile.in (dwarf2out.o): Update dependencies.
12621 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
12622 hash tables.
12623 (dw_cfi_oprnd1_desc): New function.
12624 (dw_cfi_oprnd2_desc): New function.
12625 (indirect_string_alloc): Delete.
12626 (debug_str_do_hash): New function.
12627 (debug_str_eq): New function.
12628 (mark_limbo_die_list): Delete.
12629 (dwarf2out_init): Don't call ggc_add_root.
12630
30028c85
VM
126312003-01-09 Vladimir Makarov <vmakarov@redhat.com>
12632
12633 The following changes are merged from itanium-sched-branch:
12634
12635 2003-01-08 David Edelsohn <edelsohn@gnu.org>
12636
12637 * doc/md.texi: Clarify assignment of units to automata description.
12638
12639 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
12640
12641 * genautomata.c (unit_decl): Remove members
12642 `the_same_automaton_unit' and
12643 `the_same_automaton_message_reported_p'.
12644 (process_unit_to_form_the_same_automaton_unit_lists,
12645 form_the_same_automaton_unit_lists_from_regexp,
12646 form_the_same_automaton_unit_lists, the_same_automaton_lists):
12647 Remove them.
12648 (annotation_message_reported_p): New global variable.
12649 (check_unit_distribution_in_reserv,
12650 check_regexp_units_distribution): New functions.
12651 (check_unit_distributions_to_automata): Rewrite it.
12652
12653 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
12654
12655 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
12656 Use continue instead of break if cycle is too big.
12657
12658 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
12659
12660 * genautomata.c (check_unit_distributions_to_automata): Output at
12661 most one message for a unit.
12662 (process_unit_to_form_the_same_automaton_unit_lists): Check
12663 automaton of units instead of units themself.
12664
12665 * doc/md.texi: Describe the constraint about assigning unit to
12666 automata.
12667
12668 2002-12-20 Jan Hubicka <jH@suse.cz>
12669 Vladimir Makarov <vmakarov@redhat.com>
12670
12671 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
12672 and `in_set_p'.
12673 (gen_cpu_unit): Initialize the new members.
12674 (process_regexp_cycles): Calculate minimal finish cycle too. Set
12675 up `min_occ_cycle_num'.
12676 (evaluate_max_reserv_cycles): Change the function call.
12677 (CLEAR_BIT): New macro.
12678 (states_union, state_shift): Use the mask.
12679 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
12680 (form_reservs_matter): New function.
12681 (make_automaton): Call the function and use the mask.
12682 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
12683 account.
07488f32 12684
30028c85
VM
12685 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
12686
12687 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
12688
12689 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
12690
12691 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
12692 for Itanium.
12693
12694 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
12695
12696 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
12697 default cpu.
12698
12699 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
12700 2002-10-31 Dale Johannesen <dalej@apple.com>
12701
12702 * haifa-sched.c (find_set_reg_weight): New function.
12703 (find_insn_reg_weight): Use the new function.
12704 (schedule_block): Do sorting ready queue always
12705 after insn issue.
12706
12707 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
12708
12709 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
12710
12711 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
12712
12713 * haifa-sched.c (choice_entry): New structure.
12714 (choice_stack, cycle_issued_insns): New variables.
12715 (max_issue): Rewrite it.
12716 (choose_ready): Set up ready_try for unknown insns too.
12717 (schedule_block): Allocate and free choice_stack. Set up
12718 and modify cycle_issued_insns.
12719
12720 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
12721 with and without filling the bundle.
12722 (bundling): Combine calls of issue_nops_and_insn.
07488f32 12723
30028c85
VM
12724 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
12725
12726 * config/ia64/itanium1.md: New file.
12727
12728 * config/ia64/itanium2.md: New file.
12729
12730 * config/ia64/ia64.md: Move DFA descriptions into the new files.
12731 Remove the old pipeline description.
07488f32 12732
30028c85
VM
12733 * config/ia64/ia64.c (ia64_override_options): Add aliases of
12734 itanium processor names.
07488f32 12735
30028c85
VM
12736 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
12737
12738 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
12739 (ia64_reorg): Set up queried unit codes for Itanium2 too.
12740
12741 * config/ia64/ia64.md: Add descriptions for Itanium2.
12742
12743 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
12744
12745 * config/ia64/ia64.h (processor_type): New enumeration.
12746 (ia64_tune, ia64_tune_string): New external declarations.
12747 (TARGET_OPTIONS): Add option `tune='.
12748
12749 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
12750 variables.
12751 (ia64_override_options): Set up `ia64_tune'.
12752 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
12753 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
12754 (bundling): Add nops for MM-insns only for Itanium.
12755 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
12756 Itanium.
12757
12758 * config/ia64/ia64.md (cpu): New attribute.
12759 (DFA description): Enable it only for Itanium.
07488f32 12760
30028c85
VM
12761 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
12762 Richard Henderson <rth@redhat.com>
12763
12764 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
12765 MASK_EARLY_STOP_BITS.
12766 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
12767 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
12768 `early-stop-bits'.
07488f32 12769
30028c85
VM
12770 * config/ia64/ia64.c (ia64_dfa_new_cycle,
12771 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
12772 instead of TARGET_TUNE_STOP_BITS.
07488f32 12773
30028c85
VM
12774 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
12775 `-mearly-stop-bits'.
12776
12777 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 12778
30028c85
VM
12779 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
12780
07488f32 12781 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
12782 New macros.
12783 (TARGET_SWITCHES): Add entries for the new option.
07488f32 12784
30028c85
VM
12785 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
12786 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
12787 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
12788 global variables.
12789 (ia64_sched_reorder2): Set up `clocks'.
12790 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
12791 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
12792 queue when TARGET_TUNE_STOP_BITS.
12793 (bundling): Insert additional nops for MM-insns.
12794 (final_emit_insn_group_barriers): Add insertion of stop bits
12795 according `stops_p'.
12796 (ia64_reorg): Initiate the new varibales.
12797
12798 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 12799
30028c85
VM
12800 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
12801
12802 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
12803 insns at the end of block insn scheduling.
12804
12805 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
12806
12807 * sched-deps.c (remove_dependence, group_leader): Remove it.
12808 (add_dependence): Add dependence to group leader to.
12809 (set_sched_group_p): Add dependence to the first insn of the
12810 schedule group too.
12811 (sched_analyze_insn): Make dependence to jump as anti-dependence.
12812 Change true dependence by anti-dependence when
12813 `reg_pending_barrier'.
12814
12815 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
12816 add_branch_dependences): Ignore schedule groups.
12817
12818 * sched-ebb.c (init_ready_list): Ditto.
12819
12820 * (move_insn, set_priorities): Ditto.
12821
12822 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
12823 flag is clear after reload.
12824 (adjust_cost): Change cost only for output dependencies.
07488f32 12825
30028c85 12826 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 12827
30028c85
VM
12828 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
12829
12830 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
12831
12832 * target.h (gcc_target): Add member
12833 `dependencies_evaluation_hook'.
12834
12835 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
12836 macro.
12837 (TARGET_SCHED): Add initiatialization of the new member.
12838
12839 * sched-ebb.c: Include `target.h'.
12840 (schedule_ebb): Call `dependencies_evaluation_hook'.
12841
12842 * sched-rgn.c (schedule_region): Call
12843 `dependencies_evaluation_hook'.
12844
12845 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
12846 New macro.
12847 (ia64_dependencies_evaluation_hook): New function.
12848
12849 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
12850 Describe the new hook.
07488f32 12851
30028c85
VM
12852 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
12853
12854 * target.h (gcc_target): Add members
12855 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
12856
12857 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
12858 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
12859 macros.
12860 (TARGET_SCHED): Add initiatialization of the new members.
12861
12862 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
12863 insn scheduling too.
12864 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
12865 initialize `ready_try'.
12866 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
12867 `dfa_new_cycle' says not to do it.
07488f32 12868
30028c85
VM
12869 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
12870 bundling.
12871
12872 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
12873
12874 * config/ia64/ia64.c: Include `hashtab.h'.
12875 (ia64_first_cycle_multipass_dfa_lookahead_guard,
12876 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
12877 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
12878 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
12879 bundle_state_eq_p, insert_bundle_state,
12880 initiate_bundle_state_table, finish_bundle_state_table,
12881 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
12882 get_template, get_next_important_insn, bundling): New functions.
12883 (ia64_internal_sched_reorder): Remove it.
12884 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
12885 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
12886 (ia64_safe_itanium_requires_unit0): Remove it.
12887 (group_barrier_needed_p): Place group barrier right before a real
12888 insn.
12889 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
12890 Remove them.
12891 (bundle_name): New variable.
12892 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
12893 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
12894 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
12895 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
12896 temp_dfa_state, prev_cycle_state): New global variables.
12897 (insn_matches_slot, maybe_rotate, finish_last_head,
12898 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
12899 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
12900 find_best_packet, itanium_reorder, dump_current_packet,
12901 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
12902 (sched_data, sched_ready, sched_types): Remove them.
12903 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
12904 `init_insn_group_barriers'.
12905 (ia64_sched_reorder, ia64_sched_reorder2): Call
12906 ia64_dfa_sched_reorder.
12907 (ia64_variable_issue): Rewrite it.
12908 (bundle_state): New structure.
12909 (index_to_bundle_states, bundle_states_num,
12910 allocated_bundle_states_chain, free_bundle_state_chain): New
12911 global variables.
12912 (ia64_sched_finish): Add stop bits and call `bundling' after the
12913 2nd insn scheduling.
12914 (ia64_use_dfa_pipeline_interface): Return zero always.
12915 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
12916 insn scheduling.
12917 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
12918 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
12919 (ia64_reorg): Add bundling insns.
12920
12921 * doc/tm.texi
12922 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
12923 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 12924
30028c85
VM
12925 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
12926
12927 * config/ia64/ia64.md: Add Itanium1 DFA description.
12928 (itanium_class): Add `nop' and `pre_cycle'. Add
12929 define_function_unit for `nop'.
12930 (nop): Change attribute `itanium_class'.
12931 (pre_cycle): New define_insn.
12932
12933 * config/ia64/ia64-protos.h (bundling_p): New external variable.
12934 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
12935 ia64_produce_address_p): New function prototypes.
12936
12937 * config/ia64/ia64.c (bundling_p): New global variable.
12938 (ia64_use_dfa_pipeline_interface,
12939 ia64_first_cycle_multipass_dfa_lookahead,
12940 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
12941 functions.
12942 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12943 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12944 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12945 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
12946 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
12947 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
12948 (dfa_pre_cycle_insn): New variable.
07488f32 12949
30028c85
VM
12950 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
12951
12952 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
12953 constructions.
12954
12955 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
12956 New function prototypes.
12957
12958 * genattrtab.c (main): Process the new constructions.
12959
12960 * genautomata.c (gen_presence_absence_set,
12961 process_presence_absence_names, process_presence_absence_patterns,
12962 add_presence_absence, check_absence_pattern_sets): Add parameter
12963 `final_p'.
12964 (unit_decl): Add new members `final_presence_list' and
12965 `final_absence_list'.
12966 (unit_pattern_rel_decl): Add new member `final_p'.
12967 (gen_final_presence_set, gen_final_absence_set): New functions.
12968 (process_decls): Use member `final_p'.
12969 (temp_reserv): New global variable.
12970 (reserv_sets_are_intersected): Add processing `final_presence_set'
12971 and `final_absence_set'.
12972 (initiate_states): Allocate `temp_reserv'.
12973 (unit_final_presence_set_table, unit_final_absence_set_table): New
12974 gloabal variables.
12975 (initiate_presence_absence_pattern_sets): Initiate them.
12976 (NDFA_to_DFA): Fix typo.
12977 (output_description): Output `final_presence_set' and
12978 `final_absence_set'.
12979
12980 * doc/md.texi (final_presence_set, final_absence_set): Describe
12981 them.
07488f32 12982
30028c85
VM
12983 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
12984
12985 * genautomata.c (transform_3): Process a missing case (nothing on
12986 unit place).
12987
12988 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
12989
12990 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
12991 comments about queried units and the minimization.
07488f32 12992
30028c85 12993 * doc/md.texi: Ditto.
07488f32 12994
30028c85
VM
12995 * genautomata.c (create_composed_state): Return nonzero if the new
12996 state has been created.
12997 (first_cycle_unit_presence): New function.
12998 (state_is_differed): Add new parameter. Use the new function.
12999 Take queried units into account.
13000 (partition_equiv_class): Pass additional parameter to
13001 `state_is_differed'.
13002 (merge_states): Process composed states too.
13003 (build_automaton, create_automata, output_min_issue_delay_table,
13004 output_tables, output_statistics): Output more information.
13005 (output_reserved_units_table): Use function
13006 `first_cycle_unit_presence'.
13007 (output_tables): Output table of queried units even if the
13008 minimization is switched on.
13009 (write_automata): Output code for querying units even if the
13010 minimization is switched on.
07488f32 13011
30028c85
VM
13012 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
13013
13014 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
13015 syntax of the constructions.
07488f32 13016
30028c85
VM
13017 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
13018 extended syntax of the constructions.
07488f32 13019
30028c85
VM
13020 * genautomata.c (unit_rel_decl): Rename it to
13021 `unit_pattern_rel_decl'.
13022 (pattern_set_el, pattern_reserv): New structures.
13023 (pattern_set_el_t, pattern_reserv_t): New types.
13024 (gen_presence_absence_set): New function.
13025 (process_presence_absence): Remove it.
13026 (process_presence_absence_names,
13027 process_presence_absence_patterns): New functions.
13028 (get_presence_absence_set): Remove it.
13029 (initiate_presence_absence_sets): Rename it on
13030 `initiate_presence_absence_pattern_sets'. Use new function
13031 `form_reserv_sets_list'.
13032 (form_reserv_sets_list, check_presence_pattern_sets,
13033 check_absence_pattern_sets, output_pattern_set_el_list): New
13034 functions.
13035 (unit_decl): Change types of members `presence_list' and
13036 `absence_list'.
13037 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
13038 (decl): Change types of members `excl', `presence', and `absence'.
13039 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
13040 at the end of the vector.
13041 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
13042 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
13043 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
13044 (gen_presence_set, gen_absence_set): Use new function
13045 `gen_presence_absence_set'.
13046 (add_presence_absence): Process `pattern_list' instead of
13047 `source_list'.
13048 (process_decls): USe new functions
13049 `process_presence_absence_names' and
13050 `process_presence_absence_patterns'.
13051 (reserv_sets_are_intersected): Use new function
13052 `check_presence_pattern_sets'.
13053 (presence_set, absence_set): Remove them.
13054 (unit_presence_set_table, unit_absence_set_table): New global
13055 variables.
13056 (output_description): Use new function
13057 `output_pattern_set_el_list'.
13058 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 13059
30028c85
VM
13060 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
13061
13062 * genattr.c (main): Add output of prototype of new interface
13063 function `dfa_clean_insn_cache'.
13064
13065 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
13066 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
13067 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
13068 the generated code.
13069 (write_automata): Call the new function.
07488f32 13070
62c9aa5f 130712003-01-09 Jan Hubicka <jh@suse.cz>
cb297538 13072
17211ab5
GK
13073 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
13074 correctly.
cb297538 13075
3a6e2189
PC
130762003-01-09 Paolo Carlini <pcarlini@unitus.it>
13077
13078 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
13079
62c9aa5f 130802003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
97488870
R
13081
13082 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
13083 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13084 (CONSTRAINT_LEN): Provide default definition.
13085 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
13086 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
13087 (EXTRA_CONSTRAINT_STR): Likewise.
13088 (REG_CLASS_FROM_CONSTRAINT): Define.
13089 * genoutput.c (check_constraint_len, constraint_len): New functions.
13090 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
13091 constraint / modifier.
13092 (gen_insn): Call check_constraint_len.
13093 * local-alloc.c (block_alloc): Update to use new macros / pass
13094 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
13095 * ra-build.c (handle_asm_insn): Likewise.
13096 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
13097 (constrain_operands, peep2_find_free_register): Likewise.
13098 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13099 * regmove.c (find_matches): Likewise.
13100 * reload.c (push_secondary_reload, find_reloads): Likewise.
13101 (alternative_allows_memconst): Likewise.
13102 * reload1.c (maybe_fix_stack_asms): Likewise.
13103 (reload_cse_simplify_operands): Likewise.
13104 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13105 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
13106 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
13107 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
13108 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
13109 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
13110
13111 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
13112
fc182093
KH
131132003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13114
13115 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
13116 length.
13117 (*extzv_1_r_h8300hs): Likewise.
13118 (*extzv_1_r_inv_h8300): Likewise.
13119 (*extzv_1_r_inv_h8300hs): Likewise.
13120
3b1c9927
KH
131212003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13122
13123 * config/h8300/h8300.h (PREDICATE_CODES): New.
13124
867504e6
KH
131252003-01-09 Kazu Hirata <kazu@cs.umass.edu>
13126
13127 * config/h8300/h8300.md (*addsi3_upper): New.
13128 (*iorsi3_shift): Likewise.
13129 (two splitters): Likewise.
13130 (*addsi3_shift): Likewise.
13131 (two splitters): Likewise.
13132
4a69cf79
JZ
131332003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
13134
13135 * Makefile.in (optabs.o): Add dependency on basic-block.h.
13136 * basic-block.h (control_flow_insn_p): Fuction was exported.
13137 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
13138 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
13139 notes only when the region is contained in a single basic block.
13140
4c46ea23
EB
131412003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
13142
13143 PR inline-asm/8832
13144 * tree.h (expand_asm): New prototype.
13145 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
13146 to do so.
13147 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
13148 down to expand_asm.
13149 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
13150 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
13151 (volatile_refs_p) [ASM_INPUT]: Likewise.
13152 (side_effects_p) [ASM_INPUT]: Likewise.
13153
62c9aa5f 131542003-01-09 Jan Hubicka <jh@suse.cz>
f56e86bd
JH
13155
13156 * i386.md (*mul*): FIx constraints; remove confused comment; fix
13157 athlon_decode attributes
13158 (imul/k8 optimization peep2s): New.
13159
13160 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
13161 * i386.md (type attribute): Add ssecomi.
13162 (unit, memory, prefix attributes): Handle ssecomi.
13163 (cvt?2? patterns): Fix athlon_decode attribute
13164 (comi patterns): Set attribute to ssecomi.
13165
13166 PR target/8343
13167 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
13168
98c29f71
RS
131692003-01-09 Richard Sandiford <rsandifo@redhat.com>
13170
13171 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
13172 that match register_operands.
13173 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
13174 register_operand the default case.
13175
bbb818c6
EB
131762003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
13177
13178 PR c/8032
13179 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
13180 an empty element, do not advance the pointer to unfilled
13181 fields if there are pending initializers.
13182
90961eff
AJ
131832003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
13184
13185 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
13186 (install-gcc-tooldir, install-cpp, installdirs,
13187 install-common, install-driver, install-info, install-man,
13188 install-headers, install-include-dir, install-headers-tar,
13189 install-headers-cpio, install-headers-cp, install-mkheaders,
13190 install-collect2, uninstall): Prepend $(DESTDIR) to
13191 destination paths in all (un)installation commands.
13192 (install-driver): Rewrite $(LN) commands to support DESTDIR
13193 with "ln" as well as with "ln -s".
13194 (installdirs): Simply use mkinstalldirs.
13195 (install-libgcc, install-multilib): Also pass DESTDIR.
13196 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
13197 installation destination variable ldir.
13198 * config/alpha/t-osf4, config/arm/t-netbsd,
13199 config/ia64/t-hpux, config/mips/t-iris5-6,
13200 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
13201 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
13202 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
13203 in the definition of SHLIB_INSTALL.
13204 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
13205 $(libsubdir) in the installation commands.
13206
8b26829f
KK
132072003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
13208
13209 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
13210 non-optimizing compile.
13211 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
13212 compile.
13213
fe77449a
DR
132142003-01-08 Douglas B Rupp <rupp@gnat.com>
13215
13216 * config/i386/i386.c (ix86_attribute_table): Add new attributes
13217 ms_struct and gcc_struct.
13218 (ix86_handle_struct_attribute): New function.
13219 (ix86_ms_bitfield_layout_p): Update to take new attributes
13220 into account.
13221 * doc/extend.texi: Document new attributes.
13222 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
13223
98417968
DS
132242003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
13225
07488f32
ZW
13226 PR optimization/8750
13227 * config/i386/i386.c (ix86_expand_prologue): Don't allow
13228 scheduling pass to move insns across __alloca call.
98417968 13229
e46e3130
DJ
132302003-01-08 Dale Johannesen <dalej@apple.com>
13231
07488f32
ZW
13232 * config/rs6000/rs6000.md: Replace *store_multiple_string
13233 with *stmsi[3-8].
e46e3130 13234
c40e5172
JS
132352003-01-08 Jeff Sturm <jsturm@one-point.com>
13236
13237 PR target/9210
13238 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
13239 Set SYMBOL_REF_FLAG on local data sym_ref.
13240
de62b72c 132412003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
13242
13243 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 13244 REG_PARM_STACK_SPACE.
07488f32 13245 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
13246 pretend_args_size.
13247
25839c41
NN
132482003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
13249
13250 * gcc.hlp: Delete.
13251
62c9aa5f 132522003-01-09 Jan Hubicka <jh@suse.cz>
4bdc8610
JH
13253
13254 * i386.c (ix86_expand_int_addcc): Fix thinko.
13255
5b71a4e7
DE
132562003-01-08 David Edelsohn <edelsohn@gnu.org>
13257
13258 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
13259 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
13260 as hook_bool_tree_hwi_hwi_tree_true.
13261 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
13262 (rs6000_emit_epilogue): Same.
13263 (rs6000_output_mi_thunk): Re-implement as RTL.
13264 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
13265 xcoffout_declare_function if any debugging enabled.
13266
2d2a50c3
CD
132672003-01-08 Chris Demetriou <cgd@broadcom.com>
13268
13269 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
13270 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
13271 * config/mips/mips.h (enum processor_type): Rename
13272 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
13273 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
13274 Add PROCESSOR_M4K.
13275 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
13276 (ISA_MIPS32R2): New define.
13277 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
13278 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
13279 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
13280 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
13281 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
13282 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
13283 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
13284 compiling MIPS16 code.
13285 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
13286 comment.
13287 (ISA_HAS_SEB_SEH): New define.
13288 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
13289 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
13290 processor_type value renaming. Add support for MIPS32R2.
13291 Clean up comments, and move "sb1" entry with other MIPS64 CPU
13292 entries.
13293 (override_options): Reimplement -mipsN option handling so that
13294 it will work correctly for -mips32r2. Avoid branch-likely
13295 instructions on MIPS32R2.
13296 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
13297 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
13298 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
13299 (extendhisi2_hw, extendqisi2_hw): New.
13300 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
13301 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
13302 MIPS32R2, and MIPS64.
13303 (LINK_SPEC): Pass -mips32r2 to linker.
13304 * config/mips/t-isa3264: Built -mips32r2 multilibs.
13305 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
13306 for mips32r2 in the -march description. Alphabetically sort
13307 CPU names in the -march description. Add long-missed -mips32
13308 and -mips64 to MIPS option summary.
13309
13310 * config.gcc: Update copyright years to include 2003.
13311 * config/mips/mips.c: Likewise.
13312 * config/mips/mips.h: Likewise.
13313 * config/mips/mips.md: Likewise.
13314 * config/mips/netbsd.h: Likewise.
13315 * doc/invoke.texi: Likewise.
13316
918c4fe4
AS
133172003-01-08 Andreas Schwab <schwab@suse.de>
13318
13319 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
13320 variable.
13321 * configure: Regenerated.
13322
c5e7ce43
KH
133232003-01-08 Kazu Hirata <kazu@cs.umass.edu>
13324
13325 * config/h8300/h8300.c (output_logical_op): Replace byte/word
13326 extraction of det with b0, b1, w0, w2, etc.
13327 (compute_logical_op_length): Likewise.
13328 (compute_logical_op_cc): Likewise.
13329
eb8a8ec4
KH
133302003-01-08 Kazu Hirata <kazu@cs.umass.edu>
13331
13332 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
13333 HIGH on all variants.
13334
62c9aa5f 133352003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 13336
56f15830
JZ
13337 * Makefile.in (PARTITION_H): New.
13338 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
13339 * basic-block.h: Include hard-reg-set.h.
13340
ab57893b
RE
133412003-01-08 Richard Earnshaw <rearnsha@arm.com>
13342
13343 * arm.h (ENABLE_XF_PATTERNS): Delete.
13344 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
13345 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
13346 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
13347 (cmpxf_trap): Delete.
13348 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
13349
62c9aa5f 133502003-01-08 Jan Hubicka <jh@suse.cz>
7b52eede
JH
13351
13352 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
13353 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
13354 (add??cc): New expanders.
13355 * i386.c (expand_int_addcc): New function.
13356 * i386-protos.h (expand_int_addcc): Declare.
13357
13358 * alias.c (memory_modified_1): New static function.
13359 (memory_modified): New static varaible.
13360 (memory_modified_in_insn_p): New global function.
13361 * rtl.h (memory_modified_in_insn_p): Declare.
13362 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
13363 references.
13364
13365 * expr.h (emit_conditional_add): Declare.
13366
74049755
JJ
133672003-01-07 Janis Johnson <janis187@us.ibm.com>
13368
13369 PR other/8947
13370 * doc/invoke.texi (-malign-double): Explain that the option breaks
13371 binary compatibility.
13372
e7edc5a0
AS
133732003-01-08 Andreas Schwab <schwab@suse.de>
13374
13375 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
13376 should come from the generic *-*-linux* entry.
13377
62c9aa5f 133782003-01-07 Jan Hubicka <jh@suse.cz>
9635cfad
JH
13379
13380 * cselib.c (cselib_current_insn_in_libcall): New static variable.
13381 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
13382 we are inside libcall.
13383 * cselib.h (elt_loc_list): Add in_libcall.
13384 * gcse.c (do_local_cprop): Do not copy propagate using insns
13385 in libcalls.
13386
3ee04299
DE
133872003-01-07 David Edelsohn <edelsohn@gnu.org>
13388
13389 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
13390 not normally affect to issue rate.
13391
62c9aa5f 133922003-01-07 Jan Hubicka <jh@suse.cz>
068f5dea
JH
13393
13394 * genopinit.c (optabs): Add addc_optab.
13395 * ifcvt.c (noce_try_store_flag): Rename to ...
13396 (noce_try_addcc): ... this one; handle generic conditional increment.
13397 (noce_process_if_block): Update noce_try_addcc call.
13398 * optabs.c (emit_conditional_add): New.
13399 (init_obtabs): Initialize addc_optab.
13400 * optabs.h (optab_index): Add OTI_addcc.
13401 (addcc_optab): New macro.
13402 * md.texi: Document addMcc
13403
13404 PR target/8322
13405 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
13406 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
13407 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
13408
13409 * reload1.c (delete_output_reload): Avoid repeated attempts
13410 to delete insn.
13411
eb70d86d
AS
134122003-01-07 Andreas Schwab <schwab@suse.de>
13413
e7edc5a0
AS
13414 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
13415 Move --enable-initfini-array check ...
13416 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
13417 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
13418 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
13419 * configure: Rebuild.
eb70d86d 13420
1afdf91c
RH
134212003-01-07 Richard Henderson <rth@redhat.com>
13422
e7edc5a0
AS
13423 * alias.c (find_base_value): Only use new_reg_base_value shortcut
13424 if the register is set once.
1afdf91c 13425
36210500 134262003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 13427
36210500
SP
13428 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
13429 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
13430 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
13431
cb25b0ce
BK
134322003-01-07 Benjamin Kosnik <bkoz@redhat.com>
13433 Sunil Davasam <sunil.k.davasam@intel.com>
13434
07488f32 13435 PR libstdc++/9076
cb25b0ce
BK
13436 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
13437 DW_CFA_same_value, read next and ignore.
13438
94c040bd
RH
134392003-01-07 Richard Henderson <rth@redhat.com>
13440
13441 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
13442
f6cb56fa
DB
134432003-01-07 Daniel Berlin <dberlin@dberlin.org>
13444
13445 * cfg.c: Include alloc-pool.h
13446 (edge_pool): New pool.
13447 (bb_pool): New pool.
13448 (first_deleted_edge): Remove.
13449 (first_deleted_block): Remove.
13450 (init_flow): Alloc/free the pools.
13451 (free_edge): Use pools.
13452 (alloc_block): Ditto.
13453 (expunge_block): Ditto.
13454 (cached_make_edge): Ditto.
13455
13456 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
13457
134582003-01-07 Daniel Berlin <dberlin@dberlin.org>
13459
13460 * et-forest.c: Include alloc-pool.h.
13461 (struct et_forest): Add node_pool and occur_pool.
13462 (et_forest_create): Create the new pools.
13463 (et_forest_delete): Delete them.
13464 (et_forest_add_node): Allocate and free using pools.
13465 (et_forest_add_edge): Ditto.
13466 (et_forest_remove_node): Ditto.
13467 (et_forest_remove_edge): Ditto.
13468
13469 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
13470
f9ac2f95
KH
134712003-01-07 Kazu Hirata <kazu@cs.umass.edu>
13472
13473 * config/h8300/h8300.c (output_logical_op): Simplify and
13474 optimize the handling of SImode.
13475 * config/h8300/h8300.c (compute_logical_op_length): Update
13476 accordingly.
13477 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
13478
83282119
RS
134792003-01-07 Richard Sandiford <rsandifo@redhat.com>
13480
13481 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
13482 big-endian correction to indirect arguments too.
13483
59a4c851
AH
134842003-01-06 Aldy Hernandez <aldyh@redhat.com>
13485
13486 Segher Boessenkool <segher@koffie.nl>
13487
36210500
SP
13488 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
13489 (alt_reg_names): Ditto, fix formatting.
13490 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 13491
7798db98
KH
134922003-01-06 Kazu Hirata <kazu@cs.umass.edu>
13493
13494 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
13495 (output_logical_op): Constify intval and det.
13496 (compute_logical_length): Likewise.
13497 (compute_logical_cc): Likewise.
13498 (output_a_shift): Constify mask.
13499 (h8300_encode_label): Constify len.
13500
4705d102
KH
135012003-01-06 Kazu Hirata <kazu@cs.umass.edu>
13502
13503 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
13504 (h8300_expand_epilogue): Likewise.
13505
98c9a8e8
AH
135062003-01-06 Aldy Hernandez <aldyh@redhat.com>
13507
13508 Segher Boessenkool <segher@koffie.nl>
13509
36210500
SP
13510 * config/rs6000/altivec.md: Remove spaces from assembler
13511 instruction argument lists.
07488f32 13512
86143814
MH
135132003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13514
13515 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
13516 c4x_assembler_function_p.
13517 (c4x_null_epilogue_p): Complement return value, all uses updated.
13518 (c4x_insert_attributes): Add naked.
13519 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
13520 * doc/extend.texi: Update C4x function attributes.
13521
52fd80fb
RH
135222003-01-06 Richard Henderson <rth@redhat.com>
13523
13524 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
13525 properly when changing "local-ness".
13526 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
13527
a16b43c5
DJ
135282003-01-06 Dale Johannesen <dalej@apple.com>
13529
13530 * config/darwin-protos.h: Add prototypes for new section functions.
13531
ef8dfae6
CD
135322003-01-06 Chris Demetriou <cgd@broadcom.com>
13533
13534 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
13535 to EABI.
13536
44f9a8e4
ZW
135372003-01-06 Zack Weinberg <zack@codesourcery.com>
13538
13539 * hwint.h: If the current compiler has no 64-bit type at all,
13540 make HOST_WIDEST_INT 32 bits.
13541
2610198a
EC
135422003-01-06 Eric Christopher <echristo@redhat.com>
13543
13544 * config/mips/mips.md (movdf_internal2): Fix constraints.
13545
efbd757f
KH
135462003-01-06 Kazu Hirata <kazu@cs.umass.edu>
13547
13548 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
13549
727b9b8c
RS
135502003-01-06 Richard Sandiford <rsandifo@redhat.com>
13551
13552 * config/mips/mips.md (leadi): Use dla rather than la.
13553
4705d102 135542003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
13555
13556 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
13557 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
13558
4705d102 135592003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 13560
44f9a8e4 13561 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
13562 redefinition.
13563
dff0ea43
KH
135642003-01-05 Kazu Hirata <kazu@cs.umass.edu>
13565
13566 * config/h8300/h8300.md (*extzv_8_23): New.
13567
94e6fd3e
JDA
135682003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
13569
13570 * pa64-hpux.h (JCR_SECTION_NAME): Define.
13571 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
13572 USE_EH_FRAME_REGISTRY when defining.
13573
cd9b5ca8
KH
135742003-01-05 Kazu Hirata <kazu@cs.umass.edu>
13575
13576 * config/h8300/h8300.c (output_a_shift): Do not output a
13577 variable shift.
13578 * config/h8300/h8300.md (two splitters): New.
13579
1ba8a9c4
RS
135802003-01-05 Richard Sandiford <rsandifo@redhat.com>
13581
13582 * config/mips/mips.md: Disable the movstrsi define_split.
13583
c7c50494
KG
135842003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13585
13586 * alloc-pool.c: Don't include "libiberty.h".
13587 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
13588 * convert.c (convert_to_real): Hide unused variable.
13589
83fa8d7a
KG
135902003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13591
13592 * Makefile.in (gtyp-gen.h): Const-ify.
13593 * gcov-dump.c (tag_table): Likewise.
13594
871dab3e
BK
135952003-01-04 Bruce Korb <bkorb@gnu.org>
13596
13597 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
13598 of *both* the file name and the fix name.
13599
90961eff 136002003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
13601
13602 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
13603 collect2.
13604 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
13605 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
13606 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
13607 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
13608 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
13609 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
13610 elfos.h.
13611 (EH_FRAME_IN_DATA_SECTION): Delete define.
13612 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
13613 (STARTFILE_SPEC): Use crtbegin.o.
13614 (ENDFILE_SPEC): Use crtend.o.
13615 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
13616 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
13617 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
13618 DTOR_LIST_BEGIN): Define.
13619 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
13620 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
13621 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
13622
b0588013
BK
136232002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
13624
13625 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
13626 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
13627 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
13628 Cleanup handling of replacement text.
13629 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
13630
136312003-01-04 Bruce Korb <bkorb@gnu.org>
13632
13633 * fixinc/tests/base/math.h: removed obsolete results
13634 * fixinc/tests/base/stdlib.h: ditto
13635 * fixinc/tests/base/sys/param.h: ditto
13636 * fixinc/tests/base/sys/stat.h: ditto
13637 * fixinc/tests/base/time.h: ditto
13638 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
13639 * fixinc/tests/base/sys/byteorder.h: ditto
13640 * fixinc/inclhack.def: Remove superfluous backslashes
13641
68ee6df6
KH
136422003-01-04 Kazu Hirata <kazu@cs.umass.edu>
13643
13644 * config/h8300/h8300-protos.h: Add prototypes for
13645 the new functions defined below.
13646 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
13647 define.
13648 (dosize): Emit RTL instead of assembly code.
13649 (push): Likewise.
13650 (pop): Likewise.
13651 (h8300_output_function_prologue): Remove.
13652 (h8300_expand_prologue): New.
13653 (h8300_expand_epilogue): New.
13654 (h8300_output_function_epilogue): Do only the reset of
13655 pragma_saveall.
13656 * config/h8300/h8300.md (push_h8300): New.
13657 (push_h8300hs): Likewise.
13658 (pop_h8300): Likewise.
13659 (pop_h8300hs): Likewise.
13660 (*stm_h8300s_2): Change the name to stm_h8300s_2.
13661 (*stm_h8300s_3): Change the name to stm_h8300s_3.
13662 (*stm_h8300s_4): Change the name to stm_h8300s_4.
13663 (*ldm_h8300s_2): New.
13664 (*ldm_h8300s_3): Likewise.
13665 (*ldm_h8300s_4): Likewise.
13666 (return): Likewise.
13667 (*return_1): Likewise.
13668 (prologue): Likewise.
13669 (epilogue): Likewise.
13670 (monitor_prologue): Likewise.
13671
d3c300d2
DJ
136722003-01-03 Dale Johannesen <dalej@apple.com>
13673
13674 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
13675 machopic_picsymbol_stub1.
13676 (EXTRA_SECTION_FUNCTIONS): Ditto.
13677 * rs6000/rs6000.c: Update copyright.
13678 (machopic_output_stub): Use them. Remove an insn from stub code.
13679
6cce57b0
JM
136802003-01-02 Jason Merrill <jason@redhat.com>
13681
4e8dca1c
JM
13682 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
13683
13684 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
13685 static/external decls.
2610198a 13686
6cce57b0
JM
13687 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
13688 outermost scope.
13689 * c-decl.c (c_make_fname_decl): Push the decls there, too.
13690
e392d367
KH
136912003-01-03 Kazu Hirata <kazu@cs.umass.edu>
13692
13693 * config/h8300/h8300-protos.h: Add a prototype for
13694 h8300_current_function_interrupt_function_p.
13695 * config/h8300/h8300.c (interrupt_handler): Remove.
13696 (os_task): Likewise.
13697 (monitor): Likewise.
13698 (pragma_interrupt): New.
13699 (WORD_REG_USED): Use
13700 h8300_current_function_interrupt_function_p.
13701 (dosize): Likewise.
13702 (h8300_output_function_prologue): Likewise.
13703 Do not set interrupt_handler, os_task, monitor.
13704 (h8300_output_function_prologue): Use
13705 h8300_current_function_interrupt_function_p.
13706 Do not set interrupt_handler, os_task, monitor.
13707 (h8300_current_function_interrupt_function_p): New.
13708 (h8300_pr_interrupt): Set pragma_interrupt.
13709 (h8300_insert_attributes): Reset pragma_interrupt.
13710
b15da5b7
GP
137112003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13712
13713 * doc/install.texi (Configuration): Fix markup for reference to
13714 gcc/config.gcc.
13715
bf16e745
KH
137162003-01-02 Kazu Hirata <kazu@cs.umass.edu>
13717
13718 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
13719 (*iorhi3_two_qi): Likewise.
13720 (*iorsi3_zexthi): Likewise.
13721 (*xorhi3_zextqi): Likewise.
13722 (*xorsi3_zexthi): Likewise.
13723 (*xorsi3_zextqi): Likewise.
13724
8ccf5d5f
KH
137252003-01-02 Kazu Hirata <kazu@cs.umass.edu>
13726
13727 * config/h8300/h8300.c (stack_pointer_operand): New.
13728 (const_int_gt_2_operand): Likewise.
13729 (const_int_ge_8_operand): Likewise.
13730 * config/h8300/h8300.md (a splitter): Likewise.
13731 (a peephole2): Likewise.
13732 * config/h8300/h8300-protos.h: Add prototypes for the new
13733 functions above.
13734
43c6a96a
SB
137352003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
13736
13737 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
13738 objc/objc-act.h: Fix copyright years.
13739
96c4e780
SB
137402003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
13741
13742 * doc/passes.texi: Fix documentation for -fssa-ccp
13743
8ed0a104
NB
137442003-01-02 Neil Booth <neil@daikokuya.co.uk>
13745
13746 * gccbug.in: Update for new categories.
13747
1b9f0361
KH
137482003-01-01 Kazu Hirata <kazu@cs.umass.edu>
13749
13750 * config/h8300/h8300.md: Reorder some patterns.
13751
dc5f17ec
KH
137522003-01-01 Kazu Hirata <kazu@cs.umass.edu>
13753
13754 * config/h8300/h8300.c (output_logical_op): Fix a warning.
13755
cd2801fb
NB
137562003-01-01 Neil Booth <neil@daikokuya.co.uk>
13757
13758 * config/darwin-protos.h, config/c4x/c4x-protos.h,
13759 config/cris/cris-protos.h, config/i370/i370-protos.h,
13760 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
13761 config/v850/v850-protos.h: Use struct, and don't conditionally
13762 compile on GCC_C_PRAGMA_H.
13763
378b1b8e
KH
137642003-01-01 Kazu Hirata <kazu@cs.umass.edu>
13765
13766 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
13767 * config/h8300/h8300-protos.h: Likewise.
13768 * config/sh/sh-protos.h: Likewise.
13769
7106a5bc
KH
137702003-01-01 Kazu Hirata <kazu@cs.umass.edu>
13771
13772 * config/arm/arm-protos.h: Use struct cpp_reader instead of
13773 cpp_reader.
13774 * config/h8300/h8300-protos.h: Likewise.
13775 * config/sh/sh-protos.h: Likewise.
13776
231b51a1
NB
137772003-01-01 Neil Booth <neil@daikokuya.co.uk>
13778
13779 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
13780 arm_pr_long_calls_off): Use struct.
13781 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
13782 : Similarly.
13783 Don't include cpplib.h.
13784 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
13785 sh_pr_nosave_low_regs): Similarly.
13786
0f18b2b0
KH
137872003-01-01 Kazu Hirata <kazu@cs.umass.edu>
13788
13789 * config/h8300/h8300.c: Include cpplib.h.
13790
b9593599
SB
137912003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
13792
13793 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
13794 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
13795 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
13796 "GCC" in the copyright header.
13797
c58b209a
NB
137982003-01-01 Neil Booth <neil@daikokuya.co.uk>
13799
13800 * c-pragma.c (c_register_pragma): New.
13801 (init_pragma): Use it.
13802 * c-pragma.h (cpp_register_pragma): Don't declare.
13803 (c_register_pragma): New.
13804 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
13805 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
13806 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
13807 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
13808 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
13809 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
13810 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
13811 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
13812 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
13813 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
13814 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
13815 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
13816
7210d5ae 13817See ChangeLog.8 for earlier changes.
This page took 1.91465 seconds and 5 git commands to generate.