]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* gcc.c-torture/compile/20020319-1.c: New test.
[gcc.git] / gcc / ChangeLog
CommitLineData
96327cdc
JH
1Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
2
3 * toplev.c (flag_loop_optimize, flag_crossjumping):
4 New static variables.
5 (rest_of_compilation): Conditionalize crossjumping and
6 loop optimizer.
7 (parse_options_and_default_flags): Default loop_optimize and
8 crossjumping.
9 (lang_independent_options): Add -fcrossjumping and -floop-optimize
10 * invoke.texi (crossjumping, loop-optimize): Document.
11
bc185257
RS
122002-03-22 Richard Sandiford <rsandifo@redhat.com>
13
14 * real.c (eiisneg): Move outside #ifdef NANS.
15
0a2ed1f1
JH
16Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
17
18 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
19 frequencies match; avoid match on different loop depths.
20 (try_crossjump_to_bb): Kill tests that no longer brings time
21 savings.
22 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
23 updating code.
24 (split_edge): Likewise.
25
26 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
27 variable.
28
29 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
30 * cfgrtl.c: Include insn-config.h
31 (split_block) Dirtify block in presence of conditional execution
32
4d72536e
RS
332002-03-22 Richard Sandiford <rsandifo@redhat.com>
34
35 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
36 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
37 (function_arg): Constify CUMULATIVE_ARGS.
38 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
39 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
40 (UNITS_PER_DOUBLE): New macro.
41 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
42 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
43 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
44 fp_regs and stack_words.
45 (EABI_FLOAT_VARARGS_P): New macro.
46 * config/mips/mips.c (struct mips_arg_info): New.
47 (mips_arg_info): New function.
48 (function_arg_advance): Use it. Add adjustment instructions here
49 rather than in function_arg.
50 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
51 for VOIDmode at the beginning of the function.
52 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
53 (function_arg_pass_by_reference): Likewise.
54 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
55 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
56 (mips_va_start): Likewise. Use the new stack_words field of
57 CUMULATIVE_ARGS to set up overflow area. Reformat.
58 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
59 doubles and other types, aligning the overflow pointer for non-doubles
60 too. Remove some code duplication. Replace hard-coded constants.
61
e6f884cd
RS
622002-03-22 Richard Sandiford <rsandifo@redhat.com>
63
64 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
65 (CLASS_UNITS): Undefine.
66 (CLASS_MAX_NREGS): Use FP_INC.
67 * config/mips/mips.c (compute_frame_size): Likewise.
68 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
69
10cf9bde
NB
702002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
71
72 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
73 prototype, and handle lexing numbers and identifiers.
74 (parse_identifier): Update to new form of parse_slow.
75 (parse_number): Fast path only, use parse_slow otherwise.
76 (_cpp_lex_direct): Update calls to parse_number.
77
fbc2782e
DD
782002-03-21 DJ Delorie <dj@redhat.com>
79
80 * bb-reorder.c (make_reorder_chain_1): Protect against
81 when redundant edges are omitted.
82 * predict.c (dump_prediction): Likewise.
83
fba39eaf
RH
842002-03-21 Richard Henderson <rth@redhat.com>
85
86 PR target/5996
87 * fixinc/inclhack.def (solaris_stdio_tag): New.
88 * fixinc/fixincl.x: Regenerate.
89
eba80994
EB
902002-03-21 Eric Botcazou <ebotcazou@multimania.com>
91
92 PR c/5597
93 * c-typeck.c (process_init_element): Flag non-static
94 initialization of a flexible array member as illegal.
95
2a78758b
AM
962002-03-22 Alan Modra <amodra@bigpond.net.au>
97
98 * config/rs6000/t-linux64: New.
99 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
100 t-ppccomm. Use t-rs6000 and t-linux64.
101 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
102 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
103 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
104 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 105
2cb921f4
AH
1062002-03-21 Aldy Hernandez <aldyh@redhat.com>
107
eba80994
EB
108 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
109 flag_really_no_inline instead of optimize == 0.
2cb921f4 110
eba80994 111 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 112
eba80994 113 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 114
eba80994 115 * flags.h (flag_really_no_inline): New.
2cb921f4 116
eba80994
EB
117 * c-common.c (c_common_post_options): Initialzie
118 flag_really_no_inline.
2cb921f4 119
eba80994 120 * toplev.c (flag_really_no_inline): New.
2cb921f4 121
239b8b9d
JJ
1222002-03-21 Jakub Jelinek <jakub@redhat.com>
123
124 * config/avr/avr.md (length): Fix length computation for
125 conditional branches.
126
43577e6b
NB
1272002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
128
129 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
130 sdbout.o, profile.o): Update.
131 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
132 langhook.
133 * c-common.h (gettags): Move here from tree.h.
134 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
135 insert_block, getdecls, kept_level_p, global_bindings_p): New.
136 * dbxout.c (dbxout_init): Use getdecls langhook.
137 * expr.c (expand_expr): Use insert_block langhook.
138 * fold-const.c: Include langhooks.h.
139 (fold_range_test, fold_binary_op_with_conditional_arg,
140 fold): Use global_bindings_p langhook.
141 * integrate.c (expand_inline_function): Use insert_block langhook.
142 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
143 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
144 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
145 LANG_HOOKS_GETDECLS): New.
146 (LANG_HOOKS_INITIALIZER): Update.
147 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
148 langhook.
149 * langhooks.h (struct lang_hooks_for_decls): New.
150 (struct lang_hooks): Update.
151 * profile.c: Include langhooks.h.
152 (output_func_start_profiler): Use new langhooks.
153 * sdbout.c: Include langhooks.h.
154 (sdbout_init, sdbout_finish): Use getdecls langhook.
155 * stmt.c: Include langhooks.h.
156 (expand_fixup, fixup_gotos): Use new langhooks.
157 * stor-layout.c: Include langhooks.h.
158 (variable_size): Use global_bindings_p langhook.
159 * toplev.c (compile_file): Use getdecls langhook.
160 * tree-inline.c (remap_block): Use insert_block langhook.
161 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
162 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
163
5b19b10c
RH
1642002-03-21 Richard Henderson <rth@redhat.com>
165
166 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
167 constants in .data when -fpic.
168
e05af335
GP
1692002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
170
171 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
172 where appropriate.
173
60ffc997
TT
1742002-03-21 Tom Tromey <tromey@redhat.com>
175
176 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
177
75897075
RK
178Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
179
a73afd69 180 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 181
75897075
RK
182 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
183
312687cf
EB
1842002-03-21 Eric Botcazou <ebotcazou@multimania.com>
185 Richard Henderson <rth@redhat.com>
186
187 PR c/5354
188 * c-common.c (c_expand_expr): Preserve result of a statement
189 expression if needed.
190
f0e1f482
JJ
1912002-03-21 Jakub Jelinek <jakub@redhat.com>
192
193 PR bootstrap/4195
194 * genrecog.c (maybe_both_true_mode): Remove.
195 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
196 * machmode.def (Pmode): Likewise.
197
c14b9960
JW
198Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
199
200 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
201 (nonlocal_mentioned_p_1): New function.
202 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
203 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
204 (mark_constant_function): Recognize pure functions.
205 * rtl.h (global_reg_mentioned_p): New prototype.
206 * rtlanal.c (global_reg_mentioned_p,
207 global_reg_mentioned_p_1): New function.
208
aaa4d130
RO
2092002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
210
211 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
212 UNIX assert.h.
213 * fixinc/fixincl.x: Regenerate.
214
e5c4bd1b
JM
2152002-03-20 Jason Merrill <jason@redhat.com>
216
217 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
218
852b81bb
MM
2192002-03-20 Michael Meissner <meissner@redhat.com>
220
221 * doc/invoke.texi (Optimize Options): Document that -O2 sets
222 -fstrict-aliasing.
223
86d8c251
BW
2242002-03-20 Bob Wilson <bob.wilson@acm.org>
225
226 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
227 ".literal_position" directive before the constant pool.
228
0a39c350
GP
2292002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
230
231 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
232 Add Craig Rodrigues.
233 Add Brad Lucier to testers.
234
71a83373
JJ
2352002-03-20 Jakub Jelinek <jakub@redhat.com>
236
237 PR target/4792
238 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
239 to if_then_else.
240 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
241 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
242 instead of insn_extract.
243
a29b099d
JJ
2442002-03-20 Jakub Jelinek <jakub@redhat.com>
245
246 PR bootstrap/4192
71a83373 247 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
248
249 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
250 stmt if some case has been output.
251
048b1c95
JJ
2522002-03-20 Jakub Jelinek <jakub@redhat.com>
253
254 PR c/5972
255 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
256 movsfcc_1, movdfcc_1): Add %O2.
257 * config/i386/i386.c (print_operand): Handle %ON.
258 Print . before float condition codes in Sun as cmov syntax.
259 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
260 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
261 no longer true.
262
f4864588
PB
2632002-03-20 Philip Blundell <pb@nexus.co.uk>
264
265 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
266 return instruction if PC was popped.
267
3a307de4
BW
2682002-03-20 Bob Wilson <bob.wilson@acm.org>
269
270 * config/xtensa/xtensa.md: Remove unused type attributes.
271 (adddi_carry, subddi_carry): Change type attribute to "multi".
272
048b1c95 2732002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
274
275 PR optimization/5999, middle-end/5731
276 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
277 multiplications by reciprocals.
278
7afff7cf
NB
2792002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
280
281 * Makefile.in: Update.
282 * c-common.c: Include langhooks.h.
283 (inline_forbidden_p): Use new hook.
284 * diagnostic.c: Include langhooks.h.
285 (format_with_decl, announce_function,
286 default_print_error_function): Use new hook.
287 * dwarf2out.c (dwarf2_name): Use new hook.
288 * function.c: Include langhooks.h.
289 (init_function_start): Use new hook.
290 * langhooks-def.h (lhd_decl_printable_name): New.
291 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
292 (LANGHOOKS_INITIALIZER): Update.
293 * langhooks.c (lhd_decl_printable_name): New.
294 * langhooks.h (struct lang_hooks): New hook.
295 * toplev.c (decl_name, decl_printable_name): Remove.
296 (open_dump_file): Use new hook.
297 (process_options): Remove old hook.
298 * tree.h (decl_printable_name): Remove.
299objc:
300 * objc-act.c (objc_init): Remove old hook.
301 (objc_printable_name): Export.
302 * objc-act.h (objc_printable_name): New.
303 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
304
f78ce0b7
JB
3052002-03-19 Jim Blandy <jimb@redhat.com>
306
307 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
308 the start_source_file debug hook, not the current line number.
309
15b5aef3
RH
3102002-03-19 Richard Henderson <rth@redhat.com>
311
312 * flow.c (EH_USES): Provide default.
313 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
314 * doc/tm.texi (EH_USES): New.
315
316 * config/ia64/ia64.c (ia64_eh_uses): New.
317 * config/ia64/ia64-protos.h: Update.
318 * config/ia64/ia64.h (EH_USES): New.
319
02a7a3fd
RH
3202002-03-19 Richard Henderson <rth@redhat.com>
321
322 * varasm.c (output_constant_def): Fix stupid typo.
323
93f82d60
RH
3242002-03-19 Richard Henderson <rth@redhat.com>
325
2842be05 326 PR 5879
93f82d60
RH
327 * except.c (current_function_has_exception_handlers): New.
328 * except.h: Declare it.
329 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
330 Combine tests that disable all sibcalls for the function.
331
ed4fbfa0
OH
3322002-03-19 Olivier Hainque <hainque@act-europe.fr>
333
334 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
335 for INTEGER_CST.
336
ebf0e888
RH
3372002-03-19 Richard Henderson <rth@redhat.com>
338
1e82682b 339 PR 5977, 5991
ebf0e888
RH
340 * config/ia64/ia64.c: Revert 2002-03-01 patch.
341 * config/ia64/ia64.h (INIT_EXPANDERS): New.
342
e37b38d7
JB
3432002-03-19 Jim Blandy <jimb@redhat.com>
344
345 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
346 name, even if the replacement list contains no tokens, as required
347 by Dwarf.
348
2a4ea326
JM
3492002-03-19 Jason Merrill <jason@redhat.com>
350
f9d09ae5
JM
351 * varasm.c (globalize_decl): Get the name from the RTL, not
352 DECL_ASSEMBLER_NAME.
353
2a4ea326
JM
354 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
355
99b96edb
BW
3562002-03-19 Bob Wilson <bob.wilson@acm.org>
357
358 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
359 subdi_carry): Define.
360
3774b567
DE
3612002-03-19 David Edelsohn <edelsohn@gnu.org>
362
363 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
364 about -fpic/-fPIC if extra_warnings set.
365
21ef78aa
DE
3662002-03-19 David Edelsohn <edelsohn@gnu.org>
367
368 * expr.c (expand_expr): Sign-extend CONST_INT generated from
369 TREE_STRING_POINTER.
0c2fdcdf 370 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 371
91d4b3fd
RK
372Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
373
374 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
375 in favor of SP if FRAME_POINTER_REQUIRED is false.
376
2496c7bd
LB
3772002-03-19 Lars Brinkhoff <lars@nocrew.org>
378
379 * emit-rtl.c (gen_int_mode): New function.
380 * rtl.h: Prototype for it.
381 * combine.c (make_extraction, simplify_comparison), expmed.c
382 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
383 (convert_modes, store_field), optabs.c (expand_fix),
384 simplify-rtx.c (neg_const_int, simplify_unary_real),
385
386 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
387 Use it instead of GEN_INT (trunc_int_for_mode (...)).
388
f735a153
JJ
3892002-03-19 Jakub Jelinek <jakub@redhat.com>
390
391 PR c/5656
392 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
393 convert_parm_for_inlining.
394 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
395 Define.
396 * langhooks-def.h: Likewise.
397 * objc/objc-lang.c: Likewise.
398 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
399 function.
400 * tree-inline.c (initialize_inlined_parameters):
401 Call convert_parm_for_inlining lang hook if needed.
402 * c-typeck.c (c_convert_parm_for_inlining): New function.
403 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
404
1929c971
MM
4052002-03-18 Mark Mitchell <mark@codesourcery.com>
406
407 * calls.c (precompute_arguments): Do not assume that temporaries
408 can be destroyed after expanding the argument.
409 (expand_call): Likewise.
410
c79ca0ac
EC
4112002-03-15 Eric Christopher <echristo@redhat.com>
412
413 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
414 Fix register preference on last change.
415 * config/mips/mips.c (mips_return_in_memory): New function.
416 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
417 * config/mips/mips-protos.h: Declare.
418 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
419 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
420
07e2e444
AO
4212002-03-18 Alexandre Oliva <aoliva@redhat.com>
422
1bfbbbcf
AO
423 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
424 a register too.
425 (anddi3, iorsi3): Likewise.
426
c066429e
AO
427 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
428 use %gprel for symbols that are going to be placed in linkonce
429 sections.
430
07e2e444
AO
431 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
432 RETURN_ADDRESS_POINTER_REGNUM to $ra.
433 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
434 not needed. Disregard leaf_function_p().
435 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
436 mips16 frame pointer.
437 * config/mips/mips.md (store ra): Only to small SP offsets.
438 2001-08-22 Graham Stott <grahams@redhat.com>
439 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
440 return a REG rtx for the return address register.
441
eb8e00ea
BW
4422002-03-18 Bob Wilson <bob.wilson@acm.org>
443
444 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
445 constant-pool addresses as "mode-dependent".
446 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
447
cbb92744
JJ
4482002-03-18 Jakub Jelinek <jakub@redhat.com>
449
450 PR target/5740
451 * expr.c (emit_group_load): Use extract_bit_field if
452 needed for CONCAT arguments.
453
657d9449
RE
4542002-03-18 Richard Earnshaw <rearnsha@arm.com>
455
91f3a802 456 PR target/4863
657d9449
RE
457 * arm.md (tablejump): Make this a define_expand. For PIC add the
458 offset to the base of the table.
459 (thumb_tablejump): Matcher for Thumb tablejump insn.
460 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
461 as the difference of two labels.
462 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
463 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
464 tables in the code.
465 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
466 * arm.c (get_jump_table_size): If the table is not in the text
467 section, return zero.
c79ca0ac 468
5d5603e2
BS
4692002-03-18 Bernd Schmidt <bernds@redhat.com>
470
471 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
472 of gen_rtx_SUBREG.
473 (arm_reload_out_hi): Use gen_lowpart instead of
474 gen_rtx_SUBREG to access QImode components.
475 * config/arm/arm.md: Disable zero_extend split for QImode
476 subregs in BIG_ENDIAN mode.
477 (storehi_bigend): Match use of least significant byte.
478 (storeinthi): Remove extraneous SUBREG.
66c17b64 479 Add missing construction of operands[2].
5d5603e2
BS
480 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
481 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
482 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
483
df15fbc7
AH
4842002-03-18 Aldy Hernandez <aldyh@redhat.com>
485
2496c7bd
LB
486 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
487 any_operand.
df15fbc7 488
b83b7fa3
RH
4892002-03-17 Richard Henderson <rth@redhat.com>
490
491 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
492 explicitly.
493
6f7c00fe
HPN
4942002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
495
496 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
497 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
498
155038f2
KG
4992002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
500
720d42fa
KG
501 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
502
155038f2
KG
503 * predict.c (estimate_bb_frequencies): Delete unused variables.
504
e6542f4e
RH
5052002-03-17 Richard Henderson <rth@redhat.com>
506
507 * config/ia64/ia64.c (ia64_attribute_table): Move before
508 targetm definition. Make static.
509
52dabb6c
NB
5102002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
511
512 * c-common.h (yyparse, c_common_parse_file): New.
513 * c-lang.c: Include c-common.h.
514 (LANG_HOOKS_PARSE_FILE): Redefine.
515 * c-lex.c: Include c-common.h.
516 (yyparse): Rename c_common_parse_file. Call yyparse.
517 * c-parse.in (yyparse): Remove macro.
518 * c-tree.h (yyparse_1): Remove.
519 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
520 (LANG_HOOKS_INITIALIZER): Update.
521 * langhooks.h (struct lang_hoooks): New hook parse_file.
522 * toplev.c (compile_file): Use parse_file hook.
523 * tree.h (yyparse): Remove.
e6542f4e 524 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 525
b5ffe606
HPN
5262002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
527
ba82f58b
HPN
528 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
529 float_truncate, not fix.
530 ("*truncdfsf2_real"): Ditto.
531 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
532
b5ffe606
HPN
533 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
534
c8d1b2b7
AO
5352002-03-16 Alexandre Oliva <aoliva@redhat.com>
536
cfb773f9
AO
537 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
538 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
539 where appropriate. Make the second reference to
540 leaf_function_p a function call, as intended. Reindented.
541
4dffef52
AO
542 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
543 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
544
4f5bd6d7
AO
545 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
546 add register to non-constant into sp.
547
c8d1b2b7
AO
548 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
549 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
550 (mips16_gp_pseudo_rtx): Lose.
551 (INIT_EXPANDERS): Deleted.
552 * config/mips/mips.c (mips_init_machine_status): New.
553 (mips_free_machine_status): New.
554 (mips_mark_machine_status): New.
555 (override_options): Set them.
556 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
557 (struct machine_function): ... new. Replaced all references.
558 (mips_add_gc_roots): Don't mark them.
559 (embedded_pic_fnaddr_reg): New, extracted from...
560 (embedded_pic_offset): ... here.
561 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
562 (movsi): Likewise.
563
b3124fac
NB
5642002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
565
566 * cppinit.c: Revert -MD removal.
567
121449b6
SC
5682002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
569
570 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
571 soft registers by default for 68HC12.
572 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
573 when compiling with -fomit-frame-pointer.
574 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
575 (expand_epilogue): Likewise.
576 (m68hc11_gen_rotate): Use exg when rotating by 8.
577
840e2ff1
SC
5782002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
579
580 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
581 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
582 (splits): Remove unused add splits.
583 ("*addhi3_68hc12"): Tune constraints.
584 ("addhi_sp"): Try to use X instead of Y in all cases and if the
585 constant fits in 8-bits and D is dead use abx/aby instructions.
586 ("*addhi3"): Remove extern declaration of ix_reg.
587 ("*subsi3"): Optimize and provide new split.
588 ("subhi3"): Cleanup.
589 ("*subhi3_sp"): Avoid saving X if we know it is dead.
590 (arith splits): For 68hc12 save the address register on the stack
591 and do the arithmetic operation with a pop.
592
3c9a5efe
SC
5932002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
594
595 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
596 allocating QImode in address registers.
597 ("*movqi_m68hc11"): Likewise.
598
e41f3392
JH
599Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
600
601 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
602
576786b0
NB
6032002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
604
605 * cppinit.c (print_help): Display -MD and -MMD.
606 Don't display usage string. Update assertion syntax and
607 typo.
608 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
609 (cpp_handle_option): Update.
610
1ac458d4
CD
6112002-03-15 Chris Demetriou <cgd@broadcom.com>
612
613 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
614 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
615 and define it so that regardless of target CPU size,
616 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
617 of "int" rather than "long."
618
1fcd592b
RH
6192002-03-15 Richard Henderson <rth@redhat.com>
620
621 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
622 size as a tree.
623
a0df6910
SC
6242002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
625
626 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
627 ("tstqi" split): Avoid using memory for tstqi on address register.
628 (splits): Remove constraints.
629 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
630 ("cmpdf", "cmpsf"): Remove since not used.
631 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
632 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
633
015a2e59
SC
6342002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
635
636 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
637 ("neghi2"): Tighten constraints.
638 ("one_cmplsi2"): Optimize and simplify split.
639 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
640
cd28557c
SC
6412002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
642
643 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
644 and split of AND operation to clear the upper bits.
645 ("*logicalsi3_zextqi"): Likewise.
646 ("*logicallhi3_zexthi_ashift8"): Likewise.
647 ("*logicalsi3_silshr16"): Likewise.
648 ("logicalsi3_silshl16"): Likewise.
649 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
650
932657df
SC
6512002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
652
653 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
654 (m68hc11_indirect_p): New function.
655 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
656 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
657 TARGET_M6812.
658 (asm_print_register): Likewise.
659 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
660 (m68hc11_indirect_p): Declare.
661 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
662 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
663 (TARGET_SWITCHES): New option -mrelax.
664 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
665 destination.
666 ("iorsi3", "xorsi3"): Likewise.
667 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
668 ("*andhi3_mem"): New to handle destination in memory with bclr
669 and a scratch register.
670 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
671 ("*andhi3_const"): New when operand2 is constant.
672 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
673 ("*andhi3_gen"): Cleanup of the old "andhi3".
674 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
675 ("xorqi3"): Update constraints.
676
fdffea1a
SC
6772002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
678
679 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
680 for reg_equiv_memory_loc when the operand is a register that does
681 not get a hard register (stack location).
682 (tst_operand): After reload, accept all memory operand.
683 (symbolic_memory_operand): Fix detection of symbolic references.
684 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
685 accept symbols and any constant.
686
6272bc68
SC
6872002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
688
689 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
690 note on the insn that sets the soft frame register.
691 (must_parenthesize): ix and iy are also reserved names.
692 (print_operand_address): One more place where parenthesis are required
693 to avoid confusion with register names.
694 (m68hc11_gen_movhi): Allow push of stack pointer.
695 (m68hc11_check_z_replacement): Fix handling of parallel with a
696 clobber.
697 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
698 the replacement register is.
699 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
700 and D8_REGS classes.
701 (MODES_TIEABLE_P): All modes are tieable except QImode.
702
1d2d9def
SC
7032002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
704
705 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
706 (___subdi3): Likewise.
707 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
708 (__map_data_section): Optimize 68hc11 case.
709
a0ccf503
SC
7102002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
711
712 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
713 than a shift to avoid adding a register with itself.
714 (m68hc11_memory_move_cost): Take into account NO_REGS.
715 (m68hc11_register_move_cost): Update and use memory move cost
716 for soft registers.
717 (m68hc11_address_cost): Make cost of valid offset not 0 so that
718 it gives more opportunities to cse to optimize.
719 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
720 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
721
6e4ae815
MM
7222002-03-15 Mark Mitchell <mark@codesourcery.com>
723
724 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
725 * c-common.def (CLEANUP_STMT): New tree node.
726 * c-common.h (CLEANUP_DECL): New macro.
727 (CLEANUP_EXPR): Likewise.
728 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
729 * expr.c (expand_expr): Tidy.
730 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
731 * tree-inline.c (initialize_inlined_parameters): Clean up
732 new local variables.
733
a42519be
JJ
7342002-03-15 Jakub Jelinek <jakub@redhat.com>
735
736 PR bootstrap/4128
737 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
738 before movrXX only, use reg_overlap_mentioned_p.
739 Only special case NE if just one insn can be generated.
740
15409448
JM
7412002-03-15 Jason Merrill <jason@redhat.com>
742
743 * varasm.c (assemble_variable): Call resolve_unique_section before
744 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
745 of error_mark_node.
746
3a4edb44
RE
7472002-03-15 Richard Earnshaw <rearnsha@arm.com>
748
749 PR target/5170
750 * arm.md (split pattern for thumb shiftable immediates): Add comment
751 explaining non-obvious test.
752
32defa36
RE
7532002-03-15 Richard Earnshaw <rearnsha@arm.com>
754
755 PR target/5712
756 * arm.md (movaddr, movaddr_insn): Delete.
757
5cc90635
JM
7582002-03-15 Jason Merrill <jason@redhat.com>
759
760 * toplev.c (wrapup_global_declarations): Clarify variable handling.
761 -fkeep-static-consts doesn't apply to comdats.
762
ecb0eece
RH
7632002-03-14 Richard Henderson <rth@redhat.com>
764
765 * c-decl.c: Include c-pragma.h.
766 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
767 (finish_function): Tidy.
768 * c-pragma.c: Include c-common.h.
769 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
770 (handle_pragma_weak): Use them.
771 (init_pragma): Register pending_weaks.
772 * c-pragma.h (maybe_apply_pragma_weak): Declare.
773 * print-tree.c (print_node): Print DECL_WEAK.
774 * varasm.c (mark_weak_decls): Remove.
775 (remove_from_pending_weak_list): Remove.
776 (add_weak): Remove.
777 (asm_emit_uninitialised): Call globalize_decl for weak commons.
778 (weak_decls): Make a tree_list.
779 (declare_weak): Cons weak_decls directly.
780 (globalize_decl): Remove weak_decls elements directly.
781 (weak_finish): Simplify weak_decls walk. Don't weaken unused
782 symbols. Don't pretend to handle aliases.
783 (init_varasm_once): Update weak_decls registry.
784 * Makefile.in: Update dependencies.
785
98d2b17e
RH
7862002-03-14 Richard Henderson <rth@redhat.com>
787
788 PR target/5312
789 * config/ia64/ia64.c: Include tm_p.h last.
790 (gen_nop_type): Remove duplicate definition.
791 (cycle_end_fill_slots): Set sched_data for second L slot.
792 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
793 (nop_cycles_until): Fix typos.
794
f2f4927e
JJ
7952002-03-15 Jakub Jelinek <jakub@redhat.com>
796
797 PR optimization/5891
798 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
799
5025a549
DM
8002002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
801
802 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
803 descriptors correctly.
804
03e9dbc9
MM
8052002-03-14 Michael Meissner <meissner@redhat.com>
806
807 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
808 100, allowing MAX_UNROLLED_INSNS to be overridden.
809
810 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
811 --param.
812
813 * unroll.c (params.h): Include.
814 (MAX_UNROLLED_INSNS): Delete, now in params.h.
815
816 * doc/invoke.texi (--param max-unroll-insns): Document.
817
818 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
819
12249385
RE
8202002-03-14 Richard Earnshaw <rearnsha@arm.com>
821
822 * arm.md: Fix warnings about constraints in peepholes and splits.
823
f0cce04a
ZW
8242002-03-14 Zack Weinberg <zack@codesourcery.com>
825
826 * cpphash.h (struct lexer_state): Remove line_extension member.
827 * cpplib.c (dequote_string, do_linemarker): New functions.
828 (linemarker_dir): New data object.
829 (DIRECTIVE_TABLE): No longer need to interpret #line in
830 preprocessed source. Delete obsolete comment about return
831 values of handlers.
832 (end_directive, directive_diagnostics, _cpp_handle_directive):
833 Don't muck with line_extension.
834 (directive_diagnostics): No need to issue warnings for
835 linemarkers here.
836 (_cpp_handle_directive): Issue warnings for linemarkers here,
837 when appropriate. Dispatch linemarkers to do_linemarker, not
838 do_line.
839 (do_line): Code to handle linemarkers split out to do_linemarker.
840 Convert escape sequences in filename argument, both places.
841
842 * cppmacro.c (quote_string): Rename cpp_quote_string and
843 export. All callers changed.
844 * cpplib.h (cpp_quote_string): Prototype.
845 * cppmain.c (print_line): Call cpp_quote_string on to_file
846 before printing it.
847
848 * doc/cpp.texi: Document that escapes are now interpreted in
849 #line and in linemarkers, and that non-printing characters are
850 converted to octal escapes when linemarkers are generated.
851
852Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
853
854 * emit-rtl.c (try_split): Use delete_insns.
855 * recog.c (split_all_insns): Fix terminating condition.
856
c882c7ac
RE
8572002-03-14 Richard Earnshaw <rearnsha@arm.com>
858 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
859
860 PR target/5828
861 * arm.c (arm_output_epilogue): Fix floating-point register save
862 adjustment when using a frame pointer.
863
3f26edaa
RS
8642002-03-14 Richard Sandiford <rsandifo@redhat.com>
865
866 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
867 * config/mips/mips.c (compute_frame_size): Retrofit them here.
868 (save_restore_insns, mips_expand_epilogue): And here.
869 (build_mips16_call_stub): And here.
870 (mips_function_value): Use the new macros to decide whether a single
871 or complex float can be returned in floating-point registers. Return
872 a parallel rtx in the complex case.
873
1e3881c2
JH
874Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
875
876 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
877 call after liveness analysis.
878
879 * recog.c (split_insn): Use delete_insn_and_edges.
880
881 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
882 instructions to have branch prediction notes.
883 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
884
200ef634
GK
8852002-03-14 Geoffrey Keating <geoffk@redhat.com>
886
887 * configure.in: Don't pass -Wno-long-long to a ADA compiler
888 that doesn't support it.
889 * configure: Regenerate.
890
0b82d204
JJ
8912002-03-13 Jakub Jelinek <jakub@redhat.com>
892
893 PR target/5626
894 * config/sparc/sparc.md (normal_branch, inverted_branch,
895 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
896 inverted_fp_branch): Adjust calls to output_cbranch.
897 Set length attribute.
898 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
899 output_v9branch. Set length attribute.
900 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
901 predicates.
902 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
903 (output_cbranch): Likewise. Handle far branches.
904 (output_v9branch): Handle far branches.
905 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
906 Adjust prototypes.
907 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
908 noov_compare64_op predicates.
909
7a8de19b
JM
9102002-03-13 Jason Merrill <jason@redhat.com>
911
912 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
913 into the function and constify it.
914 * gthr-dce.h, gthr-solaris.h: Likewise.
915
2a55fd42
DE
9162002-03-13 David Edelsohn <edelsohn@gnu.org>
917
918 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
919 * config/rs6000/rs6000.c (rs6000_va_arg): Use
920 std_expand_builtin_va_arg if not ABI_V4.
921
19c5b1cf
JM
9222002-03-13 Jason Merrill <jason@redhat.com>
923
924 * varasm.c (globalize_decl): New fn.
925 (assemble_start_function): Use it.
926 (asm_emit_uninitialized): Use it.
927 (assemble_alias): Use it.
928 (assemble_variable): Use it.
929
2a15f5e1
HPN
9302002-03-13 Hans-Peter Nilsson <hp@axis.com>
931
932 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 933 2002-03-12 internal visibility change.
2a15f5e1
HPN
934 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
935 visibility into SYMBOL_REF_FLAG.
936
c0a3eeac
UW
9372002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
938
939 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
940 VOIDmode operand. Add compile-time optimization for constant results.
941
a1652cee
JM
9422002-03-12 Jason Merrill <jason@redhat.com>
943
944 * c-typeck.c (convert_for_assignment): Don't allow conversions
945 between pointers and references. Only allow lvalues to convert to
946 reference.
947
c52a375d
HP
9482002-03-13 Hartmut Penner <hpenner@de.ibm.com>
949
f0cce04a
ZW
950 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
951 before prologue, to avoid scheduling problems.
c52a375d 952
e387e99b
JJ
9532002-03-13 Jakub Jelinek <jakub@redhat.com>
954
955 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
956 (ELIMINABLE_REGS): Add sfp->sp.
957 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
958
9592002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
960
961 PR optimization/5892
962 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
963
4061c1a3
JJ
9642002-03-13 Jakub Jelinek <jakub@redhat.com>
965
966 * loop.c (basic_induction_var): Don't call convert_modes if mode
967 classes are different.
968
5b43fed1
RH
9692002-03-12 Richard Henderson <rth@redhat.com>
970
9f53e965
RH
971 PR optimization/5901
972 * function.c (reposition_prologue_and_epilogue_notes): Position
973 the markers after/before the last/first insn not deleted.
974
9752002-03-12 Richard Henderson <rth@redhat.com>
976
977 PR optimization/5878
5b43fed1
RH
978 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
979 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
980 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
981
982 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
983 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
984 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
985
986 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
987 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
988 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
989 also. Don't set it if not flag_pic.
990 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
991 to be INVALID_REGNUM when not used.
992
4e9bb42b
AH
9932002-03-13 Aldy Hernandez <aldyh@redhat.com>
994
5b43fed1
RH
995 * expmed.c (store_bit_field): Reset alias set for memory.
996 (extract_bit_field): Same.
4e9bb42b 997
2f9834e8
KG
9982002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
999
1000 * c-common.c (c_tree_code_type, c_tree_code_length,
1001 c_tree_code_name, add_c_tree_codes): Delete.
1002 * c-common.h (add_c_tree_codes): Delete.
1003 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
1004 Define.
1005 * c-objc-common.c (c_objc_common_init): Don't call
1006 add_c_tree_codes, instead set lang_unsafe_for_reeval.
1007 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
1008 objc_tree_code_name, add_objc_tree_codes): Delete.
1009 (objc_init): Don't call add_objc_tree_codes.
1010 * objc/objc-lang.c (tree_code_type, tree_code_length,
1011 tree_code_name): Define.
1012 * toplev.c (lang_independent_init): Don't set
1013 tree_code_length[IDENTIFIER_NODE].
1014 * tree.c (tree_code_type, tree_code_length, tree_code_name):
1015 Delete definitions, moved to language front-ends.
1016 * tree.def (IDENTIFIER_NODE): Hardwire the length.
1017 * tree.h (tree_code_type, tree_code_length, tree_code_name):
1018 Const-ify.
1019 (tree_code_length): Change type to unsigned char.
1020
36ad2436
RH
10212002-03-12 Richard Henderson <rth@redhat.com>
1022
1023 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
1024 internal visibility change.
1025
0ae02efa
BW
10262002-03-12 Bob Wilson <bob.wilson@acm.org>
1027
1028 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
1029 validize_mem() instead of change_address to avoid clobbering
1030 memory attributes.
1031
35bb2bee
NB
10322002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
1033
1034 * c-lex.h (position_after_whitespace): Remove.
1035
62ae2529
JJ
10362002-03-12 Jakub Jelinek <jakub@redhat.com>
1037
1038 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
1039 (lex_string): Use unsigned char pointers.
1040
6a45951f
UW
10412002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
1042
1043 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
1044 is not a valid memory_operand.
1045
e2fb85da
BW
10462002-03-12 Bob Wilson <bob.wilson@acm.org>
1047
1048 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
1049 * config/xtensa/lib1funcs.asm: Fix copyright to include
1050 special case for libgcc files.
1051 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
1052 (__divsi3): Likewise.
1053 (__umodsi3): Likewise.
1054 (__modsi3): Likewise.
1055 * config/xtensa/lib2funcs.S: Fix copyright to include
1056 special case for libgcc files.
1057
5b8619f8
TR
10582002-03-12 Tom Rix <trix@redhat.com>
1059
1060 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 1061 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
1062 (ignore_library): Same.
1063
089c8f97
BW
10642002-03-12 Bob Wilson <bob.wilson@acm.org>
1065
1066 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
1067
958c70ff
BW
10682002-03-12 Bob Wilson <bob.wilson@acm.org>
1069
1070 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
1071 to function_section before writing out the constant pool.
1072
a65c591c
DE
10732002-03-12 David Edelsohn <edelsohn@gnu.org>
1074
1075 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
1076 zero_constant.
1077 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
1078
10792002-03-12 Alan Modra <amodra@bigpond.net.au>
1080
1081 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
1082 (adddi3): Likewise.
1083 (movdf): Likewise.
1084 (movdi): Likewise.
1085 (cmpsi splitter): Likewise.
1086 (modsi3): Fail if <= 0.
1087 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
1088 redundant test when HOST_BITS_PER_WIDE_INT != 32.
1089 (reg_or_sub_cint64_operand): Likewise.
1090 (num_insns_constant_wide): Optimize sign extension.
1091 (rs6000_legitimize_address): Likewise.
1092
17720332
AM
10932002-03-12 Andrew MacLeod <amacleod@redhat.com>
1094
1095 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1096 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1097
cd49f073
AM
10982002-03-12 Andrew MacLeod <amacleod@redhat.com>
1099
1100 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
1101 address calculation.
1102
6a4e49c1
UW
11032002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
1104
1105 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
1106 scratch register to DImode / TImode.
1107 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
1108 register used does not overlap the target.
1109
54b6670a
KG
11102002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1111
1112 * Makefile.in (debug.o): Depend on debug.h.
1113 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
1114 * debug.c (do_nothing_debug_hooks): Likewise.
1115 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
1116 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
1117 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
1118 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
1119 * dwarfout.c (dwarf_debug_hooks): Likewise.
1120 * integrate.c (output_inline_function): Likewise.
1121 * objc/objc-act.c (synth_module_prologue): Likewise.
1122 * sdbout.c (sdb_debug_hooks): Likewise.
1123 * toplev.c (debug_hooks): Likewise.
1124 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
1125
2465bf76
KG
11262002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1127
1128 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
1129 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
1130 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
1131 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
1132 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
1133 * defaults.h (POINTER_SIZE): Define.
1134 * doc/tm.texi (POINTER_SIZE): Document default.
1135
53f3e9ca
KG
11362002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1137
1138 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
1139
44d3eb5b
RH
11402002-03-11 Richard Henderson <rth@redhat.com>
1141
1142 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
1143 if rebuild_label_notes_after_reload.
1144
4a085d2e
HPN
11452002-03-12 Hans-Peter Nilsson <hp@axis.com>
1146
1147 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
1148 emit pic register load if "internal" visibility.
1149 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
1150 (cris_expand_builtin_va_arg): Do all computations on trees.
1151
bc204393
RH
11522002-03-11 Richard Henderson <rth@redhat.com>
1153
1154 * rtlanal.c: Include recog.h.
1155 (keep_with_call_p): Fix thinko.
1156 * Makefile.in (rtlanal.o): Update dependencies.
1157
6b8b9d7b
CM
11582002-03-11 Chris Meyer <cmeyer@gatan.com>
1159
1160 * genflags.c (gen_insn): Use IS_VSPACE.
1161 * genoutput.c (output_insn_data): Likewise.
1162 (process_template): Likewise.
1163
6c40858f
RH
11642002-03-11 Richard Henderson <rth@redhat.com>
1165
1166 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
1167
40adaa27
NB
11682002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
1169
1170 * Makefile.in: Update.
6c40858f 1171 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 1172 Update documentation.
6c40858f
RH
1173 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
1174 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 1175
049b03f4
ZW
11762002-03-11 Zack Weinberg <zack@codesourcery.com>
1177
1178 * Makefile.in: Give texi2pod its input file as a command line
1179 argument, not on stdin.
1180
61eece67
DN
11812002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
1182 Daniel Berlin <dan@dberlin.org>
1183
1184 C++ alias analysis improvement.
f0cce04a 1185 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
1186 classes too.
1187
a65c591c
DE
11882002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
1189
ff080aba
UW
1190 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
1191
1682dbb1
DR
11922002-03-11 Douglas B Rupp <rupp@gnat.com>
1193
fa2d765a
DR
1194 * toplev.c (vms_fopen): Remove, not needed.
1195
6f1fd286
DR
1196 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
1197
b230e057
DR
1198 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
1199
cb9a8e97
DR
1200 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
1201 for FP, already done later.
1202
1682dbb1
DR
1203 * toplev.c (debug_args): Add entry for VMS_DEBUG.
1204 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
1205
3fcaac1d
RS
12062002-03-11 Richard Sandiford <rsandifo@redhat.com>
1207
1208 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
1209 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
1210 LARGEST_EXPONENT_IS_NORMAL for the given mode.
1211 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
1212 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
1213 (ediv, emul, eldexp, esqrt): Likewise.
1214 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
1215 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
1216 (saturate): New function.
1217 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
1218 (make_nan): Use a saturation value instead of a NaN if
1219 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
1220 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
1221 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
1222 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
1223 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
1224 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
1225 !ROUND_TOWARDS_ZERO.
1226 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
1227 (ROUND_TOWARDS_ZERO): Document.
1228
d25558be
AJ
12292002-03-11 Andreas Jaeger <aj@suse.de>
1230
1231 * cfg.c (dump_flow_info): Remove unused variable.
1232
c71f9ae7
HPN
12332002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
1234
1235 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
1236 computations on trees.
1237
561c9153
RH
12382002-03-10 Richard Henderson <rth@redhat.com>
1239
932b4e3e 1240 PR 5693:
561c9153
RH
1241 * reload.c (copy_replacements_1): New.
1242 (copy_replacements): Use it to recurse through the rtx.
1243
26b738be
RH
12442002-03-10 Richard Henderson <rth@redhat.com>
1245
1246 * loop.c (strength_reduce): Compute number of iterations as
1247 unsigned HOST_WIDE_INT.
1248
8d8a083e
RH
12492002-03-10 Richard Henderson <rth@redhat.com>
1250
1251 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
1252 to move away from the end of the block.
1253
32810ba3
NB
12542002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
1255
1256 PR preprocessor/5899
1257 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 1258
2b03d201
KG
12592002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1260
f90c544c
KG
1261 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
1262
2b03d201
KG
1263 * attribs.c (decl_attributes): Fix signed/unsigned warning.
1264
3ec1b4cb
HPN
12652002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
1266
1267 * config/mmix/mmix.c: Improve comments.
1268 (mmix_target_asm_function_prologue): Drop variable
1269 empty_stack_frame. Don't allocate unused slot above fp.
1270 (mmix_target_asm_function_epilogue): Mirror prologue changes.
1271 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
1272 brace in first column.
1273 (enum reg_class): Ditto.
1274 (FIRST_PARM_OFFSET): Now 0.
1275 (USER_LABEL_PREFIX): Remove #if 0:d definition.
1276
27e486c5
KG
12772002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1278
1279 * combine.c (make_extraction): Fix error in last change.
1280
0139adca
KG
12812002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1282
1283 * c4x.c (c4x_fp_reglist): Const-ify.
1284 * cris.c (cris_print_operand): Likewise.
1285 * i386.c (ix86_va_arg): Likewise.
1286 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
1287 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
1288 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
1289 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
1290 * mcore.h (regno_reg_class): Likewise.
1291 * mips.c (gen_int_relational): Likewise.
1292 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
1293 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 1294 * pdp11.c (move_costs): Likewise.
0139adca
KG
1295 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
1296 * s390.c (s390_branch_condition_mnemonic, regclass_map):
1297 Likewise.
1298 * s390.h (regclass_map): Likewise.
1299 * sh.c (shift_amounts): Likewise.
a4334c36 1300 * sh.md (rotlsi3): Likewise.
0139adca 1301
889b90a1
GK
13022002-03-09 Geoffrey Keating <geoffk@redhat.com>
1303
1304 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
1305 (ne0+5): Use new clobber to generate proper shift pattern.
1306 Patch by Michael Matz <matz@kde.org>.
1307
2877e0ae
AS
13082002-03-09 Andreas Schwab <schwab@suse.de>
1309
1310 * gcc.c (validate_all_switches): Also handle `%W{...}'.
1311
79b51cd7
GK
13122002-03-09 Geoffrey Keating <geoffk@redhat.com>
1313
1314 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
1315
e0f1be5c
JJ
13162002-03-09 Jakub Jelinek <jakub@redhat.com>
1317
1318 PR middle-end/5877
1319 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
1320 even for non-representable constants.
1321
0a7ec763
RK
1322Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1323
93fe8e92
RK
1324 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
1325 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
1326 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
1327 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
1328 (pop_function_context): Compute MAY_SHARE parameter for
1329 fixup_var_refs.
1330 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
1331 (gen_mem_addressof): Call fixup_var_refs with new parm.
1332
0a7ec763
RK
1333 * combine.c (make_extraction): Don't make extension of CONST_INT.
1334
a85cd407
AO
13352002-03-09 Alexandre Oliva <aoliva@redhat.com>
1336
9445b814
AO
1337 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
1338 in o32 and o64 ABIs.
1339 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
1340 but getting fixed-size structs passed in registers regardless of
1341 padding in o32 and o64 ABIs.
1342
a85cd407
AO
1343 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
1344 offset before loading address of argument passed by transparent
1345 reference.
1346
c51fbe40
JDA
13472002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
1348
1349 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
1350
918e70dd
AO
13512002-03-09 Alexandre Oliva <aoliva@redhat.com>
1352
1353 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
1354 marker such that registers after it are saved.
1355
3070dd00
KG
13562002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1357
1358 * sparc.c (arith_4096_operand): Fix error in last change.
1359
e25d11b0
AO
13602002-03-08 Alexandre Oliva <aoliva@redhat.com>
1361
1362 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
1363 defaults for MEABI.
1364
41daaf0e
AH
13652002-03-08 Aldy Hernandez <aldyh@redhat.com>
1366
5b43fed1
RH
1367 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
1368 vectors.
41daaf0e 1369
fa139b00
AH
13702002-03-08 Aldy Hernandez <aldyh@redhat.com>
1371
5b43fed1 1372 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 1373
c51d95ec
JH
1374Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
1375
1376 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
1377 removed; fix return value.
1378 * combine.c (combine_instructions): Dirtify blocks where we failed to
1379 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
1380 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
1381
3b25fbfe
KG
13822002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1383
1384 * gcse.c (insert_insn_end_bb): Fix typo in last change.
1385
189ae0f4
JH
1386Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
1387
1388 * recog.c (peephole2_optimize): Re-distribute EH edges.
1389
24965e7a
NB
13902002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
1391
1392 * expr.c (expand_expr): Use unsave lang hook.
1393 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
1394 (LANG_HOOKS_INITIALIZER): Update.
1395 * langhooks.h (struct lang_hooks): New hook unsave.
1396 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
1397 (unsave_expr_1): Remove unused lang_unsave_expr_now.
1398 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
1399 (unsave_expr_now): Remove.
1400 * tree.h (unsave_expr_now, lang_unsave,
1401 lang_unsave_expr_now): Remove.
1402 (lhd_unsave): New.
1403
1e4e95d6
AJ
14042002-03-08 Andreas Jaeger <aj@suse.de>
1405
1406 * flow.c (propagate_block_delete_insn): Remove unused variable.
1407
054ef905
KH
14082002-03-08 Kazu Hirata <kazu@hxi.com>
1409
1410 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
1411 insn length for memory load/store.
1412
5304400d 14132002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 1414
5304400d
CR
1415 * doc/install.texi (--with-libiconv-prefix): Document.
1416
81034129
MB
14172002-03-08 Michael Y. Brukman <myb2@cornell.edu>
1418
1419 * doc/sourcebuild.texi: Fix typo.
1420
71db7d03
JJ
14212002-03-08 Jakub Jelinek <jakub@redhat.com>
1422
1423 PR c/3711
1424 * builtins.c (std_expand_builtin_va_arg): Do all computations on
1425 trees.
1426
127c1ba5
RK
1427Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1428
1429 * rtl.c (copy_most_rtx): Move from here ...
1430 * emit-rtl.c (copy_most_rtx): ... to here.
1431
8a13c092
AO
14322002-03-08 Alexandre Oliva <aoliva@redhat.com>
1433
5faae4f7
AO
1434 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
1435 SUBTARGET_CPP_SIZE_SPEC.
1436 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
1437
8a13c092
AO
1438 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
1439
4ec59de2
MH
14402002-03-07 Matt Hiller <hiller@redhat.com>
1441
1442 * gensupport.c (first_dir_md_include): Renamed from include;
1443 change all references.
1444 (last_dir_md_include): Renamed from last_include; change all
1445 references.
1446 (init_md_reader): Unconditionally initialize base_dir whether or
1447 not filename is a relative path.
1448
12f61e77
AO
14492002-03-07 Alexandre Oliva <aoliva@redhat.com>
1450
95356058
AO
1451 * config/fp-bit.c (_unord_f2): Compile it in even if
1452 US_SOFTWARE_GOFAST is enabled.
1453
12f61e77
AO
1454 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
1455 NULL_RTX. Set all HFmode operations as NULL_RTX.
1456 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
1457 NULL_RTX, try reversing the comparison and the operands.
1458
6d7a1c4c
UW
14592002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
1460
1461 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
1462 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
1463 and MATCH_OP_DUP.
1464
66d54344
JH
1465Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
1466
1467 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
1468
068473ec
JH
1469Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
1470
1471 * basic-block.h (fixup_abnormal_edges): Declare.
1472 * reload1.c (fixup_abnormal_edges): New function.
1473 * reg-stack.c (convert_regs): Use it.
1474
1475 * gcse.c (insert_insn_end_bb): Handle trapping insns.
1476
1477 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
1478
71925bc0
RS
14792002-03-07 Richard Sandiford <rsandifo@redhat.com>
1480
1481 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
1482 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
1483 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
1484 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
1485 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
1486 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
1487 unless x and y could be infinite.
1488 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
1489 Check that the common type of both arguments is a real, even for
1490 targets without unordered comparisons. Allow an integer argument
1491 to be compared against a real.
1492 (expand_tree_builtin): Use expand_unordered_cmp.
1493 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
1494 * cse.c (fold_rtx): Likewise. Fix indentation.
1495 * fold-const.c (fold_real_zero_addition_p): New.
1496 (fold): Use it, and the new HONOR_... macros.
1497 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
1498 * jump.c (reversed_comparison_code_parts): After searching for
1499 the true comparison mode, use HONOR_NANS to decide whether it
1500 can be safely reversed.
1501 (reverse_condition_maybe_unordered): Remove IEEE check.
1502 * simplify-rtx.c (simplify_binary_operation): Use the new macros
1503 to decide which simplifications are valid. Allow the following
1504 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
1505 and (a - -b) to (a + b).
1506 (simplify_relational_operation): Use HONOR_NANS.
1507 * doc/tm.texi: Document the MODE_HAS_... macros.
1508
145d3bf2
RE
15092002-03-07 Richard Earnshaw <rearnsha@arm.com>
1510
1511 * combine.c (simplify_comparison): If simplifying a logical shift
1512 right and compare with constant, force the comparison to unsigned.
1513
76a773f3
AH
15142002-03-07 Aldy Hernandez <aldyh@redhat.com>
1515
5b43fed1 1516 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 1517
5b43fed1
RH
1518 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
1519 -mabi=no-altivec
1520 (alt_reg_names): Remove % for vrsave.
76a773f3 1521
ab55f58c
RH
15222002-03-06 Richard Henderson <rth@redhat.com>
1523
5ddec02e 1524 PR optimization/5844
ab55f58c
RH
1525 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
1526 if used indicates we've already emitted one copy of an operand.
1527 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
1528 (gen_split): Supply a non-null used.
1529
e16e3291
UW
15302002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
1531
5b43fed1 1532 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 1533
1e4e95d6 1534 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
1535 but simply fail if the expression is too complex to simplify.
1536 (simplify_gen_binary): Handle simplify_plus_minus failures.
1537
2ca6672b
JH
1538Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
1539
1540 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
1541 consistently call delete_trivially_dead_insns after CSE and GCSE;
1542 fix DFI_life dumping; do jump threading after liveness; do crossjumping
1543 after liveness2; update comment in last crossjumping.
1544 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
1545
31d0dd4f
JL
1546Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
1547
d094b0b3
JL
1548 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
1549 after completing fast dead code elimination.
1550
31d0dd4f
JL
1551 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
1552 COMPARE operator.
1e4e95d6 1553
f2b958b1
PE
15542002-03-06 Phil Edwards <pme@gcc.gnu.org>
1555
1556 * version.c: Fix misplaced leading blanks on first line.
1557
a2877a09
JH
1558Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
1559
1560 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
1561
fe477d8b
JH
1562Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
1563
1564 * cfgcleanup.c (mentions_nonequal_regs): New function.
1565 (thread_jump): Use it.
1566 * toplev.c (rest_of_compilation): Run jump threading after
1567 liveness.
1568
2041cde4
JJ
15692002-03-06 Jakub Jelinek <jakub@redhat.com>
1570
1571 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
1572 patch.
1573
82d68d46
JH
1574Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
1575
1576 * predict.c (estimate_bb_frequencies): Do not reload the
1577 frequencies from notes.
1578
3dec4024
JH
1579Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
1580
1581 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
1582 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
1583
1584 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
1585 delete_noop_moves): Return indeger.
1586 * flow.c (ndead): New variable.
1587 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
1588 BB argument; update callers.
1589 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
1590 (life_analysis): Do not call purge_all_dead_edges.
1591 (update_life_info): Return number of deleted insns; print statistics.
1592 (update_life_info_in_dirty_blocks): likewise.
1593 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
1594 return number of insns deleted.
1595
1596 * cse.c: Include timevar.h
1597 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
1598 iterate until stabilizes; print statistics; return number of killed
1599 insns.
1600 * Makefile.in: (cse.o): Add timevar.h dependency
1601 * rtl.h (delete_trivially_dead_insns): New.
1602 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
1603 * toplev.c (rest_of_compilation): Update callers.
1604
1605 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
1606 (try_optimize_cfg): Do not update liveness.
1607 (cleanup-cfg): Loop until try_optimize_cfg and dead code
1608 removal stabilizes; use delete_trivially_dead_insns.
1609
1610 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
1611
c7544dd8
ZW
16122002-03-05 Zack Weinberg <zack@codesourcery.com>
1613
1614 * cppmain.c (setup_callbacks): Disable #pragma and #ident
1615 callbacks when processing assembly language.
1616
50b424a9
JDA
16172002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
1618
1619 * pa.h (ASM_FILE_END): Define.
1620 * som.h (ASM_FILE_END): Delete.
1621
1622 * pa.c (function_arg): Don't pass floats in general registers in
1623 indirect calls if TARGET_ELF32.
1624
6185f217
RH
16252002-03-05 Richard Henderson <rth@redhat.com>
1626
1627 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
1628
3020a4b2
DS
16292002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
1630
1631 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
1632
65649daa
JJ
16332002-03-05 Jakub Jelinek <jakub@redhat.com>
1634
1635 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
1636 -r command line. Don't hide any symbols if not building
1637 shared libgcc.
1638
5a1a3e5e
JH
1639Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
1640
1641 * cfg.c (dump_flow_info): Warn about profile mismatches.
1642 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
1643 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
1644
170c56da
JJ
16452002-03-05 Jakub Jelinek <jakub@redhat.com>
1646
1647 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
1648 wide volatile memory by parts.
1649
6d051694
JJ
16502002-03-05 Jakub Jelinek <jakub@redhat.com>
1651
1652 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
1653 is NULL.
1654
28bcfd4d
RH
16552002-03-05 Richard Henderson <rth@redhat.com>
1656
5b43fed1 1657 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 1658
75227a33
GK
16592002-03-04 Geoffrey Keating <geoffk@redhat.com>
1660
1661 * toplev.c (documented_lang_options): Document more
1662 language-specific options.
1663 * doc/invoke.texi (Warning Options): Correct documentation for
1664 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
1665 * c-decl.c (c_decode_option): Use a table to handle warning options.
1666
4f1aac42
HPN
16672002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
1668
1669 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
1670 parameter to mmix_encode_section_info.
1671 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
1672 relocatably. Always produce ELF, not mmo if linking relocatably.
1673 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
1674 first is non-zero, don't add symbol prefix.
1675 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
1676 prototype accordingly.
1677
12345543
KW
16782002-03-04 Krister Walfridsson <cato@df.lth.se>
1679
1680 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
1681
8e97db8f
JM
16822002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
1683
1684 * configure.in: Increase required makeinfo version to 4.1.
1685 * configure: Regenerate.
1686
06487868
GK
16872002-03-04 Geoffrey Keating <geoffk@redhat.com>
1688
1689 * .cvsignore: Remove *.info* and genrtl*; these files are generated
1690 elsewhere now.
1691
cff42170
JM
16922002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
1693
1694 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
1695 * doc/invoke.texi: Fix @math uses.
1696
974a7f56
JH
1697Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
1698
1699 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
1700 removal
1701
3b7d0e98
AH
17022002-03-03 Aldy Hernandez <aldyh@redhat.com>
1703
5b43fed1
RH
1704 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
1705 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 1706
5b43fed1 1707 * config/rs6000/t-ppcendian: New.
3b7d0e98 1708
65f2f288
HB
17092002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1710
1711 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
1712 nonimmediate_src_operand and nonimmediate_lsrc_operand to
1713 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
1714
8ce0a8a5
RH
17152002-03-03 Richard Henderson <rth@redhat.com>
1716
1717 * toplev.c (rest_of_decl_compilation): Revert last two changes.
1718
ba31d94e
ZW
17192002-03-03 Zack Weinberg <zack@codesourcery.com>
1720
1721 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
1722 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
1723 tree.c, config/m68k/m68k.c:
1724 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
1725 REAL_ARITHMETIC blocks unconditional. Delete some further
1726 #ifdef blocks predicated on REAL_ARITHMETIC.
1727 * flags.h, toplev.c: Delete remaining references to
1728 flag_pretend_float.
1729
1730 * doc/invoke.texi: Remove documentation of -fpretend-float.
1731 * doc/tm.texi: Describe the various REAL_* macros as provided by
1732 real.h, not by the target configuration files.
1733
1734 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
1735 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
1736 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
1737 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
1738 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
1739 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
1740 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
1741 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
1742 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
1743 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
1744 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
1745 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1746 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
1747 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1748 config/xtensa/xtensa.h:
1749 Do not define, undefine, or mention in comments any of
1750 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
1751 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
1752 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
1753 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
1754 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
1755 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
1756 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
1757 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
1758 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
1759
9a571cfd
KG
17602002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1761
e81dd381
KG
1762 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
1763 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
1764 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
1765 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
1766 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
1767 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
1768 Delete.
1769 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 1770 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 1771
9a571cfd
KG
1772 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
1773 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
1774 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
1775
ca7558fc
KG
17762002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1777
1778 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
1779 lieu of explicit sizeof/sizeof.
1780 * i386.c (override_options, ix86_init_mmx_sse_builtins,
1781 ix86_expand_builtin): Likewise.
1782 * mips.c (mips_add_gc_roots): Likewise.
1783 * mmix.c (mmix_output_condition): Likewise.
1784 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
1785 altivec_init_builtins): Likewise.
1786 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
1787 * cppexp.c (Nsuff, parse_number): Likewise.
1788 * cppinit.c (builtin_array_end): Likewise.
1789 * gcc.c (n_default_compilers, process_command): Likewise.
1790 * genpreds.c (output_predicate_decls): Likewise.
1791 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
1792 * lcm.c (N_ENTITIES): Likewise.
1793 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 1794
41c78c88
RH
17952002-03-03 Richard Henderson <rth@redhat.com>
1796
1797 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
1798 for types or labels.
1799
9e9b71e6
RH
18002002-03-03 Richard Henderson <rth@redhat.com>
1801
1802 * c-decl.c (start_decl): Initialized variables are not common.
1803
c26a6db8
PB
18042002-03-02 Per Bothner <per@bothner.com>
1805
1806 * gcc.c (option_map): Suport new --bootclasspath option.
1807 --CLASSPATH is now just an alias for --classpath.
1808
9e8aab55
RH
18092002-03-02 Richard Henderson <rth@redhat.com>
1810
1811 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
1812 load if "internal" visibility.
1813 * doc/extend.texi: Document visibility meanings.
1814
b3bbd220
RH
18152002-03-02 Richard Henderson <rth@redhat.com>
1816
1817 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
1818 to functions as well.
1819
b14707c3
RH
18202002-03-02 Richard Henderson <rth@redhat.com>
1821
1822 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
1823 (handle_visibility_attribute): Don't call assemble_visibility.
1824 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
1825 without asmspec. Invoke assemble_alias when needed.
1826 * varasm.c (maybe_assemble_visibility): New.
1827 (assemble_start_function, assemble_variable, assemble_alias): Use it.
1828
b2003250
RH
18292002-03-02 Richard Henderson <rth@redhat.com>
1830
1831 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
1832 invoke ENCODE_SECTION_INFO with first call flag.
1833
1834 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
1835 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 1836 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
1837 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
1838 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1839 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1840 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
1841 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
1842 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
1843 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
1844 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
1845 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
1846 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
1847 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
1848 config/mcore/mcore-protos.h, config/mcore/mcore.c,
1849 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
1850 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 1851 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
1852 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
1853 config/sh/sh.h, config/sparc/sparc.h,
1854 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
1855 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
1856 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
1857 FIRST argument. As needed, examine it and do nothing.
1858
ba31d94e 1859 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
1860 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
1861 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
1862
1863 * config/arm/t-pe (pe.o): Add dependencies.
1864
5c60f03d
KG
18652002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1866
1867 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
1868 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
1869 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
1870 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
1871 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
1872 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
1873 * defaults.h (BITS_PER_UNIT): Define.
1874 * doc/tm.texi (BITS_PER_UNIT): Document default value.
1875
86855e8c
KH
18762002-03-02 Kazu Hirata <kazu@hxi.com>
1877
1878 * config/h8300/h8300-protos.h: Add a prototype for
1879 compute_a_shift_length.
1880 * config/h8300/h8300.c (h8300_asm_insn_count): New.
1881 (compute_a_shift_length): Likewise.
1882 (h8300_adjust_insn_length): Do not adjust insn length of shift
1883 insns.
1884 * config/h8300/h8300.md (anonymous shift patterns): Use
1885 compute_a_shift_length.
1886
f6041ed8
RK
1887Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1888
35aa3c1c
RK
1889 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
1890 trunc_int_for_mode.
1891
f6041ed8
RK
1892 * emit-rtl.c (offset_address): Call update_temp_slot_address.
1893
27b41650
KG
18942002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1895
1896 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
1897 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
1898 * flags.h (flag_zero_initialized_in_bss): Declare.
1899 * toplev.c (flag_zero_initialized_in_bss): New flag.
1900 (lang_independent_options): Add flag_zero_initialized_in_bss.
1901 * tree.c (initializer_zerop): New function.
1902 * tree.h (initializer_zerop): Declare.
1903 * varasm.c (assemble_variable): If we can emit bss, put zero
1904 initializers in the bss section.
1905
ca734b39
AM
19062002-03-02 Alan Modra <amodra@bigpond.net.au>
1907
1908 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
1909 like more than one symbol per .weak directive.
1910
49b72306
RH
19112002-03-01 Richard Henderson <rth@redhat.com>
1912
1913 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
1914 adjust argument_pointer by pretend_args_size.
1915 (ia64_va_start): Adjust va_start address by -pretend_args_size.
1916
fbf0fe41
KH
19172002-03-01 Kazu Hirata <kazu@hxi.com>
1918
1919 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
1920
0010687d
JH
1921Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
1922
1923 * toplev.c (rest_of_compilation): Delete dead jumptables before
1924 loop.
1925 * flow.c (delete_dead_jumptables): Make global.
1926 * rtl.h (delete_dead_jumptables): Declare.
1927
9429c84c
DE
19282002-03-01 David Edelsohn <edelsohn@gnu.org>
1929
1930 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
1931 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 1932 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 1933
f0b6f9a6
KH
19342002-03-01 Kazu Hirata <kazu@hxi.com>
1935
1936 * config/h8300/h8300-protos.h: Fix formatting.
1937 * config/h8300/h8300.c: Likewise.
1938 * config/h8300/h8300.h: Likewise.
1939
bc8db8a1
KH
19402002-03-01 Kazu Hirata <kazu@hxi.com>
1941
1942 * config/h8300/h8300.c (print_operand): Support 16-bit
1943 constant addresses.
1944 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
1945
32b069d3
RH
19462002-02-28 Richard Henderson <rth@redhat.com>
1947
1948 * expmed.c (store_bit_field): Prevent generation of CONCATs;
1949 pun complex values as integers; use gen_lowpart instead of
1950 gen_rtx_SUBREG.
1951 (extract_bit_field): Likewise.
1952
79c4e63f
AM
19532002-03-01 Alan Modra <amodra@bigpond.net.au>
1954 David Edelsohn <edelsohn@gnu.org>
1955
1956 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
1957 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
1958 (SUPPORTS_WEAK): Likewise.
1959 * output.h (add_weak): Add tree param.
1960 * varasm.c (add_weak): Likewise. Save decl.
1961 (struct weak_syms): Add decl field.
1962 (mark_weak_decls): New function.
1963 (init_varasm_once): ggc_add_root mark_weak_decls.
1964 (assemble_start_function): Use ASM_WEAKEN_DECL.
1965 (assemble_variable): Likewise.
1966 (assemble_alias): Likewise.
1967 (declare_weak): Pass decl to add_weak.
1968 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
1969 (remove_from_pending_weak_list): Declare and define for
1970 ASM_WEAKEN_DECL.
1971 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
1972 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
1973 * defaults.h (SUPPORTS_WEAK): Likewise.
1974 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
1975 .weak for code sym. Do emit .size for descriptor sym.
1976 (ASM_DECLARE_FUNCTION_SIZE): Define.
1977 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
1978 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
1979 .lglobl unless TARGET_XCOFF. Formatting fixes.
1980 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
1981 .weak for code sym.
1982 (HANDLE_PRAGMA_WEAK): Remove.
1983 (ASM_WEAKEN_LABEL): Remove.
1984 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
1985
6f30f1f1
JM
19862002-03-01 Jason Merrill <jason@redhat.com>
1987
1988 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
1989 (TARGET_EXPR_CLEANUP): New macro.
1990
7879b81e
SE
19912002-02-28 Steve Ellcey <sje@cup.hp.com>
1992
1993 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
1994 to take ptr_extend into account as third type of extension.
1995 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
1996 fields used by SUBREG_PROMOTED_UNSIGNED_P.
1997 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
1998 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
1999 * calls.c (precompute_arguments): Use new macro.
2000 (expand_call): Ditto.
2001 * combine.c (nonzero_bits): Ditto.
2002 (record_promoted_value): Ditto.
2003 * expr.c (store_expr): Ditto.
2004 (expand_expr): Ditto.
2005 * function.c (assign_parms): Ditto.
2006
42d579d8
AO
20072002-02-28 Alexandre Oliva <aoliva@redhat.com>
2008
2009 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
2010 override -shared and -shared-libgcc.
2011
e0054185
DB
20122002-02-28 David O'Brien <obrien@FreeBSD.org>
2013
2014 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
2015 of "ultrasparc".
2016 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
2017 to be broken.
2018
abda4f1c
RH
20192002-02-28 Richard Henderson <rth@redhat.com>
2020
2021 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
2022 4 cycle latency from MM producers.
2023 (ia64_internal_sched_reorder): Likewise with pipeline flush.
2024
c0f08649
JJ
20252002-02-28 Jakub Jelinek <jakub@redhat.com>
2026
2027 * mklibgcc.in: Don't use GNU make extension.
2028
f79f2651
NB
20292002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
2030
2031 * c-parse.in (STATIC): New terminal.
2032 (scspec): New non-terminal. Update productions accordingly.
2033 (program): Remove bogus ifc / end ifc.
2034 (array_declarator): Simplify production using STATIC.
2035
001e3fee
JM
20362002-02-28 Jim Meyering <meyering@lucent.com>
2037
2038 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
2039 \a still means TARGET_BELL.
2040
89076bb3
RH
20412002-02-28 Richard Henderson <rth@redhat.com>
2042
2043 * haifa-sched.c (sched_emit_insn): New.
2044 (schedule_block): Use last_scheduled_insn to track last insn.
2045 * sched-int.h (sched_emit_insn): Prototype.
2046 * config/ia64/ia64.c (last_issued): Remove.
2047 (ia64_variable_issue): Don't set it.
2048 (nop_cycles_until): Use sched_emit_insn.
2049
e3aaacf4
AM
20502002-02-28 Andrew MacLeod <amacleod@redhat.com>
2051
2052 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
2053 extended constants.
2054
7f473594
KH
20552002-02-28 Kazu Hirata <kazu@hxi.com>
2056
2057 * config/h8300/h8300.c: Fix formatting.
2058 * config/h8300/h8300.h: Likewise.
2059
b96c434c
MM
20602002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
2061
2062 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
2063 which may overwrite the high byte of the frame pointer.
2064
9b420a6a
BT
20652002-02-28 Bo Thorsen <bo@suse.de>
2066
2067 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
2068 (STARTFILE_SPEC): Add 64 bit files.
2069 (ENDFILE_SPEC): Likewise.
2070
6f30f1f1 20712002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
2072
2073 * c-decl.c (finish_function): Only warn about missing return
2074 statement with -Wreturn-type.
2075
70da1d03
JH
2076Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
2077
2078 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
2079
2080 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
2081 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
2082
38c1593d
JH
2083Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
2084
2085 * basic-block.h (BB_REACHABLE): Renumber.
2086 (BB_DIRTY, BB_NEW): New flags.
2087 (clear_bb_flags): Declare.
2088 (update_life_info_in_dirty_blocks): Declare.
2089 * cfg.c (clear_bb_flags): New function.
2090 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
2091 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
2092 reorder_insns, emit_insn_after): Mark block as dirty.
2093 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
2094 (update_life_info_in_dirty_blocks): New function.
2095 * recog.c (apply_change_group): Dirtify block.
2096
2097 * cse.c (cse_insn): Reorder emitting of jump insn to keep
2098 cfg consistent.
2099 * gcse.c (delete_null_pointer_checks): Likewise.
2100
2101 * toplev.c (dump_file_index): Move cse2 after bp,
2102 add DFI_null
2103 (dump_file_info): Similary.
2104 (rest_of_compilation): Avoid most of CFG rebuilds;
2105 do first if converision after null pointer checks, do cse2
2106 after branch prediction; avoid full liveness rebuild after
2107 initializing subregs.
2108 * invoke.texi (-d options): Document -du, renumber.
2109
2110 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
2111 (notice_new_block): Do not set BB_UPDATE_LIFE.
2112 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
2113 merge_blocks_move_successor_nojumps, merge_blocks,
2114 try_crossjump_to_edge): Likewise.
2115 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
2116 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
2117 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
2118 (merge_of_block): Do not use life_data_ok.
2119 (find_if_case_1): Do not use SET_UPDATE_LIFE.
2120 (if_convert): Use BB_DIRTY mechanizm to update life.
2121 * lcm.c (optimize_mode_switching): Update
2122 update_life_info_in_dirty_blocks
2123
63e1b1c4
NB
21242002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
2125
2126 * Makefile.in (integrate.o): Update.
2127 * c-decl.c (copy_lang_decl): Rename.
2128 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
2129 * integrate.c: Include langhooks.h.
2130 (copy_decl_for_inlining): Update to use langhook.
2131 * langhooks-def.h (lhd_do_nothing_t,
2132 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
2133 (LANG_HOOKS_INITIALIZER): Update.
2134 * langhooks.c (lhd_do_nothing_t): New.
2135 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
2136 * tree.h (copy_lang_decl): Remove.
2137objc:
2138 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
2139
f472fa29
AM
21402002-02-27 Andrew MacLeod <amacleod@redhat.com>
2141
ba31d94e 2142 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
2143 POST_DEC, and POST_MODIFY.
2144
273cf2e4
ZW
21452002-02-27 Zack Weinberg <zack@codesourcery.com>
2146
2147 * c-typeck.c (digest_init): Remove unused parameter; all
2148 callers changed.
2149
4e07d762
GK
21502002-02-27 Geoffrey Keating <geoffk@redhat.com>
2151
2152 * expmed.c (expand_shift): Correctly test for low part of a
2153 subreg.
2154
6bc627b3
UW
21552002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
2156
2157 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
2158 insn UIDs with insn addresses.
2159
f458d1d5
ZW
21602002-02-27 Zack Weinberg <zack@codesourcery.com>
2161
2162 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
2163 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
2164 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
2165 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
2166 gcc.c, toplev.c: Delete code implementing -traditional mode.
2167
2168 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
2169 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
2170 Document removal of -traditional mode for compilation, and
2171 remove documentation only relevant to that mode.
2172
2173 * config/nextstep.h, config/ptx4.h, config/svr4.h,
2174 config/convex/convex.h, config/d30v/d30v.h,
2175 config/i386/dgux.h, config/i386/osf1elf.h,
2176 config/i386/osfelf.h, config/i386/osfrose.h,
2177 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
2178 config/m68k/hp310.h, config/m88k/dgux.h,
2179 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
2180 config/m88k/m88k.h, config/m88k/openbsd.h,
2181 config/mips/abi64.h, config/mips/osfrose.h,
2182 config/mips/svr4-5.h, config/mips/svr4-t.h,
2183 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
2184 config/stormy16/stormy16.h: Remove all references to
2185 -traditional from target specs. Delete all mention of the
2186 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
2187 delete a couple of commented-out definitions of
2188 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
2189 to -traditional.
2190
2191 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
2192 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
2193
e0b3a8ff
ZW
21942002-02-27 Zack Weinberg <zack@codesourcery.com>
2195
2196 * mklibgcc.in: Don't use \n in a line subject to
2197 interpretation by echo.
2198
5c6a85b7
GS
21992002-02-27 Graham Stott <grahams@redhat.com>
2200
72b05af1
GS
2201 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
2202 Constify NAME.
2203
7d104885
GS
2204 * loop.c (prescan_loop): Handle PARALLEL.
2205
8ed805d2
GS
2206 * unroll.c (loop_iterations): Return 0 if the add_val for
2207 a BIV is REG.
2208
fd478a0a
GS
2209 * final.c (output_operand_lossage): Constify PFX_STR.
2210
5c6a85b7
GS
2211 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
2212
cd98ad03
JH
2213Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
2214
2215 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
2216 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
2217
639ae55b
JH
2218Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
2219
2220 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
2221
e808ec9c
NB
22222002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
2223
2224 * cpplex.c (_cpp_lex_token): Handle directives in macro
2225 arguments.
2226 * cpplib.c (_cpp_handle_directive): Save and restore state
2227 if parsing macro args when entering a directive.
2228 * cppmacro.c (collect_args): No need to handle directives
2229 in macro arguments.
2230 (enter_macro_context, replace_args): Use the original macro
2231 definition in case it was redefined whilst collecting arguments.
2232doc:
2233 * cpp.texi: Update.
2234
f585a356
DE
22352002-02-26 David Edelsohn <edelsohn@gnu.org>
2236
2237 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
2238 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
2239 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
2240 method on AIX.
2241 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
2242 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
2243 (load_toc_v4_PIC_2): Same.
2244
22452002-02-26 Alan Modra <amodra@bigpond.net.au>
2246
2247 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
2248
d699058e
RH
22492002-02-26 Richard Henderson <rth@redhat.com>
2250
2251 * config/alpha/alpha.md (ashldi_se): Re-enable.
2252
eadccfbb
RH
22532002-02-26 Richard Henderson <rth@redhat.com>
2254
2255 * config/alpha/alpha.c (alpha_encode_section_info): Examine
2256 MODULE_LOCAL_P; improve commentary.
2257
7080ada1
ZW
22582002-02-26 Zack Weinberg <zack@codesourcery.com>
2259
2260 * doc/cpp.texi: Clarify documentation of relationship between
2261 #line and #include.
2262
b42cff6b
KH
22632002-02-26 Kazu Hirata <kazu@hxi.com>
2264
2265 * config/h8300/h8300-protos.h: Update the prototype for
2266 compute_logical_op_length. Add the prototype for
2267 compute_logical_op_cc.
2268 * config/h8300/h8300.c (compute_logical_op_length): Figure out
2269 code from operands.
2270 (compute_logical_op_cc): New.
2271 * config/h8300/h8300.md: Combine all the logical op patterns
2272 in HImode and SImode. Use compute_logical_op_cc.
2273
831c4e87
KC
22742002-02-26 Kelley Cook <kelleycook@comcast.net>
2275
2276 * config/i386/i386.c (print_operand): Don't append ATT-style
2277 length suffixs to x87 opcodes when in Intel mode.
2278
ff88fe10
RS
22792002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
2280
2281 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
2282 (init_emit_once): Update calls.
2283 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
2284 (init_syntax_once): Prototype.
2285
d4108589
JDA
22862002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
2287
2288 * pa-linux.h (LIB_SPEC): Update definition.
2289 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
2290
e013f3c7
RH
22912002-02-26 Richard Henderson <rth@redhat.com>
2292
2293 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
2294 if we emitted a stop bit.
2295
9e944a16
JJ
22962002-02-26 Jakub Jelinek <jakub@redhat.com>
2297
2298 * configure.in (libgcc_visibility): Substitute.
2299 * configure: Rebuilt.
2300 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
2301 defined symbols .hidden.
2302
47bd70b5
JJ
23032002-02-26 Jakub Jelinek <jakub@redhat.com>
2304
2305 * attribs.c (c_common_attribute_table): Add visibility.
2306 (handle_visibility_attribute): New function.
2307 * varasm.c (assemble_visibility): New function.
2308 * output.h (assemble_visibility): Add prototype.
2309 * tree.h (MODULE_LOCAL_P): Define.
2310 * crtstuff.c (__dso_handle): Use visibility attribute.
2311 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
2312 for MODULE_LOCAL_P symbols too.
2313 * config/ia64/ia64.c (ia64_encode_section_info): Handle
2314 MODULE_LOCAL_P symbols the same way as local symbols.
2315 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
2316 into .sdata/.sbss by the user.
2317 * doc/extend.texi (Function Attributes): Document visibility
2318 attribute.
2319
6d73371a
JJ
23202002-02-26 Jakub Jelinek <jakub@redhat.com>
2321
2322 PR debug/5770
2323 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
2324 STRING_CST initializer spanning the whole variable without
2325 embedded zeros.
2326 If expand_expr returned MEM, don't use it.
2327
06e224f7
AO
23282002-02-26 Alexandre Oliva <aoliva@redhat.com>
2329
2330 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
2331 generate a die for the lexical block.
2332
40367e2d
KH
23332002-02-26 Kazu Hirata <kazu@hxi.com>
2334
2335 * config/h8300/h8300-protos.h: Add a prototype for
2336 compute_logical_op_length.
2337 * config/h8300/h8300.c (compute_logical_op_length): New.
2338 * config/h8300/h8300.md (anonymous logical patterns): Use
2339 compute_logical_op_length for length.
2340
0e98f924
AH
23412002-02-26 Aldy Hernandez <aldyh@redhat.com>
2342
831c4e87
KC
2343 * dwarf2out.c (modified_type_die): Do not call type_main_variant
2344 for vectors.
2345 (gen_type_die): Same.
0e98f924 2346
831c4e87 2347 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 2348
a50cfd52
DE
23492002-02-26 Daniel Egger <degger@fhm.edu>
2350
831c4e87
KC
2351 * config/rs6000/rs6000.md: Swap define_insn attributes to
2352 fix incorrect generation of merge high instructions instead
2353 of merge low.
a50cfd52 2354
b7997284
AH
23552002-02-26 Aldy Hernandez <aldyh@redhat.com>
2356
831c4e87
KC
2357 * c-typeck.c (really_start_incremental_init): Use
2358 bitsize_zero_node for vectors.
b7997284 2359
376aec5d
AH
23602002-02-26 Aldy Hernandez <aldyh@redhat.com>
2361
831c4e87
KC
2362 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
2363 ("*set_vrsave_internal"): Same.
376aec5d 2364
3b40e71b
RH
23652002-02-25 Richard Henderson <rth@redhat.com>
2366
2367 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
2368 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
2369
232b8f52
JJ
23702002-02-25 Jakub Jelinek <jakub@redhat.com>
2371
2372 PR target/5755
2373 * config/i386/i386.c (ix86_return_pops_args): Only pop
2374 fake structure return argument if it was passed on the stack.
2375
67282790
JM
23762002-02-25 Jason Merrill <jason@redhat.com>
2377
2378 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
2379 RESULT_DECL.
2380
5c181756
AO
23812002-02-25 Alexandre Oliva <aoliva@redhat.com>
2382
2383 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
2384 link with shared_name only.
2385 * doc/invoke.texi (Link Options): Document new behavior.
2386
6786d201
AH
23872002-02-25 Aldy Hernandez <aldyh@redhat.com>
2388
831c4e87 2389 * c-typeck.c (push_init_level): Handle vectors.
6786d201 2390
7d6040e8
AO
23912002-02-25 Alexandre Oliva <aoliva@redhat.com>
2392
2393 * config/sparc/sparc.c (const64_high_operand): Zero-extend
2394 operands of SPARC_SETHI_P.
2395 (input_operand): Likewise.
2396 (sparc_emit_set_const32): Likewise.
2397 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
2398 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
2399 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
2400 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
2401 (movdi_insn_sp64_vis): Likewise.
2402 (movdi split, movdf split): Use SETHI32.
2403 * doc/md.texi: Document SPARC constraints L, M and N.
2404
b188f760
AH
24052002-02-25 Aldy Hernandez <aldyh@redhat.com>
2406
831c4e87
KC
2407 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
2408 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 2409
831c4e87
KC
2410 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
2411 gen_get_vrsave_internal.
b188f760 2412
8041889f
RK
2413Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2414
2415 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
2416
a47ed310
NB
24172002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
2418
2419 * cpplex.c (cpp_interpret_charconst): Get signedness or
2420 otherwise of wide character constants correct.
2421 * cppexp.c (lex): Get signedness of wide charconsts correct.
2422
cb8f73be
RK
2423Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2424
2425 * optabs.c (widen_operand): Only call convert_modes for
2426 promoted SUBREG if signedness matches.
2427 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
2428
2450e0b8
NB
24292002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
2430
2431 * cpplib.c (glue_header_name): Use local buffer to build up
2432 header name.
2433
70b6aaed
NB
24342002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
2435
2436 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
2437
6be580c7
KH
24382002-02-23 Kazu Hirata <kazu@hxi.com>
2439
2440 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
2441 H8/300[HS] separately.
2442 * config/h8300/h8300.md: Remove the early clobber constraint
2443 from bit field patterns.
2444
35dad9f1
KH
24452002-02-23 Kazu Hirata <kazu@hxi.com>
2446
2447 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
2448 register_operand.
2449 (mulhisi3): Likewise.
2450 (umulqisi3): Likewise.
2451 (umulhisi3): Likewise.
2452
ab8e2228
NB
24532002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
2454
2455 * cppinit.c (output_deps): Correct test for stdout output.
2456 (init_dependency_output): Cure warning.
2457
ac6f8a15
RK
2458Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2459
2460 * expr.c (store_expr): When converting expression to promoted
2461 equivalent type, allow using SUBREG_REG of TARGET as the target
2462 of the expansion of EXP.
2463 * loop.c (basic_induction_var, case SUBREG): Always look inside.
2464 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
2465 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
2466 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
2467 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
2468
f282ffb3
JM
24692002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
2470
2471 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
2472 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
2473 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
2474
44c5edc0
JJ
24752002-02-23 Jakub Jelinek <jakub@redhat.com>
2476
2477 PR optimization/5747
2478 * loop.c (scan_loop): Update reg info if move_movables created new
2479 pseudos.
2480
f98e43c0
DE
24812002-02-23 David Edelsohn <edelsohn@gnu.org>
2482
2483 * gcc.c (init_gcc_spec): Revert last change.
2484
e72247f4
DE
24852002-02-23 David Edelsohn <edelsohn@gnu.org>
2486
2487 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
2488 gpc_reg_operand constraint.
2489
24902002-02-23 Alan Modra <amodra@bigpond.net.au>
2491
2492 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
2493 Simplify comparison of `low'.
2494 (add_operand): Fix formatting.
2495 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 2496 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
2497 (rs6000_stack_info): Remove redundant test setting push_p.
2498 (output_toc): Fix formatting.
2499 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
2500 cc_reg_not_cr0_operand constraint.
2501 (booldi3, boolcdi3 splitters): Same.
2502
a5c30531
AH
25032002-02-23 Aldy Hernandez <aldyh@redhat.com>
2504
831c4e87 2505 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 2506
43710f9f
DE
25072002-02-22 David Edelsohn <edelsohn@gnu.org>
2508
2509 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
2510 gcc invoked with -shared-libgcc.
2511
3256b817
JJ
25122002-02-22 Jakub Jelinek <jakub@redhat.com>
2513
2514 PR c++/5748
2515 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
2516 decl if any of elements was TREE_USED.
2517
9e0625a3
AO
25182002-02-22 Alexandre Oliva <aoliva@redhat.com>
2519
2520 * config/sparc/sol2.h: Don't include sys/mman.h.
2521 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
2522 (arith_4096_operand): Don't throw high bits away.
2523 (const64_operand): Take sign extension of CONST_INTs into account.
2524 (const64_high_operand, sparc_emit_set_const32): Likewise.
2525 (GEN_HIGHINT64): Likewise.
2526 (sparc_emit_set_const64_quick1): Likewise.
2527 (const64_is_2insns): Likewise.
2528 (print_operand): Use trunc_int_for_mode for sign extension.
2529 * config/sparc/sparc.h (SMALL_INT32): Likewise.
2530 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
2531 chars. Assume CONST_INT is already properly sign-extended.
2532 (movdi split): Sign-extend each SImode part.
2533 (andsi3 split): Don't mask high bits off, so that result
2534 remains properly sign-extend.
2535 (iorsi3 split): Likewise.
2536 (xorsi3 split): Likewise.
2537
54fec3d5
RS
25382002-02-22 Richard Sandiford <rsandifo@redhat.com>
2539
2540 * fold-const.c (fold): Fix typo in comments.
2541
667ada9b
DN
25422002-02-21 Diego Novillo <dnovillo@redhat.com>
2543
2544 * Makefile.in (langhooks.o): Update dependencies.
2545
29ac78d5
DN
25462002-02-21 Diego Novillo <dnovillo@redhat.com>
2547
2548 * langhooks.c: Include flags.h.
2549
6aa77e6c
AH
25502002-02-21 Aldy Hernandez <aldyh@redhat.com>
2551
2552 * testsuite/gcc.dg/attr-alwaysinline.c: New.
2553
2554 * c-common.c (c_common_post_options): Set inline trees by
2555 default.
2556
2557 * doc/extend.texi (Function Attributes): Document always_inline
2558 attribute.
2559 Update documentation about inlining when not optimizing.
2560
2561 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
2562
2563 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
2564 unless DECL_ALWAYS_INLINE.
2565
2566 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
2567 unless DECL_ALWAYS_INLINE.
2568 (c_disregard_inline_limits): Disregard if always_inline set.
2569
2570 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
2571 Disregard if always_inline set.
2572 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
2573 unless DECL_ALWAYS_INLINE.
2574
2575 * attribs.c (handle_always_inline_attribute): New.
2576 (c_common_attribute_table): Add always_inline.
2577
2578 * config/rs6000/altivec.h: Add prototypes for builtins
2579 requiring the always_inline attribute.
2580
c410d49e
EC
25812002-02-21 Eric Christopher <echristo@redhat.com>
2582
2583 * expmed.c (store_bit_field): Try to simplify the subreg
2584 before generating a new one when when the mode size of
2585 value is less than maxmode.
2586
e3c8ea67
RH
25872002-02-21 Richard Henderson <rth@redhat.com>
2588
2589 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
2590 than gen_rtx_PLUS to form the sum.
2591 * explow.c (force_reg): Rearrange to not allocate new pseudo
2592 when force_operand returns a register.
2593 * expr.c (expand_assignment): Allow offset_rtx expansion to
2594 return a sum. Do not force addresses into registers.
2595 (expand_expr): Likewise.
2596 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
2597 to canonicalize arithmetic that didn't simpify.
2598 (simplify_plus_minus): New argument force; update
2599 all callers. Don't split CONST unless we can do something with it,
2600 and wouldn't lose the constness of the operands.
2601
2602 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
2603 that we generated earlier.
2604
c1a046e5
TT
26052002-02-21 Tom Tromey <tromey@redhat.com>
2606
2607 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2608 (output_line_info): Use constant `1', with a long explanatory
2609 comment.
2610 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
2611
31fbaad4
R
2612Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
2613
2614 * jump.c (redirect_jump): If old label has no UID, don't try to
2615 delete it.
2616
a7f52356
R
2617Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
2618
2619 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
2620 If input is constant, do shifts at compile time.
2621
924fcc4e
JM
26222002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
2623
2624 * doc/extend.texi: Fix some more overfull hboxes.
2625
e5a20888
JJ
26262002-02-21 Jakub Jelinek <jakub@redhat.com>
2627
2628 PR optimization/4994
2629 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
2630 register moves.
2631
26322002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
2633
2634 PR c++/4574
2635 * expr.h (expand_and): Add mode argument.
2636 * expmed.c (expand_and): Add mode argument.
2637 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
2638 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
2639 * except.c (expand_builtin_extract_return_addr): Likewise.
2640 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
2641 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
2642 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
2643 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
2644 * config/c4x/c4x.md: Use GEN_INT (x) instead of
2645 gen_rtx (CONST_INT, VOIDmode, x).
2646
7133e992
JJ
26472002-02-21 Jakub Jelinek <jakub@redhat.com>
2648
2649 PR c/4697:
2650 * stmt.c (warn_if_unused_value): Move side effects test once more.
2651
e2ec05a6
TG
26522002-02-20 Torbjorn Granlund <tege@swox.com>
2653
2654 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 2655 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 2656
9dd791c8
AO
2657Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
2658
2659 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
2660 SUBREG or ZERO_EXTEND.
2661
7ab56274
R
2662Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
2663
2664 * sh.h (current_function_anonymous_args): Remove.
2665 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
2666 of current_function_varargs and current_function_stdarg is set.
2667 * sh.c (sh_expand_prologue): Check current_function_varargs /
2668 current_function_stdarg / TARGET_SH5 instead of
2669 current_function_anonymous_args.
2670
2671 * sh64.h (TARGET_VERSION): Define.
2672
b1765bde
DE
26732002-02-20 David Edelsohn <edelsohn@gnu.org>
2674
2675 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
2676 VRSAVE_REGNO on TARGET_ALTIVEC.
2677
26782002-02-20 Alan Modra <amodra@bigpond.net.au>
2679
2680 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
2681 bits of SImode const_int.
2682 (includes_rshift_p): Likewise.
2683 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 2684 mode.
b1765bde
DE
2685 (rs6000_output_function_epilogue): Pad traceback table to word.
2686 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
2687 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
2688 mask64_operand with correct mode.
b1765bde
DE
2689 (FUNCTION_ARG_REGNO_P): Correct parentheses.
2690
149d6f9e
JJ
26912002-02-20 Jakub Jelinek <jakub@redhat.com>
2692
2693 PR debug/4461
2694 * varasm.c (get_pool_constant_mark): New.
2695 * rtl.h (get_pool_constant_mark): Add prototype.
2696 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
2697 be represented if it has not been output.
2698
4161da12
AO
26992002-02-20 Alexandre Oliva <aoliva@redhat.com>
2700
2701 * combine.c (do_SUBST): Sanity check substitutions of
2702 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
2703 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
2704 CONST_INT into its operand.
2705 (known_cond): Likewise, for ZERO_EXTEND.
2706 * simplify-rtx.c (simplify_unary_operation): Fix condition to
2707 allow for simplification of wide modes. Reject CONST_INTs in
2708 ZERO_EXTEND when their actual mode is not given.
2709
3704ef74
AO
27102002-02-20 Alexandre Oliva <aoliva@redhat.com>
2711
2712 * c-decl.c (pushdecl): If no global declaration is found for an
2713 extern declaration in block scope, try a limbo one.
2714
7552da58
JJ
27152002-02-20 Jakub Jelinek <jakub@redhat.com>
2716
2717 PR c++/4401
2718 * c-common.c (pointer_int_sum): Moved from...
2719 * c-typeck.c (pointer_int_sum): ...here.
2720 * c-common.h (pointer_int_sum): Add prototype.
2721
00fae85d
JJ
27222002-02-20 Jakub Jelinek <jakub@redhat.com>
2723
2724 PR c++/5713
2725 * c-decl.c (duplicate_decls): Return 0 if issued error about
2726 redeclaration.
2727
4636c87e
JJ
27282002-02-20 Roger Sayle <roger@eyesopen.com>
2729 Jakub Jelinek <jakub@redhat.com>
2730
2731 PR c/4389
2732 * tree.c (host_integerp): Ensure that the constant integer is
2733 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
2734 when pos is zero or non-zero respectively. Clarify comment.
2735 * c-format.c (check_format_info_recurse): Fix host_integerp
2736 usage; the pos argument should be zero when assigning to a
2737 signed HOST_WIDE_INT.
2738
59bef189
RH
27392002-02-20 Richard Henderson <rth@redhat.com>
2740
2741 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
2742 of the operand, rather than assuming TImode.
2743 (ix86_expand_binop_builtin): Cope with commutative patterns
2744 using nonimmediate_operand for both operands.
2745 (ix86_expand_timode_binop_builtin): Likewise.
2746 (ix86_expand_store_builtin): Validate operand 1.
2747 (ix86_expand_unop1_builtin): Likewise.
2748
9338ffe6 27492002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 2750
9338ffe6
PB
2751 PR 5705
2752 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
2753
f322b423
RH
27542002-02-20 Richard Henderson <rth@redhat.com>
2755
2756 PR c/5615
2757 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
2758
d94084f7
TT
27592002-02-20 Tom Tromey <tromey@redhat.com>
2760
2761 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2762 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2763 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2764 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2765 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
2766 unconditionally.
2767
37fa124a
AM
2768Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
2769
2770 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
2771 for (const_int 0) in X not just INTVAL.
2772
6e5bb5ad
JM
27732002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
2774
2775 * doc/extend.texi: Avoid or reduce overfull hboxes.
2776
420e7dfa
DN
27772002-02-20 Diego Novillo <dnovillo@redhat.com>
2778
2779 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
2780 operations if the field does not start at a mode boundary.
2781
1b7a2af6
JS
27822001-02-20 Joel Sherrill <joel@OARcorp.com>
2783
2784 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
2785 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
2786 Also done for -Acpu and -Amachine.
2787
56cd5b95
NB
27882002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
2789
2790 * cppinit.c (init_dependency_output): Take deps output file
2791 from -o if none given with -MF. Suppress normal output.
c410d49e 2792 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
2793 * doc/cpp.texi, doc/invoke.texi: Update.
2794
042cdf71
ZW
27952002-02-19 Zack Weinberg <zack@codesourcery.com>
2796
2797 * toplev.c (output_quoted_string): Write unprintable
2798 characters with octal escapes.
2799
c1f11548
DE
28002002-02-19 David Edelsohn <edelsohn@gnu.org>
2801
2802 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
2803 really_call_used[VRSAVE_REGNO] if not Altivec.
2804
28052002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 2806
c1f11548
DE
2807 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
2808 MODE_MASK.
2809 (constant_pool_expr_1): Fix formatting.
2810 (rs6000_legitimize_reload_address): Likewise.
2811
c964d90e
RK
2812Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2813
2814 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
2815 now that we have one.
2816
ae34ac46
ZW
28172002-02-19 Zack Weinberg <zack@codesourcery.com>
2818
2819 * tree.h (struct tree_common): Remove aux. Add unused_0 at
2820 end of first block of bitfields (which was only seven bits);
2821 rename dummy to unused_1; remove comment which is no longer true.
2822
293c28ee
GS
28232002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
2824
2825 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
2826
7b8781c8
PB
28272002-02-19 Philip Blundell <pb@nexus.co.uk>
2828
0cb6c58d 2829 PR 5399
7b8781c8
PB
2830 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
2831 if generating PIC.
2832
2833 PR 5054
2834 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
2835 arm_is_longcall_p rather than inspecting call-type cookie
2836 directly.
2837 (call_value_insn) [TARGET_THUMB]: Likewise.
2838
5c464583
GS
28392002-02-19 Graham Stott <grahams@redhat.com>
2840
2841 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
2842
71c061e6
DE
28432002-02-19 David Edelsohn <edelsohn@gnu.org>
2844
2845 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
2846 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 2847 (FP_SAVE_INLINE): Delete.
71c061e6
DE
2848
2849 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
2850 * config/rs6000/eabi.asm: Remove ABI save restore routines.
2851 * config/rs6000/t-ppccomm: Build crtsavres.o.
2852 * config/rs6000/crtsavres.asm: New file.
2853
3a7731fd
PB
28542002-02-19 Philip Blundell <philb@gnu.org>
2855
2856 * config/arm/arm.c (use_return_insn): Don't reject interrupt
2857 functions.
2858 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
2859 (output_return_instruction): Allow interrupt functions to return with
2860 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
2861 (arm_expand_prologue): Subtract 4 before stacking LR in an
2862 interrupt function.
2863
14f583b8
PB
28642002-02-19 Philip Blundell <pb@nexus.co.uk>
2865
2866 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
2867 decl, not just FUNCTION_DECL.
2868 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
2869 (arm_assemble_integer): Likewise.
2870 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
2871 marked local.
c410d49e 2872
4cb7482c
MG
28732002-02-19 matthew green <mrg@eterna.com.au>
2874
2875 * config.gcc (sparc-*-netbsdelf*): Enable target.
2876 (sparc64-*-netbsd*): New target.
2877 * config/sparc/netbsd-elf.h: New file.
2878 * config/sparc/t-netbsd64: New file.
2879
2df3a718
GS
28802002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
2881
2882 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
2883
77f6c1eb
RS
28842002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
2885
2886 * doc/invoke.texi: explicitly list the style guidelines that
2887 -Weffc++ checks for.
2888
fd973d56
JH
2889Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
2890
2891 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
2892
30518e45
NB
28932002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
2894
2895 PR other/5718
2896 * gcc.c (cpp_unique_options): Treat -o as indicating object file
2897 only if not -E. If -E, pass -o through to the preprocessor.
2898
39ea5704
KH
28992002-02-19 Kazu Hirata <kazu@hxi.com>
2900
2901 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
2902 register number with an appropriate macro.
2903
7355dba7
BM
29042002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2905
2906 * doc/rtl.texi (Constants): Close @code tag.
2907
91c8aa9e
AH
29082002-02-19 Aldy Hernandez <aldyh@redhat.com>
2909
2910 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
2911 ("mmx_uavgv4hi3"): Same.
2912 ("pmulhrwv4hi3"): Same.
2913
2914 * tree-inline.c (walk_tree): Handle vectors.
2915
2916 * c-common.c (constant_expression_warning): Handle vectors.
2917 (overflow_warning): Same.
2918
2919 * sched-deps.c (sched_analyze_2): Handle vectors.
2920
2921 * rtlanal.c (rtx_unstable_p): Handle vectors.
2922 (rtx_varies_p): Same.
2923 (count_occurrences): Same.
2924 (regs_set_between_p): Same.
2925 (modified_between_p): Same.
2926 (modified_in_p): Same.
2927 (volatile_insn_p): Same.
2928 (volatile_refs_p): Same.
2929 (side_effects_p): Same.
2930 (may_trap_p): Same.
2931 (inequality_comparisons_p): Same.
2932 (replace_regs): Same.
2933 (computed_jump_p_1): Same.
2934
2935 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
2936 argument.
2937 (inner_mode_array): New.
2938 (copy_rtx): Handle vectors.
2939 (copy_most_rtx): Same.
2940 (rtx_equal_p): Same.
2941 (get_mode_alignment): Adjust for vectors.
2942
2943 * resource.c (mark_referenced_resources): Handle vectors.
2944 (mark_set_resources): Same.
2945
2946 * reload1.c (eliminate_regs): Handle vectors.
2947 (elimination_effects): Same.
2948 (scan_paradoxical_subregs): Same.
2949
2950 * reload.c (subst_reg_equivs): Handle vectors.
2951
2952 * regrename.c (scan_rtx): Handle vectors.
2953
2954 * regclass.c (reg_scan_mark_refs): Handle vectors.
2955
2956 * recog.c (find_single_use_1): Handle vectors.
2957
2958 * local-alloc.c (equiv_init_varies_p): Handle vectors.
2959 (contains_replace_regs): Same.
2960 (memref_referenced_p): Same.
2961
2962 * integrate.c (copy_rtx_and_substitute): Handle vectors.
2963 (subst_constants): Same.
2964
2965 * genattrtab.c (attr_copy_rtx): Handle vectors.
2966 (encode_units_mask): Same.
2967 (clear_struct_flag): Same.
2968 (count_sub_rtxs): Same.
2969
2970 * gcse.c (want_to_gcse_p): Handle vectors.
2971 (oprs_unchanged_p): Same.
2972 (hash_expr_1): Same.
2973 (oprs_not_set_p): Same.
2974 (expr_killed_p): Same.
2975 (compute_transp): Same.
2976 (store_ops_ok): Same.
2977
2978 * function.c (purge_addressof_1): Do not allow paradoxical subregs
2979 of vectors.
2980 (fixup_var_refs_1): Same.
2981 (instantiate_virtual_regs_1): Same.
2982
2983 * fold-const.c (operand_equal_p): Handle vectors.
2984 (fold): Same.
2985 (rtl_expr_nonnegative_p): Same.
2986
2987 * flow.c (mark_used_regs): Handle vectors.
2988
2989 * df.c (df_uses_record): Handle vectors.
2990
2991 * cselib.c (cselib_subst_to_values): Handle vectors.
2992 (cselib_mem_conflict_p): Same.
2993 (hash_rtx): Same.
2994
2995 * cse.c (canon_reg): Handle vectors.
2996 (fold_rt): Same.
2997 (cse_process_notes): Same.
2998 (count_reg_usage): Same.
2999 (canon_hash): Same.
3000
3001 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
3002
3003 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
3004
3005 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
3006 (gen_rtx): Handle CONST_VECTOR.
3007 (gen_const_vector_0): New.
3008 (copy_rtx_if_shared): CONST_VECTORs can be shared.
3009 (reset_used_flags): Same.
3010 (copy_insn_1): Same.
3011 (initializer_constant_valid_p): Handle VECTOR_CST.
3012
3013 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
3014
3015 * doc/rtl.texi (Constants): Document const_vector.
3016 (CONST0_RTX): Update for vectors.
3017 (RTL sharing): Same.
3018
3019 * print-tree.c (print_node): Add case for VECTOR_CST.
3020
3021 * tree.h (TREE_VECTOR_CST_ELTS): New.
3022 (struct tree_vector): New.
3023 (union tree_node): Add vector node.
3024 (build_vector): Add prototype.
3025
3026 * tree.def (VECTOR_CST): New.
3027
3028 * tree.c (build_vector): New.
3029
3030 * expmed.c (make_tree): Handle CONST_VECTOR.
3031
3032 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
3033 (CONST_VECTOR_ELT): New.
3034 (CONST_VECTOR_NUNITS): New.
3035
3036 * machmode.h (GET_MODE_INNER): New.
3037 (DEF_MACHMODE): Accept 8th arg.
3038
3039 * machmode.def: Add 8th argument for vector inner mode.
3040 Add inner vector modes for vectors.
3041
3042 * rtl.def (VEC_CONST): Remove.
3043 (CONST_VECTOR): New.
3044
3045 * expr.c (clear_storage): Allow vectors.
3046 (is_zeros_p): Handle VECTOR_CST.
3047
3048 * varasm.c (output_constant_pool): Handle vectors.
3049 (rtx_const): Add veclo and vechi fields.
3050 (kind): Add RTX_VECTOR.
3051 (decode_rtx_const): Add case for vector.
3052
3053 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 3054
91c8aa9e
AH
3055 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
3056 constants. Force easy vector constants into memory.
3057 (easy_vector_constant): New.
3058 (emit_easy_vector_constant): New.
3059 (rs6000_legitimize_reload_address): Do not generate bad reloads on
3060 darwin.
3061
3062 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
3063 instruction does.
3064 ("altivec_lvxl"): Same.
3065 (altivec_lvebx): Same.
3066 (altivec_lvehx): Same.
3067 (altivec_lvewx): Same.
3068 ("*movv4si_const0"): New.
3069 ("*movv4sf_const0"): New.
3070 ("*movv8hi_const0"): New.
3071 ("*movv16qi_const0"): New.
3072
d4d6d0ce
KH
30732002-02-18 Kazu Hirata <kazu@hxi.com>
3074
3075 * config/h8300/h8300.c (notice_update_cc): Use
3076 cc_status.value2.
3077
4915d3aa
KH
30782002-02-18 Kazu Hirata <kazu@hxi.com>
3079
3080 * config/h8300/h8300.md (divmod patterns): Change the
3081 constraints for operands[1] to register_operand.
3082
82be00ee
KH
30832002-02-18 Kazu Hirata <kazu@hxi.com>
3084
3085 * config/h8300/h8300-protos.h: Remove the prototype for
3086 p_operand.
3087 * config/h8300/h8300.c (p_operand): Remove.
3088 * config/h8300/h8300.md: Replace p_operand with
3089 const_int_operand.
3090
1768c26f
PB
30912002-02-18 Philip Blundell <pb@nexus.co.uk>
3092
3093 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
3094 comment.
3095 (output_return_instruction): Allow use of LDR to unstack
3096 return addresss even for interrupt handlers or when
3097 interworking. If compiling for ARMv5, use interworking-safe
3098 return instructions by default. Remove duplicated code and
3099 lengthy "strcat" sequences.
3100
ccd84f51
FS
31012002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3102
3103 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
3104 (LINK_EH_SPEC): Define.
3105 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
3106
2c153108
UW
31072002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
3108
3109 * config/s390/s390.c (s390_emit_prologue): Do not set the
3110 frame_related flag for call-clobbered registers.
3111
e95d6b23
JH
3112Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
3113
3114 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
3115 (construct_container): Fix handling of SSE operands.
3116 (ix86_expand_builtin): Fix handling of 64bit pointers.
3117 (mmx_maskmovq_rex): New pattern.
3118
c43a12b5
JH
3119Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
3120
3121 * regrename.c (kill_set_value): Handle subregs properly.
3122
aeb85a15
DB
31232002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
3124
3125 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 3126 from objc_class_name.
aeb85a15 3127
a615ca3e
RH
31282002-02-17 Richard Henderson <rth@redhat.com>
3129
3130 * config/alpha/alpha.c (some_small_symbolic_operand,
3131 some_small_symbolic_operand_1, split_small_symbolic_operand,
3132 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
3133 Handle small SYMBOL_REFs anywhere, not just inside memories.
3134 * config/alpha/alpha-protos.h: Update.
3135 * config/alpha/alpha.h (PREDICATE_CODES): Update.
3136 * config/alpha/alpha.md (small symbolic operand splitter): Update.
3137
ddb28441
RM
31382002-02-17 Roland McGrath <roland@frob.com>
3139
3140 * config.gcc (powerpc-*-gnu-gnualtivec*,
3141 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
3142 * config/rs6000/gnu.h: New file.
3143 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
3144 Grok "gnu" in rs6000_abi_name.
3145 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
3146 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
3147 Grok -mcall-gnu analogous to -mcall-linux et al.
3148 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
3149 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
3150 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
3151
f6f8ada3
JJ
31522002-02-17 Jakub Jelinek <jakub@redhat.com>
3153
3154 PR c/3444:
3155 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
3156 shortening.
3157
e16b32fc
PT
31582002-02-17 Philipp Thomas <pthomas@suse.de>
3159
3160 * config/cris/cris.h: Undefine STARTFILE_SPEC and
3161 ENDFILE_SPEC before (re)defining them.
3162
f9477efd
KH
31632002-02-17 Kazu Hirata <kazu@hxi.com>
3164
3165 * config/h8300/h8300.c: Fix formatting.
3166 * config/h8300/h8300.h: Likewise.
3167
404ae494
PT
31682002-02-17 Philipp Thomas <pthomas@suse.de>
3169
3170 * doc/tm.texi: Explain why empty strings should not be
3171 marked for translation.
3172
a52453cc
PT
31732002-02-17 Philipp Thomas <pthomas@suse.de>
3174
3175 * final.c (output_operand_lossage): Changed to accept
3176 printf style arguments. Change calls where necessary.
3177 * output.h (output_operand_lossage): Change declaration
3178 accordingly. Update copyright.
3179 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
3180 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
3181 Update copyright date where necessary.
c410d49e 3182
a52453cc
PT
3183 * config/i386/i386.c (print_operand): Likewise. Remove use of
3184 sprintf.
3185
3186 * config/cris/cris.c (cris_operand_lossage): Likewise.
3187 Rename parameter so that exgettext recognizes it as
3188 translatable message.
3189 (LOSE_AND_RETURN): Rename parameter to msgid.
3190
1c11abc4
KH
31912002-02-17 Kazu Hirata <kazu@hxi.com>
3192
3193 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
3194 hard coded register number with an appropriate macro.
3195 (HARD_REGNO_MODE_OK): Likewise.
3196 (ARG_POINTER_REGNUM): Likewise.
3197 (STATIC_CHAIN_REGNUM): Likewise.
3198 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
3199 * config/h8300/h8300.md (define_constants): Define more
3200 register numbers.
3201
a5d17ff3
PT
32022002-02-17 Philipp Thomas <pthomas@suse.de>
3203
3204 * config/i386/i386.h: Don't mark empty strings for translation.
3205
1a7289c4
L
32062002-02-16 H.J. Lu <hjl@gnu.org>
3207
3208 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3209
afb58288
ZW
32102002-02-16 Zack Weinberg <zack@codesourcery.com>
3211
3212 * cppinit.c (merge_include_chains): Check for brack being
3213 NULL before attempting to merge it with qtail.
3214
d2af4dbd
AC
32152002-02-16 Andrew Cagney <ac131313@redhat.com>
3216
3217 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
3218 DBX_DEBUG.
3219
2e1ed1e3
JDA
32202002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3221
3222 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
3223
604c75b2
JDA
32242002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3225
3226 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
3227 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
3228 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
3229
1a42b072
RK
3230Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3231
7303604f 3232 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
3233 now only if !TARGET_FIX.
3234 (*movsi_nt_vms_fix): New pattern.
3235
c2ea1ac6
DR
32362002-02-16 Douglas B Rupp <rupp@gnat.com>
3237
3238 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
3239 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
3240 (alpha_sa_mask, alpha_sa_size): Reflect above change.
3241 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
3242 (alpha_start_function, alpha_expand_epilogue): Likewise.
3243 (unicosmk_gen_dsib): Likewise.
3244
725e58b1
RK
3245Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3246
3247 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
3248
13e58269
UW
32492002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
3250
c410d49e 3251 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
3252 check_and_change_labels, s390_final_chunkify): Delete.
3253 (s390_split_branches, s390_chunkify_pool): New functions.
3254 (s390_function_prologue): Call them.
c410d49e 3255
13e58269
UW
3256 * config/s390/s390.h (S390_REL_MAX): Delete.
3257 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
3258
c410d49e 3259 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
3260 attribute calculation.
3261
3262
34d1b01d
DE
32632002-02-15 David Edelsohn <edelsohn@gnu.org>
3264
3265 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
3266 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
3267
be5cc51a
JDA
32682002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
3269
3270 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
3271 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3272 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
3273
ee96ce90
RS
32742002-02-15 Richard Sandiford <rsandifo@redhat.com>
3275
3276 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
3277
05fa709d
RS
32782002-02-15 Richard Sandiford <rsandifo@redhat.com>
3279
3280 * reload.c (find_dummy_reload): Check that an output register
3281 is valid for its mode.
3282
4606272b
AO
32832002-02-14 Alexandre Oliva <aoliva@redhat.com>
3284
9a360704
AO
3285 * combine.c (known_cond): After replacing the REG of a SUBREG, try
3286 to simplify it.
3287
4606272b
AO
3288 * function.c (assign_parms): Demote promoted argument passed by
3289 transparent reference.
3290
e62d89a1
JS
32912001-02-14 Joel Sherrill <joel@OARcorp.com>
3292
3293 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
3294 -Acpu() and -Amachine() to eliminate warnings.
3295
6c4cf695
UW
32962002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
3297
3298 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
3299
037f11ef
KH
33002002-02-14 Kazu Hirata <kazu@hxi.com>
3301
3302 * config/h8300/h8300-protos.h: Update the prototype for
3303 const_costs.
3304 * config/h8300/h8300.c (const_costs): Treat SET as a little
3305 more expensive operation.
3306 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
3307 reference to const_costs.
3308
fdc76b09
HPN
33092002-02-14 Hans-Peter Nilsson <hp@axis.com>
3310
3311 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
3312
d76e6800
JJ
33132002-02-14 Jakub Jelinek <jakub@redhat.com>
3314
3315 PR c/5503:
3316 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
3317 use arguments from newtype.
3318
5ae590d7
EC
33192002-02-13 Eric Christopher <echristo@redhat.com>
3320
3321 * config/mips/mips.c (override_options): Add check for march/mipsX
3322 on the same command line. Fix error message in cpu processing.
3323 Remove architecture and ISA checks.
3324
b8513691
AH
33252002-02-14 Aldy Hernandez <aldyh@redhat.com>
3326
831c4e87 3327 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 3328
831c4e87 3329 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 3330
78c875e8
AH
33312002-02-14 Aldy Hernandez <aldyh@redhat.com>
3332
831c4e87
KC
3333 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
3334 alternatives.
3335 ("*movv8hi_internal1"): Same.
3336 ("*movv16qi_internal1"): Same.
3337 ("*movv4sf_internal1"): Same.
78c875e8 3338
831c4e87
KC
3339 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
3340 not push_reload for altivec modes.
78c875e8 3341
d76e6800 33422002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
3343
3344 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
3345 all RTEMS targets including removal of #includes from config/*/rtems*.h
3346 file and adding them to tm_file setting. Added xm_defines=POSIX to
3347 many targets.
3348 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
3349 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
3350 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
3351 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
3352 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
3353 config/m68k/rtemself.h: Ditto.
3354 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
3355 config/mips/rtems64.h: Ditto.
3356 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
3357 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
3358 Ditto.
3359 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
3360 config/sparc/rtemself.h: Ditto.
3361 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
3362 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
3363 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
3364 more like arm-elf.
3365 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
3366 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
3367 target made more similar to i386-elf.
3368 * config/i386/t-rtems-i386: Added soft float support and multilibs.
3369 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
3370 be similar to config/m68k/t-m68kelf.
3371 * gthr-rtems.h: Encapsulate with extern "C" for C++.
3372
8686336f
JH
3373Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
3374
3375 * regmove.c (kill_value): Handle subregs.
3376
558740bf
JH
3377Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
3378
3379 * i386.md (mul patterns): Allow memory operand to be first;
3380 add expanders where needed; fix constraints.
3381 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
3382 Allow memory operand to be the first.
3383
3384 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
3385 operands.
3386
21117a17
JJ
33872002-02-13 Jakub Jelinek <jakub@redhat.com>
3388
3389 PR c/5681:
3390 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
3391 GET_MODE (x).
3392
ec65b2e3
JJ
33932002-02-13 Jakub Jelinek <jakub@redhat.com>
3394
3395 PR optimization/5547:
3396 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
3397 all valid IA-32 address modes involving non-scaled %ebx and
3398 GOT/GOTOFF as displacement.
3399
ce50cae8
UW
34002002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
3401
3402 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
3403 after emitting ltorg insns.
3404
3405 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
3406 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
3407 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
3408 *abssf2): Fix "op_type" attribute.
3409
09eb789b
DR
34102002-02-13 Douglas B Rupp <rupp@gnat.com>
3411
2dbe67bb
DR
3412 * mkconfig.sh: Avoid using a subshell redirect.
3413 ($output.T): Change to $(output)T.
3414 (ENABLE_NLS): Remove unneeded undef.
3415
ea5b9a1f
DR
3416 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
3417 * config/alpha/x-vms (libsubdir): Define.
3418
3deb00ce
DR
3419 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
3420 register frame procedures. Optimize retrieving context.
3421
09eb789b
DR
3422 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
3423 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
3424 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
3425
1abade85
RK
3426Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3427
3428 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
3429 Make same change as for find_base_value.
3430
c283e63f
KH
34312002-02-13 Kazu Hirata <kazu@hxi.com>
3432
3433 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
3434 of QImode and SImode.
3435
86039100
KH
34362002-02-13 Kazu Hirata <kazu@hxi.com>
3437
3438 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
3439 length computation of movsi.
3440 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
3441
e1429da0
KH
34422002-02-13 Kazu Hirata <kazu@hxi.com>
3443
3444 * config/h8300/h8300.md (subqi3): Tighten the predicate for
3445 operands[2] to register_operand.
3446
aebfea10
JH
3447Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
3448
3449 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
3450
0ec4e2a8
AH
34512002-02-12 Aldy Hernandez <aldyh@redhat.com>
3452
831c4e87
KC
3453 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
3454 for altivec_lvx* and altivec_stvx*.
3455 ("*movv4si_internal"): Add constraint for loading from GPRs.
3456 ("*movv8hi_internal1"): Same.
3457 ("*movv16qi_internal1"): Same.
3458 ("*movv4sf_internal1"): Same.
0ec4e2a8 3459
831c4e87 3460 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 3461
831c4e87
KC
3462 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
3463 altivec_register_operand.
0ec4e2a8 3464
b007569d
HPN
34652002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
3466
3467 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
3468 handle SYMBOL_REF.
3469
e6834654
SS
34702002-02-13 Stan Shebs <shebs@apple.com>
3471
831c4e87
KC
3472 * c-typeck.c (digest_init): Handle vectors.
3473 (really_start_incremental_init): Same.
3474 (pop_init_level): Same.
3475 (process_init_element): Same.
e6834654 3476
831c4e87 3477 * varasm.c (output_constant): Same.
e6834654 3478
831c4e87
KC
3479 * expr.c (clear_storage): Same.
3480 (store_constructor): Same.
e6834654 3481
d9b3eb63
EC
34822002-02-12 Eric Christopher <echristo@redhat.com>
3483
3484 * explow.c (hard_function_value): Add comment explaining
3485 signed/unsigned comparison.
3486
56d44285
JJ
34872002-02-12 Jakub Jelinek <jakub@redhat.com>
3488
3489 * jump.c (never_reached_warning): Add finish argument.
3490 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
3491 real insn after end.
3492 * rtl.h (never_reached_warning): Adjust prototype.
3493 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
3494 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
3495 never_reached_warning.
3496
fc209487
GS
34972002-02-12 Graham Stott <grahams@redhat.com>
3498
3499 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
3500
1e41e866
KH
35012002-02-12 Kazu Hirata <kazu@hxi.com>
3502
3503 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
3504 logical shifts on H8/300.
3505 (shift_alg_si): Improve several shifts on H8/300.
3506 (get_shift_alg): Likewise.
3507
a36a47ad
GS
35082002-02-12 Graham Stott <grahams@redhat.com>
3509
3510 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
3511
0aacc8ed
RK
3512Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3513
3514 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
3515 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
3516
a02ac966
HPN
35172002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
3518
3519 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
3520 non-CONST_INT through default_assemble_integer.
3521 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
3522 <case 8>: Abort for CONST_DOUBLE.
3523
d6e06ddc
JDA
35242002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3525
3526 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
3527 is specified.
3528 * config/pa/pa-linux.h (LIB_SPEC): Delete.
3529 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
3530
515342a8
AH
35312002-02-11 Andrew Haley <aph@cambridge.redhat.com>
3532
3533 * config/stormy16/stormy16.md (zero_extendqihi2): New.
3534
cddd8b72
AO
35352002-02-11 Alexandre Oliva <aoliva@redhat.com>
3536
66df7a98
AO
3537 * regrename.c (regrename_optimize): Don't accept a
3538 part-clobbered register if the replaced register is not part
3539 clobbered.
3540
841404cd
AO
3541 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
3542 take padding into account when computing the argument value.
3543
1d1ade42
AO
3544 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
3545
cddd8b72
AO
3546 * combine.c (try_combine): Apply substitutions in
3547 CALL_INSN_FUNCTION_USAGE too.
3548
5c665b88
AH
35492002-02-11 Aldy Hernandez <aldyh@redhat.com>
3550
77f6c1eb
RS
3551 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
3552 __builtin_altivec_abs*.
3553 (bdesc_abs): New.
5c665b88 3554
77f6c1eb
RS
3555 * config/rs6000/rs6000.h (rs6000_builtins): Add
3556 ALTIVEC_BUILTIN_ABS*.
5c665b88 3557
77f6c1eb
RS
3558 * config/rs6000/altivec.h: Use const char for builtins expecting
3559 literals.
3560 (vec_abs): New versions for C and C++.
3561 (vec_abss): Same.
5c665b88 3562
3494f1b4
KH
35632002-02-10 Kazu Hirata <kazu@hxi.com>
3564
3565 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
3566 using Pmode.
3567
72431aef
KH
35682002-02-10 Kazu Hirata <kazu@hxi.com>
3569
3570 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
3571 constant definition from h8300.md.
3572 (FRAME_POINTER_REGNUM): Likewise.
3573 * config/h8300/h8300.md (define_constants): Add FP_REG.
3574
87e4ee91
KH
35752002-02-10 Kazu Hirata <kazu@hxi.com>
3576
3577 * config/h8300/h8300.c (print_operand): Remove redundant code.
3578
9c188705
KH
35792002-02-10 Kazu Hirata <kazu@hxi.com>
3580
3581 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
3582 * config/h8300/h8300.c (byte_reg): Make it static.
3583
fba78abb
RH
35842002-02-10 Richard Henderson <rth@redhat.com>
3585
3586 PR c/5623
3587 * c-typeck.c (incomplete_type_error): Handle flexible array members.
3588
65739e62
RH
35892002-02-10 Richard Henderson <rth@redhat.com>
3590
3591 PR c++/5624
3592 * tree.c (append_random_chars): Don't abort if main_input_filename
3593 does not exist.
3594
247cb9df
HPN
35952002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
3596
3597 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
3598
232bd029
KH
35992002-02-10 Kazu Hirata <kazu@hxi.com>
3600
65739e62 3601 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
3602 (pushhi1): Likewise.
3603
276ef573
JDA
36042002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
3605
3606 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
3607 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
3608
617e9ee5
DB
36092002-02-09 David O'Brien <obrien@FreeBSD.org>
3610
3611 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
3612 remove MASK_VIS.
3613 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
3614
6dfa4005
KH
36152002-02-09 Kazu Hirata <kazu@hxi.com>
3616
3617 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
3618 a half of an SImode register on H8/300.
3619
749e7b80
JH
3620Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
3621
3622 * i386.md (movdi_2): Add missing '!'.
3623
ca77d87c
KH
36242002-02-09 Kazu Hirata <kazu@hxi.com>
3625
3626 * config/h8300/h8300.h: Fix formatting. Remove commented-out
3627 definitions.
3628
16c96304
KH
36292002-02-09 Kazu Hirata <kazu@hxi.com>
3630
3631 * config/h8300/h8300.md (length): Correct the distance valid
3632 for the short branch.
3633
a364bc90
KH
36342002-02-09 Kazu Hirata <kazu@hxi.com>
3635
3636 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
3637
e4ec2cac
AO
36382002-02-09 Alexandre Oliva <aoliva@redhat.com>
3639
a138247b
AO
3640 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
3641 registers in SImode.
3642 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
3643 part-clobbered.
3644
2b1fd83f
AO
3645 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
3646 patch.
d9b3eb63 3647
fa5322fa
AO
3648 Contribute sh64-elf.
3649 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
3650 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
3651 (sh_cannot_modify_jumps_p): New function.
3652 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
3653 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
3654 (sh_ms_bitfield_layout_p): New function.
3655 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
3656 Zack Weinberg <zack@codesourcery.com>
3657 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
3658 expand_simple_binop instead of expand_binop.
3659 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
3660 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
3661 use of .quad and .uaquad.
3662 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
3663 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
3664 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3665 * config/sh/sh.md (movdi_const, movdi_const_32bit,
3666 movdi_const_16bit): Make sure all CONSTs have modes.
3667 (sym2PIC): Ditto, but by adjusting all callers.
3668 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
3669 if the prologue calls the SHmedia argument decoder or register
3670 saver.
3671 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3672 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
3673 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
3674 (sh_expand_epilogue): Don't emit USE of return target register.
3675 (prepare_move_operands): Legitimize DImode PIC addresses.
3676 (sh_media_register_for_return): Skip tr0, used to initialize the
3677 PIC register.
3678 (sh_expand_prologue): Remove explicit USE of return register.
3679 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
3680 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
3681 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
3682 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
3683 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
3684 EXTRA_CONSTRAINT_T.
3685 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
3686 (MOVI_SHORI_BASE_OPERAND_P): New.
3687 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
3688 (EXTRA_CONSTRAINT_T): Define in terms of them.
3689 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
3690 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
3691 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
3692 alternatives supporting TARGET_REGS.
3693 (UNSPEC_GOTPLT): New constant.
3694 (movdi split): Move incrementing of LABEL_NUSES...
3695 (movdi_const, movdi_const_32bit): Here. Use
3696 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
3697 (movdi_const_16bit): New.
3698 (call, call_value) [flag_pic]: Use GOTPLT.
3699 (call_pop, call_value_pop): New expands.
3700 (call_pop_compact, call_pop_rettramp): New insns.
3701 (call_value_pop_compact, call_value_pop_rettramp): New insns.
3702 (sibcall) [flag_pic]: Use GOT.
3703 (builtint_setjmp_receiver): Remove bogus, unused expand.
3704 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
3705 (*pt, *ptb, ptrel): New insns.
3706 (sym2GOT): Handle DImode GOT.
3707 (sym2GOTPLT, symGOTPLT2reg): New expands.
3708 (sym2PIC): New expand.
3709 (shcompact_return_tramp): Use GOTPLT to return trampoline.
3710 (shcompact_return_tramp_i): Use return register explicitly.
3711 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
3712 disable flag_reorder_blocks.
3713 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
3714 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
3715 clobbers, for clarity.
3716 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
3717 restoring of r0 in macl as MAYBE_DEAD.
3718 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
3719 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
3720 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
3721 alter_subreg all over.
3722 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
3723 reload, instead of emitting instructions that would require
3724 reloading.
3725 (casesi_load_media): Add missing modes.
3726 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
3727 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
3728 as used if the argument decoder is called.
3729 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
3730 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
3731 Pmode, then extend it to DImode if necessary.
3732 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
3733 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
3734 constants in FPU-enabled SHmedia, let them be loaded from memory.
3735 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
3736 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
3737 Adjust whitespace in assembly output templates.
3738 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
3739 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
3740 mode of if_then_else.
3741 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
3742 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
3743 sh.h.
3744 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
3745 Joern Rennecke <amylaar@redhat.com>
3746 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
3747 (SUBTARGET_CPP_PTR_SPEC): New.
3748 (SUBTARGET_CPP_SPEC): Remove.
3749 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
3750 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
3751 Fix typo in previous checkin.
3752 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
3753 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
3754 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
3755 Alexandre Oliva <aoliva@redhat.com>
3756 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
3757 what single FP register can hold for SHmedia target.
3758 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
3759 Alexandre Oliva <aoliva@redhat.com>
3760 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
3761 Do not split into SUBREG.
3762 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
3763 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
3764 and added new functions as specified in SH5 ABI r9.
3765 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
3766 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
3767 8-byte boundary.
3768 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
3769 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
3770 gen_consttable_4 and gen_consttable_8. Emit multiple labels
3771 and consttable_window_ends.
3772 2001-06-03 Graham Stott <grahams@redhat,com>
3773 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
3774 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
3775 * config/sh/sh.c (print_operand): Handle floating-point pair,
3776 vector and matrix registers.
3777 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
3778 vector modes into account.
3779 * config/sh/sh.md (movv2sf): Split move between registers into
3780 movdf.
3781 (movv4sf, movv16sf): Introduce insns that get split only after
3782 reload.
3783 * config/sh/shmedia.h: Fix Copyright dates.
3784 * config/sh/ushmedia.h: Likewise. Move loop counter
3785 declarations into conditionals that uses them.
3786 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
3787 loop boundary.
3788 * config/sh/sshmedia.h: Fix Copyright dates.
3789 (sh_media_PUTCFG): Fix constraints.
3790 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
3791 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
3792 ptrmemfunc_vbit_in_delta for SH5.
3793 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
3794 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
3795 * invoke.texi: Likewise.
3796 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
3797 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
3798 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
3799 GCC_pop_shmedia_regs_nofpu): New global symbols.
3800 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
3801 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
3802 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
3803 compact function with nonlocal labels.
3804 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
3805 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
3806 (initial_elimination_offset): Account for their stack space.
3807 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
3808 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
3809 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
3810 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
3811 least one of the operands to be a register.
3812 (movv2sf): Likewise. Renamed to movv2sf_i.
3813 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
3814 prepare_move_operands() before emitting SHmedia insns.
3815 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
3816 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
3817 Don't save nor initialize r12. Don't mis-align the stack.
3818 Pad the code with a nop.
3819 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
3820 stack.
3821 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
3822 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
3823 [__SHMEDIA__]: Implement.
3824 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
3825 * config/sh/sh.md: Set latency of `pt' closer to reality.
3826 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
3827 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
3828 Set move, load and store type attributes.
3829 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
3830 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
3831 profiling.
3832 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
3833 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
3834 * config/sh/sh.c (sh_media_register_for_return): New function.
3835 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
3836 branch-target register.
3837 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
3838 * config/sh/sh.md (return_media_i): Use any call-clobbered
3839 branch-target register.
3840 (return_media): If r18 wasn't copied in the prologue, copy it
3841 here.
3842 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
3843 Clear class FP0_REGS.
3844 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
3845 from elf.h.
3846 2001-03-08 DJ Delorie <dj@redhat.com>
3847 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
3848 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
3849 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
3850 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
3851 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
3852 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
3853 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
3854 return value correctly for call_cookie.
3855 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
3856 * config/sh/crt1.asm (start): Modified so as to call
3857 ___setup_argv_and_call_main.
3858 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
3859 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
3860 SHmedia mode.
3861 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
3862 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
3863 (STRIP_NAME_ENCODING): Use it.
3864 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
3865 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
3866 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
3867 prepare_scc_operands().
3868 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
3869 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
3870 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
3871 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
3872 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
3873 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
3874 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
3875 used in shcompact_incoming_args.
3876 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
3877 change.
3878 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
3879 mode.
3880 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
3881 Adjust accordingly.
3882 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
3883 Simplify. Adjust. Add sanity check.
3884 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
3885 FPU_SINGLE_BIT.
3886 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
3887 TARGET_SHCOMPACT.
3888 (udivsi3, divsi3): Use them.
3889 (force_mode_for_call): New insn.
3890 (call, call_value, sibcall_value): Emit it before SHcompact
3891 calls.
3892 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
3893 * config/sh/sh.md (call, call_value, sibcall): Make sure the
3894 call cookie is non-NULL before taking its value.
3895 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
3896 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
3897 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
3898 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
3899 block.
3900 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
3901 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
3902 temporary for stack adjusts. Use MACL and MACH to pass
3903 arguments to shcompact_incoming_args.
3904 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
3905 clobber r1.
3906 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
3907 (nested_trampoline): Load static chain address into r1.
3908 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
3909 2001-01-07 Alexandre Oliva <aoliva@redhat.com
3910 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
3911 fp_arith_reg_operand().
3912 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
3913 * config/sh/sh.md (casesi): Sign-extend the first two operands,
3914 and use signed compares for them.
3915 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
3916 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
3917 ones properly aligned.
3918 (find_barrier): Account for extra alignment needed for 8-byte wide
3919 constants.
3920 (machine_dependent_reorg): Require a label for the second 4-byte
3921 constant after an 8-byte one.
3922 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
3923 change.
3924 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
3925 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
3926 last_float when switching float modes.
3927 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
3928 auto-increment for general-purpose registers.
3929 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
3930 result.
3931 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
3932 for stack adjust.
3933 * config/sh/sh.c (sh_builtin_saveregs): Support using all
3934 registers for varargs.
3935 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
3936 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
3937 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
3938 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
3939 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
3940 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
3941 call_cookie accordingly.
3942 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
3943 (SHCOMPACT_BYREF): Likewise.
3944 (SHCOMPACT_FORCE_ON_STACK): New macro.
3945 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
3946 (sh_builtin_saveregs): Likewise.
3947 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
3948 shcompact_incoming_args): Use new shift values. Support
3949 sequences of consecutive and non-consecutive pushes/pops.
3950 * config/sh/sh.md (return): Don't explicitly use PR_REG.
3951 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
3952 * config/sh/sh.h (TEXT_SECTION): Define.
3953 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
3954 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
3955 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
3956 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
3957 return values on FPU-enabled SHmedia.
3958 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
3959 FPU-enabled SHmedia.
3960 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
3961 value is returned in a non-FP reg and is not returned by
3962 reference.
3963 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
3964 jump_ind.
3965 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
3966 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
3967 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
3968 quad-aligned to be passed by callee-copy reference.
3969 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
3970 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
3971 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
3972 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
3973 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
3974 copying low-numbered FP regs to r7 and r8.
3975 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
3976 FP regs to general-purpose regs only if the copy was passed on the
3977 stack.
3978 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
3979 copying FP reg to r9.
3980 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
3981 copy FP regs to general-purpose regs only in outgoing calls.
3982 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 3983 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
3984 HOST_WIDE_INT.
3985 * config/sh/sh.h (struct sh_args): Document all fields.
3986 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
3987 passed partially on the stack should not consider making
3988 sibcalls.
3989 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
3990 stack_regs only for incoming calls. When passing FP args,
3991 make sure there are FP regs available before modifying
3992 call_cookie.
3993 (SHCOMPACT_BYREF): Pass double args in general-purpose
3994 registers by reference.
3995 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
3996 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
3997 attempt to generate sibcalls if the caller got any arguments
3998 by reference.
3999 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
4000 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
4001 to 8-byte boundaries.
4002 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
4003 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
4004 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
4005 stored in the stack.
4006 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
4007 for the offsets to have the ISA bit set.
4008 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
4009 invocation. Use beq instead of bgt to mark end of sequence of
4010 loads.
4011 (shcompact_incoming_args): Fix store of r2. Use beq instead of
4012 bgt to mark end of sequence of stores.
4013 * config/sh/sh.c (arith_operand): Don't check whether
4014 CONST_OK_FOR_J for now.
4015 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
4016 instead of long for conversion.
4017 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
4018 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
4019 before passing it to fprintf.
4020 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
4021 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
4022 Call set_fpscr before reading/writing SR.
4023 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
4024 Call set_fpscr.
4025 * config/sh/lib1funcs.asm: Add `.align 2' directives before
4026 SHmedia code.
4027 (FMOVD_WORKS): Define on SH5 with FPU.
4028 (set_fpscr): Define on SH5. Remove separate _fpscr_values
4029 setting.
4030 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
4031 _fpscr_values.
4032 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
4033 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
4034 address.
4035 (ia_main_table): Ditto.
4036 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
4037 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
4038 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
4039 the definitions from sh.h.
4040 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
4041 TARGET_SH5.
4042 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
4043 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
4044 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
4045 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
4046 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
4047 Increment LABEL_NUSES.
d9b3eb63 4048
fa5322fa
AO
4049 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
4050 TARGET_SH5.
4051 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
4052 defined.
4053 * config/sh/elf.h (SIZE_TYPE): Likewise.
4054 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
4055 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
4056 shcompact_incoming_args): Load switch table addresses using
4057 datalabel.
4058 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
4059 (NO_BUILTIN_SIZE_TYPE): Define.
4060 (SIZE_TYPE): Don't define.
4061 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
4062 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
4063 definition of __SH5__=32 for -m5-compact-nofpu.
4064 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
4065 ADDR_DIFF_VEC.
4066 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
4067 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
4068 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
4069 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
4070 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
4071 (INSN_LENGTH_ALIGNMENT): Likewise.
4072 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
4073 * config/sh/sh.md (call, call_value, sibcall): Simplify
4074 copying of non-branch-target register.
4075 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 4076 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
4077 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
4078 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
4079 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
4080 floating-point values as structs.
4081 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
4082 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
4083 general-purpose register.
4084 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
4085 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
4086 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
4087 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
4088 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
4089 (ENCODE_SECTION_INFO): Enclose variables and constants in
4090 DATALABEL unspecs.
4091 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
4092 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
4093 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
4094 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
4095 only for LABEL_REFs. For SYMBOL_REFs, prepend
4096 SH_DATALABEL_ENCODING to the symbol name.
4097 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
4098 convert_mode().
4099 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
4100 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
4101 UNSPEC_DATALABEL.
4102 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
4103 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
4104 (DATALABEL_REF_P): Don't require CONST.
4105 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
4106 REL label.
4107 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
4108 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
4109 right.
4110 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
4111 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
4112 Use shallow_copy_rtx and PUT_MODE to change the mode of
4113 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
4114 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
4115 on SHmedia using GENERAL_REGs.
4116 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
4117 bltu_media_i): Fix reversion of conditions.
4118 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
4119 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
4120 * config/sh/sh.c (output_far_jump): Save r13 in macl.
4121 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
4122 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
4123 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
4124 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
4125 (GCC_nested_trampoline): Likewise.
4126 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
4127 * config/sh/sh.c (gen_datalabel_ref): Define.
4128 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
4129 (INITIALIZE_TRAMPOLINE): Likewise.
4130 (TRAMPOLINE_ADJUST_ADDRESS): Define.
4131 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
4132 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
4133 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
4134 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
4135 (ic_invalidate): Adjust for SH5.
4136 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
4137 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
4138 _nested_trampoline.
4139 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
4140 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
4141 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
4142 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
4143 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
4144 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
4145 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
4146 * config/sh/sh.c (target_reg_operand): Match only target-branch
4147 registers and pseudos that aren't virtual registers.
4148 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
4149 Copy operands that don't match target_reg_operand to pseudos.
4150 (call_media, call_value_media, sibcall_media): Use
4151 target_reg_operand instead of target_operand.
4152 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 4153 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
4154 * config/sh/sh.c (target_reg_operand): Match hardware registers
4155 other than branch-target registers.
4156 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
4157 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
4158 (fpscr_values) [SH5 == 32]: Define.
4159 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
4160 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
4161 Handle function addresses coming in SUBREGs.
4162 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
4163 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
4164 shcompact_return_trampoline): Use datalabel where appropriate.
4165 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
4166 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
4167 general-purpose register to copy one branch-target register to
4168 another.
4169 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
4170 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
4171 SYMBOL_REFs with VOIDmode.
4172 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
4173 bltu_media_i): New insns.
4174 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
4175 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
4176 (INIT_CUMULATIVE_ARGS): Likewise.
4177 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
4178 * machmode.def (V16SFmode): New mode.
4179 * c-common.c (type_for_mode): Support V2SF and V16SF.
4180 * tree.c (build_common_tree_nodes_2): Likewise.
4181 * tree.h (tree_index): Likewise.
4182 * calls.c (emit_call_1): Take args_so_far. Adjust all
4183 callers. Introduce CALL_POPS_ARGS.
4184 * tm.texi (CALL_POPS_ARGS): Document.
4185 * config/sh/crt1.asm: Implement in SHmedia mode.
4186 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
4187 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
4188 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
4189 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
4190 Implement divsi and udivsi in SHmedia mode. Introduce
4191 SHcompact trampolines.
4192 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
4193 only in SHmedia64.
4194 (regno_reg_class): Rewrite.
4195 (fp_reg_names): Remove.
4196 (sh_register_names, sh_additional_register_names): New.
4197 (print_operand): Added `u'. Support SUBREGs in addresses.
4198 Add parentheses around shifted CONSTs.
4199 (output_file_start): Output .mode and .abi directives.
4200 (shiftcosts, addsubcosts, multcosts): Adjust.
4201 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
4202 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
4203 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
4204 bytes, not registers. Take into account the need for the
4205 SHcompact incoming args trampoline. Adjust all callers.
4206 (sh_expand_prologue): Take stack_regs into account. Call
4207 incoming args trampoline. Keep stack aligned as per SH5 ABI.
4208 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
4209 stack aligned as per SH5 ABI.
4210 (sh_builtin_saveregs): Support SH5 ABI.
4211 (sh_build_va_list, sh_va_start): Likewise.
4212 (initial_elimination_offset): Take alignment into account.
4213 Compute location of PR according to the SH5 stack frame.
4214 (arith_reg_operand): Reject branch-target registers.
4215 (shmedia_6bit_operand): New.
4216 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
4217 (target_reg_operand): Match DImode only. Accept SUBREGs.
4218 (target_operand): New.
4219 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
4220 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
4221 SIBCALL_REGS for SHmedia.
4222 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
4223 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
4224 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
4225 (TARGET_SWITCHES): New SH5 flags.
4226 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
4227 VALID_REGISTER_P to disable unsupported registers.
4228 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
4229 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
4230 (FUNCTION_ARG_PADDING): Define.
4231 (FASTEST_ALIGNMENT): Adjust.
4232 (SH_REGISTER_NAMES_INITIALIZER): New.
4233 (sh_register_names): Declare.
4234 (DEBUG_REGISTER_NAMES): Define.
4235 (REGISTER_NAMES): Define based on sh_register_names.
4236 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
4237 (sh_additional_register_names): Declare.
4238 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
4239 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
4240 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
4241 (REGISTER_NATURAL_MODE): Define.
4242 (FIRST_PSEUDO_REGISTER): Adjust.
4243 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
4244 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
4245 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
4246 (VECTOR_MODE_SUPPORTED_P): Define.
4247 (REG_CLASS_CONTENTS): Adjust.
4248 (SMALL_REGISTER_CLASSES): Adjust.
4249 (REG_ALLOC_ORDER): Adjust.
4250 (INDEX_REG_CLASS): Adjust.
4251 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
4252 (CONST_OK_FOR_LETTER_P): Adjust.
4253 (PREFERRED_RELOAD_CLASS): Adjust.
4254 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
4255 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
4256 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
4257 (FIRST_FP_PARM_REG): Adjust.
4258 (CALL_POPS_ARGS): Define.
4259 (FUNCTION_ARG_REGNO_P): Adjust.
4260 (struct sh_args): New fields.
4261 (GET_SH_ARG_CLASS): Adjust.
4262 (INIT_CUMULATIVE_ARGS): Adjust.
4263 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
4264 (FUNCTION_ARG_ADVANCE): Adjust.
4265 (FUNCTION_ARG): Adjust.
4266 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
4267 (FUNCTION_ARG_CALLEE_COPIES): Define.
4268 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
4269 (STRICT_ARGUMENT_NAMING): Define.
4270 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
4271 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
4272 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
4273 (SETUP_INCOMING_VARARGS): Adjust.
4274 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
4275 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
4276 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
4277 (SUBREG_OK_FOR_INDEX_P): Adjust.
4278 (EXTRA_CONSTRAINT_S): Update.
4279 (EXTRA_CONSTRAINT_T): New.
4280 (EXTRA_CONSTRAINT): Adjust.
4281 (GO_IF_LEGITIMATE_INDEX): Adjust.
4282 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
4283 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
4284 (MOVE_MAX): Adjust.
4285 (MAX_MOVE_MAX): Define.
4286 (Pmode): Adjust.
4287 (CONST_COSTS): Adjust.
4288 (REGISTER_MOVE_COST): Adjust.
4289 (BRANCH_COST): Adjust.
4290 (TEXT_SECTION_ASM_OP): Adjust.
4291 (DBX_REGISTER_NUMBER): Adjust.
4292 (ASM_OUTPUT_DOUBLE_INT): New.
4293 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4294 (PREDICATE_CODES): Adjust.
4295 (PROMOTE_MODE): Adjust.
4296 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
4297 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
4298 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
4299 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
4300 (DR0_REG, DR2_REG, DR4_REG): Renumber.
4301 (TR0_REG, TR1_REG, TR2_REG): New.
4302 (XD0_REG): Renumber.
4303 (UNSPEC_COMPACT_ARGS): New.
4304 (type): Added pt and ptabs.
4305 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 4306 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
4307 (pt): New function unit.
4308 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
4309 Add whitespace between operands of SHmedia instructions.
4310 (movdicc): Fix.
4311 (adddi3_media, addsi3_media): Adjust constraints.
4312 (subsi3) [SHmedia]: Force operand 1 into a register.
4313 (udivsi3_i1_media, udivsi3_i4_media): New.
4314 (udivsi3): Support SHmedia.
4315 (divsi3_i1_media, divsi3_i4_media): New.
4316 (divsi3): Support SHmedia.
4317 (anddi3, iordi3, xordi3): Adjust constraints.
4318 (zero_extendhidi2, zero_extendqidi2): New.
4319 (extendsidi2, extendhidi2, extendqidi2): New.
4320 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
4321 (pop_e, pop_fpul, pop_4): Likewise.
4322 (movsi_media): Support FP and BT registers.
4323 (movsi_media_nofpu): New. Adjust splits to DImode.
4324 (lduw, ldub): Renamed to zero_extend* above.
4325 (movqi_media): Fix typo.
4326 (movdi_media): Support FP and BT registers.
4327 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
4328 (movdi_const_32bit): New.
4329 (shori_media): Require immediate operand. Use `u' for output.
4330 (movdf_media, movsf_media): Simplified.
4331 (movdf_media_nofpu, movsf_media_nofpu): New.
4332 (movdf, movsf): Adjust
4333 (movv2sf, movv2sf, movv16sf): New.
4334 (beq_media, beq_media_i): Adjust constraints. Don't use
4335 scratch BT register.
4336 (bne_media, bne_media_i): Likewise.
4337 (bgt_media, bgt_media_i): Likewise.
4338 (bge_media, bge_media_i): Likewise.
4339 (bgtu_media, bgtu_media_i): Likewise.
4340 (bgeu_media, bgeu_media_i): Likewise.
4341 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
4342 bunordered): Emit jump insn. Force operands to registers when
4343 needed.
4344 (jump_media, jump): Simplify.
4345 (call_compact, call_compact_rettramp): New.
4346 (call_value_compact, call_value_compact_rettramp): New.
4347 (call_media, call_value_media): Simplify.
4348 (sibcall_compact, sibcall_media): New.
4349 (call, call_value): Adjust for SHmedia and SHcompact.
4350 (sibcall, sibcall_value, untyped_call): Likewise.
4351 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
4352 (indirect_jump): Adjust for SHmedia.
4353 (casesi_jump_media): New.
4354 (nop): Re-enable for SHmedia.
4355 (call_site): Restrict to SH1.
4356 (casesi): Adjust for SHmedia.
4357 (casesi_shift_media, casesi_load_media): New.
4358 (return): Explicitly use PR register. Call return trampoline
4359 on SHcompact.
4360 (return_i): Explicitly use PR register.
4361 (shcompact_return_tramp, shcompact_return_tramp_i): New.
4362 (return_media): Adjust.
4363 (shcompact_incoming_args): New.
4364 (epilogue): Adjust.
4365 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
4366 (movstrsi): Disable on SH5.
4367 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
4368 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
4369 (subsf3, subsf3_media): Likewise.
4370 (mulsf3, mulsf3_media, mac_media): Likewise.
4371 (divsf3, divsf3_media): Likewise.
4372 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
4373 (floatsisf2, fux_truncsfsi2): Likewise.
4374 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
4375 constraints.
4376 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
4377 (cmpunsf_media, cmpsf): Likewise.
4378 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
4379 (abssf2, abssf2_media): Likewise.
4380 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
4381 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
4382 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
4383 (floatsidf2, fix_truncdfsi2): Likewise.
4384 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
4385 constraints.
4386 (cmpeqdf_media, cmpgtdf_media): Likewise.
4387 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
4388 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
4389 (absdf2, absdf2_media): Likewise.
4390 (extendsfdf2, extendsfdf2_media): Likewise.
4391 (truncsfdf2, truncsfdf2_media): Likewise.
4392 * config/sh/sh64.h: New file.
4393 * config/sh/t-sh64: New file.
4394 * config/sh/shmedia.h: New file.
4395 * config/sh/ushmedia.h: New file.
4396 * config/sh/sshmedia.h: New file.
4397 * configure.in: Added sh64-*-elf.
4398 * configure: Rebuilt.
4399 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
4400 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
4401 (reg_class_from_letter): Use `b' for TARGET_REGS.
4402 (print_operand): Support `%M', `%m', `AND' and
4403 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
4404 (andcosts): Adjust for SHmedia.
4405 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
4406 Likewise.
4407 (target_reg_operand): New function.
4408 * config/sh/sh-protos.h (target_reg_operand): Declare.
4409 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
4410 FP registers on SH5.
4411 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
4412 on SH4.
4413 (TARGET_REGISTER_P): New macro.
4414 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
4415 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
4416 (EXTRA_CONSTRAINT_S): New macro.
4417 (EXTRA_CONSTRAINT): Adjust.
4418 (FLOAT_TYPE_SIZE): Define to 32.
4419 (Pmode): DImode on SHmedia.
4420 (CONST_COSTS): Adjust for SHmedia literals.
4421 (PREDICATE_CODES): Added target_reg_operand.
4422 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
4423 * config/sh/sh.md: Remove all attrs from SHmedia insns.
4424 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
4425 (cmpdi): Accept SHmedia.
4426 (movdicc_false, movdicc_true): New insns.
4427 (movdicc): New expand.
4428 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
4429 no_new_pseudos.
4430 (addsi3_media): Match `S' constraint.
4431 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
4432 (negdi2): Expand for SHmedia.
4433 (one_cmpldi2): New expand.
4434 (zero_extendsidi2): Change from expand to insn.
4435 (extendsidi2): Add constraints.
4436 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
4437 LD/ST address. Fix SI immediate loading split.
4438 (movhi_media, movqi_media, lduw, ldub): New insns.
4439 (movhi, movqi): Accept SHmedia.
4440 (shori_media, movdi_media): Relax input constraints. Split
4441 symbolic constants.
4442 (movdf_media, movsf_media): New insn. New split to movdi.
4443 (movdf, movsf): Match on SHmedia.
4444 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
4445 bgeu_media): New insns and splits. New insns with `_i' suffix.
4446 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
4447 (bunordered): New expand.
4448 (jump_compact): Renamed from `jump'.
4449 (jump_media): New insn.
4450 (jump): New expand.
4451 (call_media, call_value_media): New insns.
4452 (call, call_value): Adjust.
4453 (indirect_jump_compact): Renamed from `indirect_jump'.
4454 (indirect_jump_media): New insn.
4455 (indirect_jump): New expand.
4456 (untyped_call, return): Accept SHmedia.
4457 (return_media): New insn.
4458 (prologue, epilogue, blockage): Accept SHmedia.
4459 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
4460 (sunordered): New expand.
4461 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
4462 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
4463 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
4464 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
4465 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
4466 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
4467 abssf2_media): New insns.
4468 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
4469 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
4470 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
4471 floatdidf2, floatsidf2_media, fix_truncdfdi2,
4472 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
4473 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
4474 absdf2_media): New insns.
4475 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
4476 (extendsfdf2_media, truncdfsf2_media): New insns.
4477 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
4478 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
4479 * config/sh/sh.h (CONST_OK_FOR_J): Document.
4480 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
4481 * config/sh/sh.md (adddi3): New expand.
4482 (adddi3_media, adddi3z_media): New insns.
4483 (adddi3_compact): Renamed from adddi3.
4484 (addsi3_media): Use add.l r63 to add constant zero.
4485 (subdi3): New expand.
4486 (subdi3_media): New insn.
4487 (subdi3_compact): Renamed from subdi3.
4488 (mulsidi3): New expand.
4489 (mulsidi3_media): New insn.
4490 (mulsidi3_compact): Renamed from mulsidi3.
4491 (umulsidi3): New expand.
4492 (umulsidi3_media): New insn.
4493 (umulsidi3_compact): Renamed from umulsidi3.
4494 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
4495 (ashlsi3, ashrsi3, lshrsi3): Use them.
4496 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
4497 (ashldi3, ashrdi3, lshrdi3): Use them.
4498 (zero_extendsidi2): New expand.
4499 (extendsidi2): New insn.
4500 (movsi_media): New insn. Split to movdi to load constants.
4501 (movsi): Enable for shmedia.
4502 (movdi_media): New insn. Use shori_media to load wide constants.
4503 (short_media): New insn.
4504 (movdi): Enable for shmedia.
4505 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
4506 * config/sh/sh.h (CPP_SPEC): Added `m5'.
4507 (SUBTARGET_CPP_SPEC): Added `!m5'.
4508 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
4509 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
4510 to all other SH variants.
4511 (TARGET_DEFAULT): Set to SH1_BIT.
4512 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
4513 (BITS_PER_WORD): Raise to 64 on shmedia.
4514 (MAX_BITS_PER_WORD): Change to 64.
4515 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
4516 (INT_TYPE_SIZE): Keep as 32.
4517 (UNITS_PER_WORD): Raise to 8 on shmedia.
4518 (MIN_UNITS_PER_WORD): Keep as 4.
4519 (POINTER_SIZE): Raise to 64 on shmedia.
4520 (CONST_OK_FOR_J): New macro.
4521 (CONST_OK_FOR_LETTER_P): Use it.
4522 (processor_type): Add PROCESSOR_SH5.
4523 * config/sh/sh.md: Conditionalize all expands, insns and
4524 splits to TARGET_SH1.
4525 (cpu): Added sh5.
4526 (addsi3_compact): Renamed from...
4527 (addsi3): Now an expand.
4528 (addsi3_media, subsi3_media): New insns.
4529 (subsi3): Don't negate constants with SHmedia.
4530
e4ec2cac
AO
4531 * hooks.c: New file.
4532 * hooks.h: New file.
4533 * Makefile.in (HOOKS_H): New.
4534 (TARGET_DEF_H): Added $(HOOKS_H).
4535 (OBJS): Added hooks.o.
4536 (cfgcleanup.o, bb-reorder.o): Added target.h.
4537 (hooks.o): Added dependencies.
4538 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
4539 (TARGET_INITIALIZER): this.
4540 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
4541 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
4542 * bb-reorder.c: Include target.h.
4543 (reorder_basic_blocks): Skip if cannot modify jumps.
4544 * cfgcleanup.c: Include target.h.
4545 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
4546
246a46e0
CD
45472002-02-08 Chris Demetriou <cgd@broadcom.com>
4548
831c4e87
KC
4549 * config/mips/mips.md (casesi_internal, casesi_internal_di):
4550 Protect jump delay slot instructions with .set noreorder and
4551 .set nomacro.
246a46e0
CD
4552
45532002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
4554
4555 * config/mips/mips.md (casesi_internal_di): Calculate
4556 the index into the target offset table correctly.
4557
fdf473ae
RH
45582002-02-08 Richard Henderson <rth@redhat.com>
4559
4560 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
4561 * final.c (output_addr_const): Accept and discard SUBREG.
4562 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
4563 mark them unknown instead.
4564 (simplify_subtraction): Handle RTX_UNKNOWN.
4565 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
4566
c50503ac
DE
45672002-02-08 David Edelsohn <edelsohn@gnu.org>
4568
4569 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
4570
3660d217
RH
45712002-02-08 Richard Henderson <rth@redhat.com>
4572
4573 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
4574
56547299
AJ
45752002-02-08 Andreas Jaeger <aj@suse.de>
4576
4577 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
4578 * config/i386/t-linux64: New file.
4579
1cf537c5
JJ
45802002-02-08 Jakub Jelinek <jakub@redhat.com>
4581
4582 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
4583 * c-parse.in (compstmt): Clear last_expr_type.
4584
5c7f5a5f
RH
45852002-02-07 Richard Henderson <rth@redhat.com>
4586
4587 * loop.c (strength_reduce): Sink final_value when not
4588 eliminating a biv.
4589
b1138bf3
DB
45902002-02-07 David O'Brien <obrien@FreeBSD.org>
4591
4592 * config/sparc/freebsd.h: Fix mismatched spec {.
4593
b6878a45
RH
45942002-02-07 Richard Henderson <rth@redhat.com>
4595
4596 * cfgrtl.c: Include recog.h and insn-config.h.
4597 (keep_with_call_p): Fix general_operand invocation.
4598 * Makefile.in (cfgrtl.o): Update dependencies.
4599
ae19f5ef
KH
46002002-02-07 Kazu Hirata <kazu@hxi.com>
4601
4602 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
4603 comment. Accept HImode only if TARGET_H8300.
4604
b137f9fc
EC
46052002-02-07 Eric Christopher <echristo@redhat.com>
4606
4607 * config/mips/crtn.asm: Cleanup #ifdefs.
4608
46092002-02-07 Eric Christopher <echristo@redhat.com>
4610
4611 * config/mips/crti.asm: Add changes for mips16. mips16 uses
4612 register 7 as RA instead of $31.
4613 * config/mips/crtn.asm: Ditto.
4614 * config/mips/mips.c (mips_move_2words): Add case for
4615 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
4616 (compute_frame_size): Fix typo.
4617 (save_restore_insns): Ditto. Make documentation about using
4618 register $7 as return register more precise.
4619 (mips_expand_epilogue): Fix comment. Add code to work around not
4620 being able to add to the stack pointer directly.
4621 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
4622 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
4623 epilogue.
4624
768070a0
TR
46252002-02-07 Tom Rix <trix@redhat.com>
4626
b137f9fc 4627 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
4628 immediates in ldu and stdu DS opcode field.
4629 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
4630 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
4631 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
4632
225909c3
JS
46332002-02-07 Jeff Sturm <jsturm@one-point.com>
4634
4635 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
4636 offset for stack bias.
4637
15fae023
L
46382002-02-07 H.J. Lu <hjl@gnu.org>
4639
4640 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
4641
fde5badd
UW
46422002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
4643
4644 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
4645
162f023b
JH
4646Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
4647
4648 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
4649 * i386.c (x86_order_regs_for_local_alloc): New global function.
4650 * i386.h (REG_ALLOC_ORDER): CLeanup.
4651 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
4652
9b462c42
RH
46532002-02-07 Richard Henderson <rth@redhat.com>
4654
85aa876c 4655 PR optimization/2463
9b462c42
RH
4656 * alias.c (find_base_value): Recall base values for fixed hard regs.
4657 * loop.c (loop_regs_update): Don't use single_set on non-insns.
4658
06e455a9
AO
46592002-02-07 Alexandre Oliva <aoliva@redhat.com>
4660
4661 * config/mips/mips.md (define_delay) [mips16]: Adjust required
4662 length.
4663
edd1967d
RH
46642002-02-06 Richard Henderson <rth@redhat.com>
4665
4666 PR c/5609
4667 * stmt.c (resolve_operand_name_1): Take more care with mixed
4668 named and unnamed operands.
4669
a2cd028f
JJ
46702002-02-06 Janis Johnson <janis187@us.ibm.com>
4671 Jan Hubicka <jh@suse.cz>
4672
4673 * loop.c (remove_constant_addition): Avoid clobbering a shared
4674 CONST expression.
4675
e8487c04
UW
46762002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
4677
4678 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
4679 * config/s390/t-linux64: New file.
4680 * config/s390/libgcc-glibc.ver: New file.
4681
58d10f89
UW
46822002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
4683
4684 * config/s390/linux64.h: Delete file.
4685 * config/s390/s390x.h: New file.
4686 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
4687 as target header file.
4688 * config/s390/linux.h (TARGET_VERSION): Define depending on
4689 DEFAULT_TARGET_64BIT.
4690 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
4691 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
4692 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
4693 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
4694 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
4695 (EXTRA_SPEC): New define.
4696 * config/s390/s390.h (TARGET_VERSION): Define depending on
4697 DEFAULT_TARGET_64BIT.
4698 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
4699
5ce89b2e
JM
47002002-02-06 Jason Merrill <jason@redhat.com>
4701
4702 * c-decl.c (finish_function): Warn about a non-void function with
4703 no return statement and no abnormal exit.
4704 (current_function_returns_abnormally): New variable.
4705 (start_function): Clear it.
4706 (struct c_language_function): Add returns_abnormally.
4707 (push_c_function_context): Save it.
4708 (pop_c_function_context): Restore it.
4709 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
4710 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
4711 an explicit return type.
4712 * c-tree.h: Declare current_function_returns_abnormally.
4713 (C_FUNCTION_IMPLICIT_INT): New macro.
4714 * c-typeck.c (build_function_call): Set it.
4715 (c_expand_return): Set current_function_returns_value even if the
4716 value is erroneous.
4717
caaf2272
JJ
47182002-02-06 Jakub Jelinek <jakub@redhat.com>
4719
4720 PR c/5420:
4721 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
4722 unsafe for reevaluation.
4723
d5129288
JJ
47242002-02-06 Jakub Jelinek <jakub@redhat.com>
4725
4726 PR c/5482:
4727 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
4728 EXPR_STMT, but COMPOUND_STMT, recurse into it.
4729
7fb75099
RH
47302002-02-06 Richard Henderson <rth@redhat.com>
4731
4732 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
4733 be a general_operand. Dest for function value must be a pseudo.
4734
d3a8b6a6
NC
47352002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
4736
4737 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
4738 as SYMBOL_REFs from the constant pool.
4739
3c1299c5
AO
47402002-02-06 Alexandre Oliva <aoliva@redhat.com>
4741
4742 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
4743 passed by invisible reference.
4744
c2c9f6c9
RH
47452002-02-05 Richard Henderson <rth@redhat.com>
4746
4747 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
4748
a824924d
HPN
47492002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
4750
4751 Implement using "base addresses" in insn operands as default.
4752 * config/mmix/mmix.c (mmix_conditional_register_usage): if
4753 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
4754 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
4755 used to read the rtx value.
4756 (mmix_target_asm_function_epilogue): Fix spacing.
4757 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
4758 (mmix_legitimate_address): Ditto.
4759 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
4760 should be loaded with a GETA insn. Don't allocate needless extra
4761 char for nul termination and fix misleading comment.
4762 (mmix_print_operand_address): Handle constants if
4763 TARGET_BASE_ADDRESSES.
4764 (mmix_output_register_setting): Use base addressing if
4765 TARGET_BASE_ADDRESSES and the number of insns is 3.
4766 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
4767 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
4768 to use R as constraint, add LDA to match s.
4769 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
4770 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
4771 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
4772 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
4773 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
4774 order with other fixed registers.
4775 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
4776 other parameter/call-clobbered registers.
4777 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
4778 -mbase-addresses, -mno-base-addresses.
4779 (MMIX Options): Ditto.
4780
73c342b9
JDA
47812002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
4782
4783 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
4784
ef238c58
AH
47852002-02-06 Aldy Hernandez <aldyh@redhat.com>
4786
831c4e87 4787 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 4788
ad08e60e
JT
47892002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
4790
4791 * config/netbsd.h (WCHAR_TYPE): Define.
4792 (WCHAR_TYPE_SIZE): Ditto.
4793 (WINT_TYPE): Ditto.
4794 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
4795 (WCHAR_UNSIGNED): Ditto.
4796 (WCHAR_TYPE_SIZE): Ditto.
4797 (WINT_TYPE): Ditto.
4798 * config/arm/netbsd.h: Likewise.
4799 * config/i386/netbsd-elf.h: Likewise.
4800 * config/i386/netbsd.h: Likewise.
4801 * config/m68k/netbsd-elf.h: Likewise.
4802 * config/m68k/netbsd.h: Likewise.
4803 * config/ns32k/netbsd.h: Likewise.
4804 * config/sparc/netbsd.h: Likewise.
4805 * config/vax/netbsd.: Likewise.
4806
f913c102
AO
48072002-02-05 Alexandre Oliva <aoliva@redhat.com>
4808
4809 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
4810 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
4811 (TARGET_INITIALIZER): this.
4812 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
4813 (BITFIELD_NBYTES_LIMITED): Markup fix.
4814 * tree.h (default_ms_bitfield_layout_p): Declare.
4815 (record_layout_info): Added prev_field.
4816 * tree.c (default_ms_bitfield_layout_p): New fn.
4817 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
4818 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
4819 * stor-layout.c: Include target.h.
4820 (start_record_layout): Initialize prev_field.
4821 (place_field): Handle MS bit-field layout, and disregard
4822 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
4823 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
4824 * Makefile.in (stor-layout.o): Adjust dependencies.
4825
c13db5d1
JM
48262002-02-05 Jason Merrill <jason@redhat.com>
4827
c13db5d1
JM
4828 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
4829
4505024e
AJ
48302002-02-05 Andreas Jaeger <aj@suse.de>
4831
4832 * crtstuff.c: Fix comments.
4833
794ad79d
RH
48342002-02-05 Richard Henderson <rth@redhat.com>
4835
2e279a9b
RH
4836 PR fortran/3393
4837 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
4838 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
4839
794ad79d
RH
4840 PR fortran/3392
4841 * config/mips/mips.c (function_arg): Handle TImode.
4842 (function_arg_advance): Likewise.
4843
8f909017
AH
48442002-02-05 Aldy Hernandez <aldyh@redhat.com>
4845
c13db5d1
JM
4846 * config/rs6000/altivec.h (vec_step_help): Rename to
4847 __vec_step_help.
8f909017 4848
66daa9e3
AH
48492002-02-05 Aldy Hernandez <aldyh@redhat.com>
4850
c13db5d1 4851 * config/rs6000/altivec.h: Fix typos.
66daa9e3 4852
2696e97b
JT
48532002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
4854
4855 * config/arm/netbsd.h: Correct a comment.
4856
3deb2758
AH
48572002-02-05 Aldy Hernandez <aldyh@redhat.com>
4858
c13db5d1
JM
4859 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
4860 building void typed builtins.
3deb2758 4861
c13db5d1
JM
4862 * config/rs6000/altivec.h (vec_ld*): Fix typos.
4863 (vec_step): Implement for C++.
3deb2758 4864
c13db5d1 4865Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
4866
4867 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
4868
ebbb0a63
RH
48692002-02-04 Richard Henderson <rth@redhat.com>
4870
4871 * combine.c (nonzero_bits): Re-introduce special case for
4872 sp/fp/ap wrt REGNO_POINTER_ALIGN.
4873
ae4b4a02
AH
48742002-02-05 Aldy Hernandez <aldyh@redhat.com>
4875
c13db5d1
JM
4876 * doc/extend.texi: Warn about unsupported usage of altivec
4877 builtins.
ae4b4a02 4878
c13db5d1
JM
4879 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
4880 (altivec_predicate_*): New.
ae4b4a02 4881
c13db5d1
JM
4882 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
4883 Add C++ version of vec_*() functions.
ae4b4a02 4884
c13db5d1
JM
4885 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
4886 (bdesc_2arg): Remove altivec predicates.
4887 (altivec_expand_builtin): Handle predicates.
4888 (altivec_init_builtins): Handle predicates.
4889 (altivec_expand_predicate_builtin): New.
ae4b4a02 4890
f6bcf44c
JDA
48912002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
4892
4893 * pa.c (DO_FRAME_NOTES): Move forward.
4894 (store_reg): Revise handling of frame notes.
4895 (load_reg): Likewise.
4896 (set_reg_plus_d): Likewise.
4897 (hppa_expand_prologue): Likewise.
4898 (hppa_expand_epilogue): Likewise.
b137f9fc 4899
703b0080
JDA
49002002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
4901
4902 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
4903
6f9fdf4d
JJ
49042002-02-04 Jakub Jelinek <jakub@redhat.com>
4905
4906 PR c/4475, c++/3780:
4907 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
4908 * c-common.h (SWITCH_TYPE): Define.
4909 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
4910 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
4911 Rename spareness variable to sparseness.
4912 (expand_end_case_type): Renamed from expand_end_case, use orig_type
4913 if non-NULL instead of TREE_TYPE (orig_index).
4914 * tree.h (expand_end_case_type): Renamed from expand_end_case.
4915 (expand_end_case): Define using expand_end_case_type.
4916 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
4917 to expand_end_case_type.
4918 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
4919
79109502
JDA
49202002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
4921
4922 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
4923 (BIGGEST_ALIGNMENT): Change to 128.
4924
e62a5987
JDA
49252002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
4926
4927 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
4928
219f24a4
JDA
49292002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
4930
4931 * pa.md (call_internal_reg_64bit): Remove unused variable.
4932
3cb66fd7
NC
49332002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
4934
4935 * config/arm/arm.h (machine_function): Add uses_anonymous_args
4936 field.
831c4e87 4937 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 4938 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
4939 replace uses with cfun->machine->uses_anonymous_args.
4940 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
4941
4942 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
4943 any geenral register.
b137f9fc 4944
5d5603e2 49452001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
4946
4947 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
4948 the entry block.
4949
563c12b0
RH
49502002-02-04 Richard Henderson <rth@redhat.com>
4951
4952 * combine.c (force_to_mode): Remove STACK_BIAS code.
4953 (nonzero_bits): Likewise. Replace sp/fp special case with
4954 REGNO_POINTER_ALIGN.
4955
4956 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
4957 (HARD_FRAME_POINTER_REGNUM): New.
4958 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
4959 (FIXED_REGS, CALL_USED_REGS): Update.
4960 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
4961 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
4962 (HARD_REGNO_NREGS): Update for SFP.
4963 (STACK_POINTER_OFFSET): Include bias here ...
4964 (FIRST_PARM_OFFSET): ... not here.
4965 (STACK_BIAS): Remove.
4966 (INIT_EXPANDERS): New.
4967 (STARTING_FRAME_OFFSET): Do not include bias.
4968 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
4969 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
4970 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
4971 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
4972 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
4973 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
4974 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
4975 (MUST_SAVE_REGISTER): Likewise.
4976 (sparc_flat_function_prologue): Likewise.
4977 (sparc_flat_function_epilogue): Likewise.
4978 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
4979 (sparc_init_modes): SFP is GENERAL_REGS.
4980 (sparc_builtin_saveregs): SFP does not have bias applied.
4981
14691f8d
RH
49822002-02-04 Richard Henderson <rth@redhat.com>
4983
4984 * config/alpha/alpha.c (current_function_is_thunk): Don't check
4985 current_function_is_thunk.
4986 (alpha_sa_mask): Distinguish between current_function_is_thunk
4987 called from ASM_OUTPUT_MI_THUNK and not.
4988 (alpha_does_function_need_gp): Thunks always need gp.
4989 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
4990 (alpha_output_mi_thunk_osf): New.
4991 * config/alpha/alpha-protos.h: Update.
4992 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
4993
af702de8
RS
49942002-02-04 Richard Sandiford <rsandifo@redhat.com>
4995
4996 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
4997 function types, not when they're taken away.
4998
5b1cacd8
JL
4999Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
5000
5001 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
5002 CODE_LABEL and jump table when replacing a table jump with a
5003 simple jump.
5004
f3e9edff
UW
50052002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
5006
5007 * config/s390/s390-protos.h (legitimize_la_operand,
5008 s390_secondary_input_reload_class, s390_plus_operand,
5009 s390_expand_plus_operand): Add prototypes.
5010
5011 config/s390/s390.c (s390_secondary_input_reload_class,
5012 s390_plus_operand, s390_expand_plus_operand): New functions.
5013
5014 (struct s390_address): New member 'pointer'.
5015 (s390_decompose_address): Compute it.
5016 (legitimate_la_operand_p): Use it.
5017 (legitimize_la_operand): New function.
5018 (movti, movdi, movdf splitters): Call it.
5019
5020 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
5021 (PREDICATE_CODES): Add s390_plus_operand.
5022
5023 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
5024 (la_ccclobber): Allow GENERAL_REGS as output operand.
5025
5026 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
5027 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
5028 (*la_64, *la_31, reload_indi, reload_insi): ... these.
5029
3c9a08ec
UW
50302002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
5031
5032 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
5033 register names for regular asm () construct.
5034
ac300a45
JJ
50352002-02-04 Jakub Jelinek <jakub@redhat.com>
5036
5037 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
5038 registers.
5039
fa852403
JJ
50402002-02-04 Jakub Jelinek <jakub@redhat.com>
5041
5042 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
5043 pat for recog.
5044
fecaac37
HP
50452002-02-04 Hartmut Penner <hpenner@de.ibm.com>
5046
831c4e87
KC
5047 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
5048 constant pool to be identical by string address and index.
fecaac37 5049
10c45943
AG
50502002-02-04 Anthony Green <green@redhat.com>
5051
5052 * output.h (SECTION_OVERRIDE): Define.
5053 * varasm.c (named_section): Obey SECTION_OVERRIDE.
5054
69474c3c
JT
50552002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
5056
5057 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
5058 by existing arm*-*-netbsd* (a.out) target.
5059 (ns32k-*-netbsdelf*): Likewise.
5060 (sparc-*-netbsdelf*): Likewise.
5061 (vax-*-netbsdelf*): Likewise.
5062
939a46f6 50632002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
5064
5065 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
5066 headers and libobjc headers.
5067
50682002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
5069
5070 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
5071 (_mingw.h): Remove duplicate include.
5072
2fd95d71
JT
50732002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
5074
5075 * config.gcc: Set cpu_type to m68k for 68010, as well.
5076 (m68010-*-netbsdelf*): New...
5077 (m68k*-*-netbsdelf*): ...targets.
5078 * config/m68k/netbsd-elf.h: New file.
5079
0ea6f6a0
KH
50802002-02-02 Kazu Hirata <kazu@hxi.com>
5081
5082 * config/h8300/h8300.c (hand_list): Move inside function_arg.
5083
cbf1b2da
KH
50842002-02-02 Kazu Hirata <kazu@hxi.com>
5085
5086 * config/h8300/h8300.c (h8_push_ops): Move inside
5087 h8300_init_once.
5088 (h8_pop_ops): Likewise.
5089 (h8_move_ops): Likewise.
5090
0869f126
KH
50912002-02-02 Kazu Hirata <kazu@hxi.com>
5092
5093 * config/h8300/h8300.c (os_task): Make it static.
5094 (monitor): Likewise.
5095 (pragma_saveall): Likewise.
5096
90e65b70
AO
50972002-02-02 Alexandre Oliva <aoliva@redhat.com>
5098
5099 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
5100 constant is a valid sign-extension for Pmode.
5101
9cbcd983
KH
51022002-02-02 Kazu Hirata <kazu@hxi.com>
5103
5104 * config/h8300/h8300.c: Fix formatting.
5105
7a27efc4
KH
51062002-02-02 Kazu Hirata <kazu@hxi.com>
5107
5108 * config/h8300/h8300.md: Fix formatting.
5109
54175a44
KH
51102002-02-02 Kazu Hirata <kazu@hxi.com>
5111
5112 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
5113 predicates of operands[1]. Split the patterns for each
5114 processor variant.
5115
eceb1755
KH
51162002-02-02 Kazu Hirata <kazu@hxi.com>
5117
5118 * config/h8300/h8300.md (xor patterns): Tighten the predicates
5119 of operands[1] to register_operand.
5120
0fef3fd0
NB
51212002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
5122
5123 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
5124 * cpphash.c (_cpp_init_hashtable): Similarly.
5125 * cppinit.c (cpp_create_reader): Default the signed_char flag.
5126 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
5127 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
5128 (cpp_handle_option): Handle the new options.
5129 * cpplex.c (cpp_interpret_charconst): Use new flag.
5130 * cpplib.h (struct cpp_options): New member signed_char.
5131 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
5132 (cpp_options): Handle -fsigned-char and -funsigned-char.
5133 (static_specs): Remove signed_char_spec.
5134 (do_spec1): Don't handle %c.
5135 * system.h: Poison SIGNED_CHAR_SPEC.
5136 * tradcif.y (yylex): Use flag_signed_char.
5137 * tradcpp.h (flag_signed_char): New.
5138 * tradcpp.c (flag_signed_char): New.
5139 (main): Handle new command-line options.
5140 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
5141config:
5142 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
5143 * avr/avr.h: Remove old comments.
5144 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
5145 (CC1_SPEC): Pass -fsigned-char if -mic*.
5146 (SIGNED_CHAR_SPEC): Remove.
5147doc:
5148 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
5149
0617ed52
EC
51502002-02-01 Eric Christopher <echristo@redhat.com>
5151
5152 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
5153 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
5154 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
5155 (ASM_OUTPUT_REG_POP): Ditto.
5156
dfd48d76
NB
51572002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
5158
5159 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
5160 patch.
5161
4a23409e
JJ
51622002-02-02 Jakub Jelinek <jakub@redhat.com>
5163
5164 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
5165
d3c52658
JJ
51662002-02-02 Jakub Jelinek <jakub@redhat.com>
5167
5168 PR c/5304:
5169 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
5170 unconditionally.
5171
02c5a3bd
JJ
51722002-02-01 Janis Johnson <janis187@us.ibm.com>
5173
5174 * cfganal.c: Include tm_p.h.
5175 (keep_with_call_p): Fix the test that determines if a register holds
5176 the return value of a call.
5177
3968de80
DD
51782002-02-01 DJ Delorie <dj@redhat.com>
5179
5180 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
5181 we are given conflicting registers, switch to the other one we
5182 had allocated for us.
5183 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
5184 as TImode so we know when the "other" register is available.
5185
1338ea6c
DB
51862002-02-01 David O'Brien <obrien@FreeBSD.org>
5187
5188 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
5189 sparc/sparc_bi.h.
5190
f015be23
JJ
51912002-02-01 Janis Johnson <janis187@us.ibm.com>
5192
5193 * cfganal.c (keep_with_call_p): New function.
5194 (flow_call_edges_add): Prevent splitting a block between a call and
5195 a single-set instruction that should be kept in the same block.
5196
63708ffc
CR
51972002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
5198
5199 * doc/install.texi (avr): Update outdated URL.
5200
5ee4950e
AH
52012002-01-30 Andrew Haley <aph@cambridge.redhat.com>
5202
831c4e87
KC
5203 * config/stormy16/stormy16.md (pushqi): New.
5204 (popqi): New.
5205 (pushhi): New.
5206 (pophi): New.
5207 (movhi): Remove stack operands.
5208 (movqi): Likewise.
5209 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
5210 nonimmediate_nonstack_operand.
5211 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
5212 New.
5213 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
5214 New.
5ee4950e 5215
b88c0704
JM
52162002-01-31 Jason Merrill <jason@redhat.com>
5217
5218 * Makefile.in (c-parse.c): Handle .output file.
5219 * objc/Make-lang.in (objc-parse.c): Likewise.
5220
ac282977
AO
52212002-02-01 Alexandre Oliva <aoliva@redhat.com>
5222
5223 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
5224 the -me[lb] option is given. Don't output the default flag
5225 twice.
5226
bebc7e8b
ZW
52272002-01-31 Zack Weinberg <zack@codesourcery.com>
5228
5229 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
5230 the primary source file; this has not been done yet.
5231 * c-decl.c (c_expand_body): Reset input_filename from
5232 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
5233
5809eb5f
KH
52342002-01-31 Kazu Hirata <kazu@hxi.com>
5235
5236 * rtlanal.c (subreg_regno_offset): Do not use
5237 SUBREG_REGNO_OFFSET.
5238 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
5239 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
5240
8512bbd7
JM
52412002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
5242
5243 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
5244 version rather than GNATS version in --version output.
5245
74cb3cc8
RS
52462002-01-31 Richard Sandiford <rsandifo@redhat.com>
5247
5248 * ifcvt.c (noce_process_if_block): Make a copy of the destination
5249 when copying back from a temporary.
5250
874b5b14
RH
52512002-01-30 Richard Henderson <rth@redhat.com>
5252
5253 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
5254 and new_dest are the same.
5255
e803a64b
RH
52562002-01-30 Richard Henderson <rth@redhat.com>
5257
89cf7be5 5258 PR opt/5076
e803a64b
RH
5259 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
5260 * rtl.c (note_insn_name): Update.
5261 * emit-rtl.c (remove_unnecessary_notes): Kill it.
5262 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
5263 to perform loop rotation.
5264 (expand_exit_loop_top_cond): New.
5265 * tree.h (expand_exit_loop_top_cond): Declare it.
5266 * c-semantics.c (genrtl_while_stmt): Use it.
5267 (genrtl_for_stmt): Likewise.
5268
0b51254d
AO
52692002-01-30 Alexandre Oliva <aoliva@redhat.com>
5270
5271 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
5272 arguments to 64-bit boundaries on 64-bit ABIs.
5273
71cef493
SE
52742002-01-30 Steve Ellcey <sje@cup.hp.com>
5275
5276 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
5277
6169e5fd
JM
52782002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
5279
5280 * c-decl.c (grokdeclarator): Handle type being a typedef for an
5281 invalid type.
5282
86f808dc
DB
52832002-01-30 David O'Brien <obrien@FreeBSD.org>
5284
5285 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
5286 * config/sparc/sparc_bi.h: Remove file.
5287 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
5288
5748ebeb
RH
52892002-01-30 Richard Henderson <rth@redhat.com>
5290
5291 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
5292
20d32cc2
ZW
52932002-01-30 Zack Weinberg <zack@codesourcery.com>
5294
5295 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
5296
b88c0704 52972002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
5298
5299 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
5300 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
5301 (reg_save): Use DW_CFA_offset_extended_sf instead.
5302
5303 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
5304
37060e78
JJ
53052002-01-29 Jakub Jelinek <jakub@redhat.com>
5306
5307 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
5308 in cselib_lookup.
5309
d18dba68
AH
53102002-01-29 Aldy Hernandez <aldyh@redhat.com>
5311
bebc7e8b
ZW
5312 * rs6000.md ("*call_value_local32"): Remove constraints.
5313 ("*call_value_local64"): Same.
5314 ("*call_value_indirect_nonlocal_aix32"): Same.
5315 ("*call_value_nonlocal_aix32"): Same.
5316 ("*call_value_indirect_nonlocal_aix64"): Same.
5317 ("*call_value_nonlocal_aix64"): Same.
5318 ("*call_value_nonlocal_sysv"): Same.
d18dba68 5319
80a8aac6
RH
53202002-01-29 Richard Henderson <rth@redhat.com>
5321
5322 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
5323
12beba6f
RH
53242002-01-29 Richard Henderson <rth@redhat.com>
5325
5326 * expr.c (force_operand): Ignore flag_pic for detecting pic
5327 address loads.
5328 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
5329 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
5330 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
5331 instead of open-coded loop.
5332 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
5333 be fixed when in use.
5334
2583081e
RH
53352002-01-29 Richard Henderson <rth@redhat.com>
5336
5337 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
5338 * sched-rgn.c (propagate_deps): Update them.
5339 * sched-deps.c (sched_analyze_insn): Update them. Flush the
5340 clobbers list when either gets too long.
5341
3b8d200e
JJ
53422002-01-29 Jakub Jelinek <jakub@redhat.com>
5343
5344 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
5345 and INDEX_REGS the same as GENERAL_REGS.
5346 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
5347
2d3115eb
NB
53482002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
5349
bebc7e8b 5350 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 5351
ecbe845e
UW
53522002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
5353
bebc7e8b 5354 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 5355 movstrsix_31): Remove, replace by ...
bebc7e8b 5356 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
5357 movstrsi_long): ... these. New.
5358 (movstrdi, movstrsi): Adapt.
5359
5360 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 5361 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
5362 Remove unnecessary CC clobber.
5363 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
5364 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
5365
5366 (divmoddi4): Don't partially initialize TImode register.
5367
0b32fca5
GK
53682002-01-29 Geoffrey Keating <geoffk@redhat.com>
5369
5370 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
5371
08ef5437
RH
53722002-01-29 Richard Henderson <rth@redhat.com>
5373
5374 * flow.c (print_rtl_and_abort): Remove.
5375 (print_rtl_and_abort_fcn): Remove.
5376 (verify_local_live_at_start): Use dump_bb instead.
5377 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
5378 (verify_wide_reg_1): Return 2 on mode test failure.
5379
8469e54e
NB
53802002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
5381
5382 PR c/3325, c/3326, c/2511, c/3347
5383 * c-decl.c (enum_decl_context): Remove BITFIELD.
5384 (grokdeclarator): Take bitfield width as an input.
5385 Ensure bitfields are given the correct type. Perform
5386 bitfield width validation with build_bitfield_integer_type
5387 rather than waiting for finish_struct.
5388 (grok_typename, grok_typename_in_parm_context, start_decl,
5389 push_parmdecl, grokfield, start_function): Update calls to
5390 grokdeclarator.
5391 (build_bitfield_integer_type): New function.
5392 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 5393 and build_bitfield_integer_type.
8469e54e
NB
5394 * tree.c (build_nonstandard_integer_type): New function.
5395 * tree.h (build_nonstandard_integer_type): New prototype.
5396objc:
5397 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
5398
ffdeea47
JJ
53992002-01-29 Jakub Jelinek <jakub@redhat.com>
5400
5401 PR other/1502:
5402 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
5403 don't ignore unrecognized -W* options.
5404 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
5405 * cpplib.h (cpp_handle_option): Adjust prototype.
5406 * c-decl.c (c_decode_options): Pass 0 as last argument to
5407 cpp_handle_option.
5408
5409 PR c/2896:
5410 * gcc.c (cpp_unique_options): Split from cpp_options.
5411 (cpp_options): Source cpp_unique_options.
5412 (default_compilers): Use cpp_unique_options instead of cpp_options
5413 when used together with cc1_options.
5414 (static_specs): Add cpp_unique_options.
5415 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
5416 when used together with cc1_options.
5417
1a275226
KH
54182002-01-29 Kazu Hirata <kazu@hxi.com>
5419
5420 * config/h8300/h8300-protos.h: Update the prototype of
5421 output_a_shift.
5422 * config/h8300/h8300.c (output_a_shift): Remove an unused
5423 argument 'insn'. Remove redundant code.
5424 * config/h8300/h8300.md: Adust to the new prototype of
5425 output_a_shift.
5426
a11d9dfc
KH
54272002-01-29 Kazu Hirata <kazu@hxi.com>
5428
5429 * config/h8300/h8300-protos.h: Update the prototypes of
5430 emit_a_rotate and expand_a_rotate.
5431 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
5432 first argument to 'enum rtx_code'.
5433 (expand_a_rotate): Likewise.
5434
871f73e3
KH
54352002-01-28 Kazu Hirata <kazu@hxi.com>
5436
5437 * config/h8300/h8300-protos.h: Update the prototype of
5438 output_simode_bld.
5439 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
5440 'log2'.
5441 * config/h8300/h8300.md: Adjust to the new prototype.
5442
5fc4b751
KH
54432002-01-28 Kazu Hirata <kazu@hxi.com>
5444
5445 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
5446 redundant code.
5447
2d67bd7b
JDA
54482002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
5449
5450 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
5451 is a fixed register before returning pic_offset_table_rtx.
5452 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
5453 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
5454
5a852b3e
JM
54552002-01-28 Jason Merrill <jason@redhat.com>
5456
6bb28965 5457 * dwarf2.h: Sync with src version.
5a852b3e 5458
3bca17dd
PK
54592002-01-28 Paul Koning <pkoning@equallogic.com>
5460
5461 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
5462 BT_FN_VOID_PTR_VAR.
5463 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
5464 * doc/extend.texi (__builtin_prefetch): Update documentation:
5465 first argument is now const void ptr.
5466
7dc3f8c0
KH
54672002-01-28 Kazu Hirata <kazu@hxi.com>
5468
5469 * config/h8300/h8300-protos.h: Remove an unused prototype.
5470
e83cb5f0
RZ
54712002-01-28 Roman Zippel <zippel@linux-m68k.org>
5472
5473 * toplev.c (lang_independent_init): Round up identifier size.
5474
5721cd84
RE
54752002-01-28 Richard Earnshaw <rearnsha@arm.com>
5476
5477 * config.gcc: Revert previous change.
5478
d534119e
AP
54792002-01-28 Andris Pavenis <pavenis@latnet.lv>
5480
5481 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
5482
5a721dab
RE
54832002-01-28 Richard Earnshaw <rearnsha@arm.com>
5484
5485 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
5486 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
5487 other non-elf netbsd config frags.
5488 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
5489 collect2 will does that.
5490 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
5491 shared-lib frobbing will work.
5492
da1775d6
KH
54932002-01-28 Kazu Hirata <kazu@hxi.com>
5494
5495 * config/h8300/h8300.h: Fix formatting.
5496 * config/h8300/h8300.md: Likewise.
5497
8f2e963b
LR
54982002-01-28 Loren J. Rittle <ljrittle@acm.org>
5499
5500 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
5501 the old, removed AAA_standards fix.
5502 * fixinc/fixincl.x: Rebuilt.
5503
fdae5767
HPN
55042002-01-28 Hans-Peter Nilsson <hp@axis.com>
5505
5506 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
5507 atexit call in crtbegin, hooked in after call to frame_dummy;
5508 register EH before registering __fini__start.
5509
2a2ecb63
AH
55102002-01-28 Aldy Hernandez <aldyh@redhat.com>
5511
5512 * config/rs6000/altivec.h: Remove spurious semicolons.
5513
8ed43adf
KH
55142002-01-27 Kazu Hirata <kazu@hxi.com>
5515
5516 * config/h8300/h8300.md: Replace dead bit extraction patterns
5517 with ones that work.
5518
917afb0c
RK
5519Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5520
5521 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
5522 if not STRICT_ALIGNMENT.
5523 * rtl.h (MEM_ALIGN): Likewise.
5524
f70a54cb
CR
55252002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
5526
5527 * doc/invoke.texi (-fdump-translation-unit): Revert this
5528 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
5529
d8fd4914
KH
55302002-01-27 Kazu Hirata <kazu@hxi.com>
5531
5532 * config/h8300/h8300.md (define_constants): New.
5533 (anonymous patterns) Use defined constants appropriately.
5534
15e0e275
KH
55352002-01-27 Kazu Hirata <kazu@hxi.com>
5536
5537 * config/h8300/h8300.c (function_arg): Remove redundant code.
5538
37a0f8a5
RH
55392002-01-26 Richard Henderson <rth@redhat.com>
5540
5541 * sched-deps.c (reg_pending_uses_head): New.
5542 (reg_pending_barrier): Rename from reg_pending_sets_all.
5543 (find_insn_list): Don't mark inline.
5544 (find_insn_mem_list): Remove.
5545 (add_dependence_list, add_dependence_list_and_free): New.
5546 (flush_pending_lists): Replace only_write param with separate
5547 for_read and for_write parameters. Update all callers. Use
5548 add_dependence_list_and_free.
5549 (sched_analyze_1): Do not add reg dependencies here; just set
5550 the pending bits. Use add_dependence_list.
5551 (sched_analyze_2): Likewise.
5552 (sched_analyze_insn): Replace schedule_barrier_found with
5553 reg_pending_barrier. Add all dependencies for pending reg
5554 uses, sets, and clobbers.
5555 (sched_analyze): Don't add reg dependencies for calls, just
5556 set pending bits. Use regs_invalidated_by_call. Treat
5557 sched_before_next_call as a normal list, not a fake insn.
5558 (init_deps): No funny init for sched_before_next_call.
5559 (free_deps): Free pending mems lists. Don't zero reg_last.
5560 (init_deps_global): Init reg_pending_uses.
5561 (finish_deps_global): Free it.
5562 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
5563 (find_insn_mem_list): Remove.
5564 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
5565 (propagate_deps): Use them. Zero temp mem lists.
5566
cea3bd3e
RH
55672002-01-26 Richard Henderson <rth@redhat.com>
5568
5569 * Makefile.in (CRTSTUFF_CFLAGS): New.
5570 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
5571 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
5572 crtstuff.c instead of alpha assembly version.
5573 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
5574 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
5575 not FORCE_{INIT,FINI}_SECTION_ALIGN.
5576 (__do_global_dtors_aux): Mark used.
5577 (frame_dummy, __do_global_ctors_aux): Mark used.
5578 (fini_dummy, init_dummy): Remove.
5579
5580 * config/alpha/crtbegin.asm: Remove file.
5581 * config/alpha/crtend.asm: Remove file.
5582 * config/alpha/t-crtbe: Remove file.
5583 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
5584 (LINK_EH_SPEC): New.
5585
5586 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
5587 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
5588 calling constructors.
5589 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
5590
5591 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
5592 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
5593 CRT_END_INIT_DUMMY hack.
5594 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
5595 FORCE_{INIT,FINI}_SECTION_ALIGN.
5596
5597 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
5598 FORCE_{INIT,FINI}_SECTION_ALIGN.
5599
5600 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
5601 invocation sequence.
5602 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
5603
5604 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
5605 (FORCE_CODE_SECTION_ALIGN): New.
5606
60ffa0e5
RH
56072002-01-26 Richard Henderson <rth@redhat.com>
5608
5609 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
5610
61334ebe
RH
56112002-01-26 Richard Henderson <rth@redhat.com>
5612
5613 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
5614 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
5615
1d788fb6
KH
56162002-01-26 Kazu Hirata <kazu@hxi.com>
5617
5618 * config/h8300/h8300.md: Remove bit extraction patterns that
5619 cannot be triggered.
5620 Restrict each bit extraction pattern to a variant on which the
5621 pattern is tested.
5622
87611f88
JM
56232002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
5624
5625 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
5626
cd74ec59
KH
56272002-01-26 Kazu Hirata <kazu@hxi.com>
5628
5629 * config/h8300/h8300.md: Remove bit test patterns that cannot
5630 be triggered.
5631 Restrict each bit test pattern to a variant on which the
5632 pattern is tested.
5633
93051e0f
KG
56342002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5635
5636 * builtins.c (expand_builtin_strncat): Remove redundant check for
5637 INTEGER_CST.
5638
216c995f
DB
56392002-01-25 David O'Brien <obrien@FreeBSD.org>
5640
5641 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
5642 default setting.
5643 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
5644 existing setting.
5645
33c7f925
GK
56462002-01-25 Geoffrey Keating <geoffk@redhat.com>
5647
5648 * dbxout.c (dbxout_init): Use assemble_name rather than just
5649 stripping off the first character.
5650 (dbxout_source_file): Likewise.
5651
6cd444b4
DD
56522002-01-25 DJ Delorie <dj@redhat.com>
5653
5654 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
5655 using rtx_equal_p, not by comparing pointers.
5656
751551d5
SE
56572002-01-25 Steve Ellcey <sje@cup.hp.com>
5658
5659 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
5660 for PIC_OFFSET_TABLE_REGNUM.
5661 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
5662
e564e618
DB
56632002-01-25 David O'Brien <obrien@FreeBSD.org>
5664
5665 * config.gcc (x86_64-*-freebsd*): New target.
5666 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
5667 value.
5668 (i[34567]86-*-freebsd*): Don't include svr4.h.
5669 * config/i386/freebsd64.h: New file.
5670
ff3aaf17
DR
56712002-01-25 Douglas B Rupp <rupp@gnat.com>
5672
4857d29d
DR
5673 * config/alpha/x-vms (version): Make static.
5674
5675 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
5676 in previous checkin.
5677
ff3aaf17
DR
5678 * Makefile.in (install-headers-cp): New target.
5679 * config.gcc (alpha-dec-*vms*): Install headers with
5680 install-headers-cp
5681
48d79c43
JH
5682Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
5683
5684 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
5685 avoid it's copies.
5686
995b5904
RK
5687Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5688
5689 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
5690 of compare_tree_int.
5691 (expand_builtin_strncat): Likewise.
5692 * c-decl.c (finish_struct): Use tree_low_cst.
5693 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
5694 * tree.c (compare_tree_int): Likewise.
5695
75eefe3f
UW
56962002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
5697
5698 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
5699 adjustments even if they are implemented by more than two insns.
5700
5a133afd
JH
5701Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
5702
995b5904 5703 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
5704 * df.h (struct ref): Kill B.
5705 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
5706
5707 * basic-block.h (PROP_EQUAL_NOTES): New flag.
5708 * flow.c (propagate_one_insn): Use it.
5709 (mark_used_regs): Handle NIL.
5710
ead39bdf 57112002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
5712
5713 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
5714 to help folding.
5715
01a2ccd0
DE
57162002-01-25 David Edelsohn <edelsohn@gnu.org>
5717
5718 * rs6000.md (prefetch): Make address V4SI mode so that the address
5719 is restricted to legitimate form for instruction.
5720
fd29f6ea
BW
57212002-01-25 Bob Wilson <bob.wilson@acm.org>
5722
5723 * doc/install.texi (xtensa-*-elf): New target.
5724 (xtensa-*-linux*): New target.
5725 * doc/contrib.texi: Add myself.
5726
55492b32
NC
57272002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
5728
5729 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
5730 purpose register to hold an SImode (or smaller) value.
5731
72c7c913
JJ
57322002-01-25 Jakub Jelinek <jakub@redhat.com>
5733
5734 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
5735 registry only.
5736 * crtstuff.c: Likewise.
5737
c4df4ceb
KH
57382002-01-25 Kazu Hirata <kazu@hxi.com>
5739
5740 * config/h8300/h8300.md (negation patterns): Tighten
5741 predicates to register_operand.
5742
70e531f5
AH
57432002-01-24 Aldy Hernandez <aldyh@redhat.com>
5744
3bca17dd
PK
5745 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
5746 mode, not Pmode.
70e531f5 5747
3bca17dd 5748 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 5749
a4f76ef9
AO
57502002-01-24 Alexandre Oliva <aoliva@redhat.com>
5751
5752 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
5753 modes.
5754
9bf25b09
KH
57552002-01-24 Kazu Hirata <kazu@hxi.com>
5756
5757 * config/h8300/h8300.c (print_operand): Remove support for
5758 operand character 'A'.
5759 * config/h8300/h8300.md (three anonymous patterns): Replace
5760 operand character 'A' with either 'T' or 'S'.
5761
974af6a5
KH
57622002-01-24 Kazu Hirata <kazu@hxi.com>
5763
5764 * config/h8300/h8300.c (print_operand): Remove support for
5765 operand character 'U'.
5766
7a5bb7b8
AP
57672002-01-24 Andris Pavenis <pavenis@latnet.lv>
5768
3bca17dd 5769 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 5770
92a4639e
NC
57712002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
5772
5773 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
5774 values to be assigned to the stack pointer.
5775
467cb2da
HP
57762002-01-14 Hartmut Penner <hpenner@de.ibm.com>
5777
bebc7e8b 5778 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
5779 to const_double needs to be done right for big-endian systems.
5780
3b6cb920
JM
57812002-01-24 Jason Merrill <jason@redhat.com>
5782
b08dd119 5783 PR c++/2432
3b6cb920
JM
5784 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
5785 to can_throw_internal.
5786
f3077311
RH
57872002-01-23 Richard Henderson <rth@redhat.com>
5788
5789 * fold-const.c (fold): Change UINT_MAX test to check vs precision
5790 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
5791
e1d71275
AO
57922002-01-24 Alexandre Oliva <aoliva@redhat.com>
5793
5794 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
5795 (symGOT2reg): Use them, then set as GOT value as unchanging.
5796 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
5797 as a temporary, if possible.
5798 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
5799 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
5800
dc271dbe
KH
58012002-01-23 Kazu Hirata <kazu@hxi.com>
5802
5803 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
5804 accept to accept 0x80 as operands[2].
5805
1a9017f9
AO
58062002-01-24 Alexandre Oliva <aoliva@redhat.com>
5807
5808 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
5809
6932f033
RH
58102002-01-23 Richard Henderson <rth@redhat.com>
5811
5812 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
5813
709619d9
AH
58142002-01-23 Aldy Hernandez <aldyh@redhat.com>
5815
3bca17dd
PK
5816 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
5817 (parmlist_or_identifiers_1): Verify that only a parmlist follows
5818 an attribute.
709619d9 5819
3d709fd3
RH
58202002-01-23 Richard Henderson <rth@redhat.com>
5821
5822 * expr.c (move_by_pieces_1): Extend size before negation.
5823
88a446c0
RH
5824 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
5825 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
5826 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
5827 * config/m68k/t-m68kelf: Likewise.
5828
03984308
BW
58292002-01-23 Bob Wilson <bob.wilson@acm.org>
5830
5831 * config/xtensa/elf.h: New file.
5832 * config/xtensa/lib1funcs.asm: New file.
5833 * config/xtensa/lib2funcs.S: New file.
5834 * config/xtensa/linux.h: New file.
5835 * config/xtensa/t-xtensa: New file.
5836 * config/xtensa/xtensa-config.h: New file.
5837 * config/xtensa/xtensa-protos.h: New file.
5838 * config/xtensa/xtensa.c: New file.
5839 * config/xtensa/xtensa.h: New file.
5840 * config/xtensa/xtensa.md: New file.
5841 * config.gcc (xtensa-*-elf*): New target.
5842 (xtensa-*-linux*): New target.
5843 * cse.c (canon_hash): Compare rtx pointers instead of register
5844 numbers. This is required for the Xtensa port.
5845 * integrate.c (copy_insn_list): Handle case where the static
5846 chain is in memory and the memory address has to be copied to
5847 a register.
5848 * doc/invoke.texi (Option Summary): Add Xtensa options.
5849 (Xtensa Options): New node.
5850 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
5851
c3d5c3fa
ZW
58522002-01-23 Zack Weinberg <zack@codesourcery.com>
5853
a63bea75
ZW
5854 * diagnostic.c (internal_error): Do ICE suppression only
5855 when ENABLE_CHECKING is not defined.
5856
c3d5c3fa
ZW
5857 * c-typeck.c (require_complete_type): Return error_mark_node
5858 if type is error_mark_node.
5859
1398974c
JJ
58602002-01-23 Janis Johnson <janis187@us.ibm.com>
5861
5862 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
5863 -Os and issue a warning.
5864
807633e5
ZW
58652002-01-23 Zack Weinberg <zack@codesourcery.com>
5866
5867 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
5868 current (lack of) need for host configuration by hand.
5869
5870 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
5871 references. Documentation of some target macros moved from
5872 hostconfig.texi to tm.texi.
5873
cf8002d0
WC
58742002-01-23 Will Cohen <wcohen@redhat.com>
5875
5876 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
5877 defined.
5878
d1e76310
KH
58792002-01-23 Kazu Hirata <kazu@hxi.com>
5880
5881 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
5882 operand[3].
5883
b2115575
JM
58842002-01-23 Jason Merrill <jason@redhat.com>
5885
f893c16e
JM
5886 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
5887
b2115575
JM
5888 * function.c (assign_parms): Don't put args of inline functions
5889 into registers when not optimizing.
5890
6bacc7b0
NC
58912002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
5892
5893 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
5894 (prologue_use): New pattern.
5895 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
5896 preference to gen_rtx_USE.
5897 (thumb_expand_prologue): Use gen_prologue_use in preference to
5898 gen_rtx_USE.
5899 (thumb_expand_epilogue): Use gen_prologue_use in preference to
5900 gen_rtx_USE.
5901
a415f7bc
HPN
59022002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
5903
5904 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
5905
5372b3fb
NB
59062002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
5907
5908 PR c/3504
5909 * doc/extend.texi: Correct documentation of __alignof__.
5910
bd571ffc
ZW
59112002-01-22 Zack Weinberg <zack@codesourcery.com>
5912
5913 * params.h: Rename arguments of DEFPARAM so that it will be
5914 recognized as a translation keyword.
5915
333c8841
AH
59162002-01-22 Aldy Hernandez <aldyh@redhat.com>
5917
bd571ffc
ZW
5918 * extend.texi: Document altivec functions.
5919 Fix N-bit adjectives in X86 builtin documentation.
333c8841 5920
38979c65
AO
59212002-01-22 Alexandre Oliva <aoliva@redhat.com>
5922
5923 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
5924 auto_inc_dec values.
5925
7458a9f0
RE
59262002-01-22 Richard Earnshaw <rearnsha@arm.com>
5927
5928 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
5929 after backslash.
5930 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
5931
129bd0c4
AO
59322002-01-22 Alexandre Oliva <aoliva@redhat.com>
5933
5934 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
5935
8b9b74a9
RH
59362002-01-22 Richard Henderson <rth@redhat.com>
5937
5938 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
5939 copy_insn not copy_rtx.
5940
d0c9db30
AM
59412002-01-23 Alan Modra <amodra@bigpond.net.au>
5942
5943 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
5944 "nonzero" as that might add "1" bits. Ensure "constop" is
5945 properly sign extened.
5946 (force_to_mode): Tweak for sign extended constop.
5947
1e7e480e
RH
59482002-01-22 Richard Henderson <rth@redhat.com>
5949
5950 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
5951 for_each_rtx instead of assuming we're already looking at the MEM.
5952 (split_small_symbolic_mem_operand): Likewise.
5953 * config/alpha/alpha.h (PREDICATE_CODES): Update.
5954 * config/alpha/alpha.md (small symbolic memory splitters): Update.
5955
59562002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
5957
5958 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
5959 sequence number for the literal.
5960 (divmoddi_internal_er): Likewise.
5961
b7f2fb96
CR
59622002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
5963
5964 PR java/4972
5965 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
5966 in LIBICONV variable.
5967 * configure: Regenerated.
5968
f66a0046
KW
59692002-01-22 Krister Walfridsson <cato@df.lth.se>
5970
5971 * dependence.c (build_def_use): Remove array_idx.
5972
e3b0efd1
KW
5973 * dwarfout.c (last_filename): Remove.
5974 (output_compile_unit_die): Remove last_filename.
5975
d8086cbb
RS
59762002-01-22 Roger Sayle <roger@eyesopen.com>
5977 Richard Henderson <rth@redhat.com>
5978
5979 PR opt/3640
5980 * fold-const.c (fold): Optimize unsigned comparisons against
5981 UINT_MAX (and similar unsigned constants).
5982
e8d52ba0
JJ
59832002-01-22 Janis Johnson <janis187@us.ibm.com>
5984
d8086cbb 5985 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 5986 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 5987 against the predicate.
11303d15 5988
e8d52ba0
JJ
5989 PR target/5379
5990 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
5991 for the address operand.
5992
cc7b420e
RH
59932002-01-22 Richard Henderson <rth@redhat.com>
5994
5995 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
5996
816e265a
CR
59972002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
5998
5999 PR other/5450
cc7b420e
RH
6000 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
6001 preprocessor flags.
816e265a 6002
7c884404
JT
60032002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
6004
6005 * config.gcc (x86_64-*-netbsd*): New target.
6006 * config/i386/netbsd64.h: New file.
6007
2b672c08
AH
60082002-01-22 Aldy Hernandez <aldyh@redhat.com>
6009
d8086cbb 6010 * regrename.c (kill_value): Fix typo.
2b672c08
AH
6011
60122002-01-22 Aldy Hernandez <aldyh@redhat.com>
6013
d8086cbb 6014 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 6015
d8086cbb 6016 * config/rs6000/rs6000.h: Same.
2b672c08 6017
d8086cbb
RS
6018 * function.c (instantiate_virtual_regs): Remove
6019 STARTING_FRAME_PHASE.
6020 (assign_stack_local_1): Same.
6021 Calculate frame phase.
2b672c08 6022
4b02997f
NC
60232002-01-22 Nick Clifton <nickc@redhat.com>
6024
6025 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
6026 variable declaration to outer scope in order to simplify
6027 future extensions.
6028 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
6029 arm_hard_regno_mode_ok.
6030 * config/arm/arm-protos.h: Add a prototype for
6031 arm_hard_regno_mode_ok.
6032 * config/arm/arm.c (soft_df_operand): Remove now redundant
6033 check for DImode values using IP_REGNUM.
6034 (nonimmediate_soft_df_operand): Remove now redundant check for
6035 DImode values using IP_REGNUM.
6036 (arm_hard_regno_mode_ok): New function. New check: make sure
6037 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
6038
6039 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
6040 note with a USE.
6041 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
6042
8a827ab2
JM
60432002-01-22 Jason Merrill <jason@redhat.com>
6044
6045 * c-semantics.c (genrtl_compound_stmt): Only check nesting
6046 consistency if this COMPOUND_STMT is scoped.
6047
cf403648
KH
60482002-01-22 Kazu Hirata <kazu@hxi.com>
6049
6050 * predict.c: Fix formatting.
6051 * print-tree.c: Likewise.
6052 * protoize.c: Likewise.
6053 * real.h: Likewise.
6054 * rtl.h: Likewise.
6055 * sbitmap.h: Likewise.
6056 * scan.c: Likewise.
6057 * sched-deps.c: Likewise.
6058 * sched-vis.c: Likewise.
6059 * sdbout.c: Likewise.
6060 * sibcall.c: Likewise.
6061 * ssa.c: Likewise.
6062 * ssa-ccp.c: Likewise.
6063 * ssa-dce.c: Likewise.
6064 * stmt.c: Likewise.
6065 * stor-layout.c: Likewise.
6066 * system.h: Likewise.
6067
aea9695c
RK
6068Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6069
a8765ae7
RK
6070 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
6071 if fits in bounds of base type.
6072
aea9695c
RK
6073 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
6074 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
6075 (add_bound_info, default): If can't find a context, make a
6076 SAVE_EXPR.
6077 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
6078
58bf601b
HPN
60792002-01-22 Hans-Peter Nilsson <hp@axis.com>
6080
6081 * c-typeck.c (parser_build_binary_op): If result from
6082 build_binary_op is ERROR_MARK just return error_mark_node without
6083 further processing.
6084
f982f805
JT
60852002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
6086
6087 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
6088 Split a.out-specific bits into...
6089 * config/netbsd-aout.h: ...this.
6090 * config/netbsd-elf.h: New file.
6091 * config/alpha/netbsd-elf.h: Remove.
6092 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
6093 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 6094 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
6095 (ENDFILE_SPEC): Likewise.
6096 (LINK_SPEC): Likewise.
6097 (CPP_SPEC): Likewise.
6098 (ASM_SPEC): Likewise.
6099 (LIB_SPEC): Likewise.
6100 (SWITCH_TAKES_ARG): Likewise.
6101 (TARGET_MEM_FUNCTIONS): Likewise.
6102 (CPP_PREDEFINES): Redefine.
6103 (ASM_FINAL_SPEC): Remove redefinition.
6104 (ASM_COMMENT_START): Redefine.
6105 (FUNCTION_PROFILER): Define.
6106 (TARGET_VERSION): Redefine.
6107 Comment and formatting cleanup.
6108 * config/i386/netbsd.h: Include <netbsd-aout.h>.
6109 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
6110 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
6111 big- or little-endian.
6112 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
6113 * config.gcc (*-*-netbsd*): Add definitions common to all
6114 NetBSD configs.
6115 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
6116 gnu_ld definitions. Add netbsd-elf.h to and remove
6117 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
6118 tmake_file, and don't lose previous tmake_file contents.
6119 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
6120 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
6121 gnu_ld definitions. Add netbsd-elf.h to tm_file.
6122 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
6123 (mipsel-*-netbsd*): Rename this to...
6124 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
6125 mips/little.h to tm_file for mips*el-*.
6126 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
6127 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
6128 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
6129
2e396476
JDA
61302002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
6131
6132 * pa-protos.h (reg_before_reload_operand): New function prototype.
6133 * pa.c (reg_before_reload_operand): New function implementation.
6134 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
6135 contraints to "*m".
6136
3b5708e7
FS
61372002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6138
6139 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
6140
85e79f96
JDA
61412002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
6142
6143 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
6144 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
6145 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
6146 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
6147 (ENDFILE_SPEC): Undefine.
6148 (STARTFILE_SPEC): Redefine for PA.
6149
38abadee
FS
61502002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6151
6152 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
6153
94f1d97c
DJ
61542002-01-21 Daniel Jacobowitz <drow@mvista.com>
6155
6156 * config.gcc: Add entries to supported PowerPC --with-cpu
6157 types.
6158
0333394e
JJ
61592002-01-21 Jakub Jelinek <jakub@redhat.com>
6160
6161 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
6162 true for 64-bit mode only SSE registers in 32-bit mode.
6163
e9d1b155
KH
61642002-01-21 Kazu Hirata <kazu@hxi.com>
6165
6166 * unwind-dw2.c: Fix formatting.
6167 * unwind-dw2-fde.c: Likewise.
6168 * unwind-dw2-fde.h: Likewise.
6169 * unwind-pe.h: Likewise.
6170 * varasm.c: Likewise.
6171 * varray.h: Likewise.
6172
07338cf8
HPN
61732002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
6174
6175 Remove workaround for register stack overwrite bug in mmix.
6176 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
6177 support for TARGET_REG_STACK_FILL_BUG.
6178 * config/mmix/mmix.h: Remove member has_call_without_parameters.
6179 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
6180 Delete.
6181 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
6182 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
6183 -mno-reg-stack-fill-bug-workaround.
6184 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
6185 machine member has_call_without_parameters.
6186 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
6187 -mreg-stack-fill-bug-workaround and
6188 -mno-reg-stack-fill-bug-workaround.
6189 (MMIX Options): Ditto.
6190
7192cbf1
KH
61912002-01-21 Kazu Hirata <kazu@hxi.com>
6192
6193 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
6194 as appropriate.
6195 Remove redundant code.
6196
d1552d7b
JM
61972002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
6198
6199 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
6200 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
6201 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
6202 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
6203 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
6204 out target macro definitions and non-target-specific comments
6205 mostly taken from old versions of the manual.
6206
ed168e45
KH
62072002-01-20 Kazu Hirata <kazu@hxi.com>
6208
6209 * config/h8300/h8300.h: Fix comment formatting.
6210 * config/ia64/aix.h: Likewise.
6211 * config/ia64/ia64-protos.h: Likewise.
6212 * config/ia64/ia64.c: Likewise.
6213 * config/ia64/ia64.h: Likewise.
6214 * config/ia64/ia64intrin.h: Likewise.
6215 * config/ia64/linux.h: Likewise.
6216 * config/ia64/unwind-aix.c: Likewise.
6217 * config/ia64/unwind-ia64.c: Likewise.
6218
005e3e05
KH
62192002-01-20 Kazu Hirata <kazu@hxi.com>
6220
6221 * config/h8300/h8300.c: Revise comments about shift code.
6222
64bead4c
KH
62232002-01-20 Kazu Hirata <kazu@hxi.com>
6224
6225 * config/h8300/h8300.c (function_arg): Update a comment.
6226
ed863595
KH
62272002-01-20 Kazu Hirata <kazu@hxi.com>
6228
6229 * config/h8300/h8300.md: Update the comments at the beginning
6230 of the file.
6231
5904dc87
KH
62322002-01-20 Kazu Hirata <kazu@hxi.com>
6233
6234 * config/i370/i370.c: Fix comment formatting.
6235 * config/i370/i370.h: Likewise.
6236 * config/i370/i370.md: Likewise.
6237 * config/i370/linux.h: Likewise.
6238
9702143f
RK
6239Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6240
cbafacd1
RK
6241 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
6242
9702143f
RK
6243 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
6244 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
6245 in incomplete case.
6246
6b6996b8
GS
62472002-01-20 Graham Stott <grahams@redhat.com>
6248
6249 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
6250
eab854f6
JDA
62512002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
6252
6253 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
6254
5b029315
TR
62552002-01-19 Tom Rix <trix@redhat.com>
6256
6257 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
6258
1d690052
AH
62592002-01-18 Aldy Hernandez <aldyh@redhat.com>
6260
d8086cbb 6261 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 6262
d8086cbb
RS
6263 * function.c (assign_stack_local_1): Adjust x_frame_offset with
6264 STARTING_FRAME_PHASE.
6265 (STARTING_FRAME_PHASE): New.
6266 (instantiate_virtual_regs): Check saneness of
6267 STARTING_FRAME_PHASE.
1d690052 6268
d8086cbb 6269 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 6270
4dd8c093
AO
62712002-01-19 Alexandre Oliva <aoliva@redhat.com>
6272
6273 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
6274
6f2a28d7
CR
62752002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
6276
6277 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
6278 be used for bootstrapping GCC 3.0.
6279
8763a465
KH
62802002-01-18 Kazu Hirata <kazu@hxi.com>
6281
6282 * config/h8300/h8300.md: Fix an insn length.
6283
3ef42a0c
KH
62842002-01-18 Kazu Hirata <kazu@hxi.com>
6285
6286 * bitmap.h: Fix comment formatting.
6287 * combine.c: Likewise.
6288 * cppfiles.c: Likewise.
6289 * c-pragma.h: Likewise.
6290 * c-typeck.c: Likewise.
6291 * df.c: Likewise.
6292 * dwarf2out.c: Likewise.
6293 * function.c: Likewise.
6294 * gcc.c: Likewise.
6295 * genattrtab.c: Likewise.
6296 * gthr-win32.h: Likewise.
6297 * haifa-sched.c: Likewise.
6298 * predict.c: Likewise.
6299 * rtlanal.c: Likewise.
6300 * rtl.h: Likewise.
6301 * unwind-dw2-fde.h: Likewise.
6302 * unwind-pe.h: Likewise.
6303 * vmsdbgout.c: Likewise.
6304
dd4dc3cd
RK
6305Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6306
6307 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
6308 if type_required and passed decl.
6309
5fb4cf24
AH
63102002-01-17 Aldy Hernandez <aldyh@redhat.com>
6311
d8086cbb
RS
6312 * config.gcc (cpu_type): Include altivec.h in powerpc
6313 extra_headers.
6314 Same for darwin.
5fb4cf24 6315
d8086cbb 6316 * config/rs6000/altivec.h: New.
5fb4cf24 6317
2705baf5
DE
63182002-01-17 David Edelsohn <edelsohn@gnu.org>
6319
6320 * doc/install.texi (*-ibm-aix*): Update assembler and exception
6321 handling information.
6322 * doc/trouble.texi (Interoperation): Add libstdc++ information
6323 for AIX.
6324 (Misunderstandings): Add template instantiation and static template
6325 member information for AIX.
6326
dbd680e1
JM
63272002-01-17 Jason Merrill <jason@redhat.com>
6328
821adc5e
JM
6329 * dbxout.c (dbxout_type): Support const and volatile.
6330
dbd680e1
JM
6331 * except.c (add_partial_entry): Remove backwards compatibility code.
6332 (end_protect_partials): Likewise.
6333
d0e82870
JJ
63342002-01-17 Jakub Jelinek <jakub@redhat.com>
6335
6336 * config/ia64/ia64.md (prologue_use): New.
6337 * config/ia64/ia64.c (ia64_expand_prologue): Use
6338 gen_prologue_use instead of gen_rtx_USE.
6339 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
6340 as CODE_FOR_pred_rel_mutex.
6341 (ia64_sched_reorder2): Likewise.
6342
f9f45c65
EC
63432002-01-16 Eric Christopher <echristo@redhat.com>
6344
6345 * config/mips/r3900.h: Reformat.
6346 (SUBTARGET_CPP_SIZE_SPEC): Remove.
6347 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6348 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
6349 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
6350 * config/mips/t-elf: Remove mips3 multilib.
6351
c66c8b0e
L
63522002-01-16 H.J. Lu <hjl@gnu.org>
6353
6354 * config/mips/linux.h: Include "mips/abi64.h".
6355
5f083b72
L
63562002-01-16 H.J. Lu <hjl@gnu.org>
6357
6358 * config/mips/t-linux: New.
6359
6360 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
6361
6362 * config/mips/linux.h: Don't include "gofast.h".
6363 (INIT_SUBTARGET_OPTABS): Removed.
6364
af3c90a6
KH
63652002-01-16 Kazu Hirata <kazu@hxi.com>
6366
6367 * config/h8300/h8300-protos.h: Replace emit_a_shift with
6368 output_a_shift.
6369 * config/h8300/h8300.c: Likewise.
6370 * config/h8300/h8300.md: Likewise.
6371
a1bf0a16
KH
63722002-01-16 Kazu Hirata <kazu@hxi.com>
6373
6374 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
6375 spaces after an opcode name.
6376 (pushqi1_h8300hs): Likewise.
6377 (pushhi1_h8300hs): Likewise.
6378
88ab0d1c
KH
63792002-01-16 Kazu Hirata <kazu@hxi.com>
6380
6381 * doc/extend.texi: Replace "option" with "attribute"
6382 appropriately.
6383
51c561e3
JJ
63842002-01-16 Jakub Jelinek <jakub@redhat.com>
6385
6386 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
6387 (and:DI () (const_int -8)).
6388 (split_small_symbolic_mem_operand): Split
6389 (mem (and:DI () (const_int -8)).
6390
b8c1a6b8
JJ
63912002-01-16 Jakub Jelinek <jakub@redhat.com>
6392
6393 PR target/5309:
d8086cbb 6394 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
6395 same way as TYPE_IMUL.
6396 (ultrasparc_sched_reorder): Likewise.
6397 * config/sparc/sparc.md (type): Add comment to update
6398 ultrasparc_sched_reorder when making changes.
6399
1e4e4df2
KH
64002002-01-16 Kazu Hirata <kazu@hxi.com>
6401
6402 * doc/invoke.texi: Change the dump file name of block
6403 reordering pass from 28.bbro to 29.bbro.
6404 Mention -dk option.
6405
14d920c0
JH
6406Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
6407
6408 * i386.md (minsf splitter): Fix pasto.
6409
2e99323f
NC
64102002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
6411
6412 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
6413 to frame pointer initialisation instruction.
6414 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
6415 initialisation instruction.
ab8081c1
NC
6416 (soft_df_operand): Do not accept the IP register.
6417 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 6418
c4031a04
JJ
64192002-01-16 Jakub Jelinek <jakub@redhat.com>
6420
6421 PR target/5357:
6422 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
6423 MASK_V8 being both set.
6424
44b8152b
UW
64252002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
6426
6427 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
6428 insn for GOT register; add REG_MAYBE_DEAD notes instead.
6429 config/s390/s390.md (call, call_value): Add GOT register to
6430 CALL_INSN_FUNCTION_USAGE where needed.
6431 (call_exp, call_value_exp): New.
6432
1d6e90ac
NC
64332002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
6434
6435 * config/arm/arm.c: General formatting tidy up.
6436
64372002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
6438
6439 * calls.c (try_to_integrate): Use "(size_t)" intermediate
6440 cast and when casting an integer literal to "rtx" pointer.
6441 (expand_call): Likewise.
6442 * flow.c (try_pre_increment): Likewise.
6443 (find_use_as_address): Likewise.
6444 * integrate.c (expand_iline_function): Likewise.
6445 * regmove.c (try_auto_increment): Likewise.
6446
1d6e90ac 64472002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
6448
6449 * sched-rgn.c (passed): Use sbitmap_free.
6450 (header): Likewise.
6451 (inner): Likewise.
6452 (in_queue): Likewise.
6453 (in_stack): Likewise.
6454
31fce3c4
EC
64552002-01-15 Eric Christopher <echristo@redhat.com>
6456
6457 * flow.c (propagate_one_insn): Change to use fatal_insn.
6458
c99d986a
KH
64592002-01-15 Kazu Hirata <kazu@hxi.com>
6460
6461 * expmed.c (extract_fixed_bit_field): Remove unused code.
6462 * system.h: Poison SLOW_ZERO_EXTEND.
6463 * doc/tm.texi: Remove.
6464 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
6465 * config/arm/arm.h: Likewise.
6466 * config/avr/avr.h: Likewise.
6467 * config/clipper/clipper.h: Likewise.
6468 * config/convex/convex.h: Likewise.
6469 * config/d30v/d30v.h: Likewise.
6470 * config/dsp16xx/dsp16xx.h: Likewise.
6471 * config/elxsi/elxsi.h: Likewise.
6472 * config/fr30/fr30.h: Likewise.
6473 * config/h8300/h8300.h: Likewise.
6474 * config/i370/i370.h: Likewise.
6475 * config/i386/i386.h: Likewise.
6476 * config/m68k/m68k.h: Likewise.
6477 * config/mips/mips.h: Likewise.
6478 * config/ns32k/ns32k.h: Likewise.
6479 * config/pdp11/pdp11.h: Likewise.
6480 * config/pj/pj.h: Likewise.
6481 * config/s390/s390.h: Likewise.
6482 * config/sh/sh.h: Likewise.
6483 * config/stormy16/stormy16.h: Likewise.
6484 * config/v850/v850.h: Likewise.
6485 * config/vax/vax.h: Likewise.
6486 * config/we32k/we32k.h: Likewise.
6487
acfab996
AH
64882002-01-15 Aldy Hernandez <aldyh@redhat.com>
6489
d8086cbb
RS
6490 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
6491 (altivec_lvsl): Change constraint to b.
6492 (altivec_lvsr): Same.
6493 (altivec_lvebx): Same.
6494 (altivec_lvehx): Same.
6495 (altivec_lvewx): Same.
6496 (altivec_lvxl): Same.
6497 (altivec_lvx): Same.
6498 (altivec_stvx): Add parallel.
6499 (altivec_stvxl): Same.
6500 (altivec_stvehx): Same.
6501 (altivec_stvebx): Same.
6502 (altivec_stvebx): Same.
acfab996 6503
5e505bc9
AH
65042002-01-15 Aldy Hernandez <aldyh@redhat.com>
6505
d8086cbb 6506 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 6507
d8086cbb 6508 * config/rs6000/altivec.h: Delete.
5e505bc9 6509
d8086cbb 6510 * config/rs6000/altivec-defs.h: Add.
5e505bc9 6511
5c41fdfb
JDA
65122002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
6513
6514 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
6515 and UMOD modes.
6516
6517 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
6518 less than or equal to eight bytes.
6519
6520 * vax.md (andsi3): Remove constraints and change SET destination
6521 operand type to nonimmediate_operand.
6522 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
6523 when it is a CONST_INT.
6524
de097a2d
JM
65252002-01-15 Jason Merrill <jason@redhat.com>
6526
6527 * c-common.def (FILE_STMT): New code.
6528 * c-common.c (statement_code_p): It's a statement.
6529 * c-common.h (stmt_tree_s): Add x_last_filename.
6530 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
6531 (last_expr_filename): New macro.
6532 * c-semantics.c (begin_stmt_tree): Initialize it.
6533 (add_stmt): If the filename changed, also insert a
6534 FILE_STMT.
6535 (expand_stmt): Handle seeing one.
6536
4a913dd6
EC
65372002-01-15 Eric Christopher <echristo@redhat.com>
6538
6539 * flow.c (propagate_one_insn): Add error message and print out
6540 insn for debugging.
6541
006946e4
JM
65422002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
6543
6544 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
6545 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
6546 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
6547 TRAMPOLINE_ALIGNMENT.
6548 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
6549 to be in bits.
6550 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
6551 PCC_BITFIELD_TYPE_MATTERS.
6552 * config/interix.h (STDC_VALUE): Remove. Use
6553 STDC_0_IN_SYSTEM_HEADERS.
6554 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
6555 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
6556 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
6557
751a1458
CR
65582002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
6559
6560 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
6561 not work on this platform currently.
6562
57771fe8
JM
65632002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
6564
6565 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
6566 readonly_warning in _().
6567
0e83ceb1 65682002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 6569
0e83ceb1 6570 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 6571
8e2e89f7
KH
65722002-01-15 Kazu Hirata <kazu@hxi.com>
6573
0e83ceb1
DR
6574 * config/h8300/h8300.c (print_operand): Remove support for
6575 unused operand characters.
6576
8e2e89f7
KH
6577 * read-rtl.c: Fix formatting.
6578 * real.c: Likewise.
6579 * recog.c: Likewise.
6580 * regclass.c: Likewise.
6581 * regmove.c: Likewise.
6582 * reg-stack.c: Likewise.
6583 * reload1.c: Likewise.
6584 * rtlanal.c: Likewise.
6585
b531087a
KH
65862002-01-15 Kazu Hirata <kazu@hxi.com>
6587
6588 * config/i386/i386.c: Fix formatting.
6589
7c94ce7f
JJ
65902002-01-15 Jakub Jelinek <jakub@redhat.com>
6591
6592 * c-typeck.c (process_init_element): Don't save_expr
6593 COMPOUND_LITERAL_EXPR if just its initializer will be used.
6594
6041bf2f
DE
65952002-01-15 David Edelsohn <edelsohn@gnu.org>
6596
6597 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
6598 emit optional traceback table if optimize_size or TARGET_ELF.
6599 * config/rs6000/rs6000.md (prefetch): New.
6600
8559c8c0
AJ
66012002-01-15 Andreas Jaeger <aj@suse.de>
6602
6603 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
6604
70f122f2
KH
66052002-01-15 Kazu Hirata <kazu@hxi.com>
6606
6607 * mips-tfile.c: Fix formatting.
6608
6a7b4ca6
JH
6609Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
6610
6611 * unroll.c (final_reg_note_copy): Fix previous commit.
6612
e7afe229
KH
66132002-01-14 Kazu Hirata <kazu@hxi.com>
6614
6615 * config/h8300/h8300-protos.h: Remove the prototype for
6616 eq_operator.
6617 * config/h8300/h8300.c (eq_operator): Remove.
6618
7d378549
RH
66192002-01-14 Richard Henderson <rth@redhat.com>
6620
6621 * config/i386/i386.md (prefetch): Tidy.
6622 (prefetch_3dnow): Fix locality operand.
6623
ab093b81
RH
66242002-01-14 Richard Henderson <rth@redhat.com>
6625
6626 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
6627 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
6628
d300f51f
HPN
66292002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
6630
6631 * reload1.c (reload_combine): Pass reg_sum replacement through
6632 copy_rtx in loop performing multiple changes.
6633
655dd289
JJ
66342002-01-14 Jakub Jelinek <jakub@redhat.com>
6635
6636 * except.c (remove_unreachable_regions): New.
6637 (free_eh_status): Clear exception_handler_labels.
6638 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
6639 (find_exception_handler_labels): Don't add the same label more than
6640 once.
6641 (remove_exception_handler_label): Don't die if
6642 find_exception_handler_labels hasn't been called for the current
6643 function yet.
6644
1fba46a7
JH
6645Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
6646
6647 * toplev.c (rest_of_compilation): Rebuild jump labels after
6648 gcse.
6649
0975678f
JM
66502002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
6651
6652 * doc/extend.texi: Move documentation of X86 built-in functions
6653 here.
6654 * doc/invoke.texi: From here.
6655 * doc/sourcebuild.texi: Document location of documentation for
6656 machine built-in functions.
6657
969815c7
CF
66582002-01-13 Christopher Faylor <cgf@redhat.com>
6659
6660 * cppfiles.c (TEST_THRESHOLD): New macro.
6661 (SHOULD_MMAP): Ditto.
6662 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
6663 be used.
6664
494c950b
JH
6665Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
6666
6667 * unroll.c (final_reg_note_copy): Properly handle
6668 REG_LABEL
6669 (unroll_loops): Fix LOOP_CONDITION heuristics.
6670
69a0611f
GK
66712002-01-14 Geoffrey Keating <geoffk@redhat.com>
6672
6673 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
6674 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
6675
b90e45ae
JH
6676Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
6677
6678 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
6679 threaded loop.
6680
8377288b
TR
66812002-01-14 Tom Rix <trix@redhat.com>
6682
6683 * config/rs6000/rs6000.md: Fix typo with sradi.
6684
9f37ccb1
UW
66852002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
6686
6687 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
6688 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
6689 (clrstrdi, clrstrsi): Adapt callers.
6690
6691 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
6692
8559c8c0 6693 (movti splitter): Never use register 0 as base register.
9f37ccb1 6694
6c2d03d0
HP
66952002-01-14 Hartmut Penner <hpenner@de.ibm.com>
6696
8559c8c0
AJ
6697 * combine.c (simplify_shift_const): Always generate new rtx
6698 for shift expression instead of reusing given expression.
6c2d03d0 6699
d3e98208
RK
6700Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6701
6702 * config/alpha/alpha.c (alpha_expand_mov): Don't call
6703 alpha_legitimize_address unless mode is Pmode.
6704
9f339dde
GK
67052002-01-13 Geoffrey Keating <geoffk@redhat.com>
6706
6707 * doc/md.texi (Modifiers): Document the '*' constraint for the
6708 user.
6709
6710 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
6711 * doc/extend.texi (Function Attributes): 'interrupt' is valid
6712 for xstormy16 too.
6713
02a10130
RH
67142002-01-13 Richard Henderson <rth@redhat.com>
6715
6716 * reload.c (find_reloads): Use a hard reg destination as reload reg
6717 for an input reload of the source.
6718
61d47787
GP
67192002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6720
6721 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
6722 more generic.
6723
f0df8029
DR
6724Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
6725
6726 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
6727 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
6728
d2a37256
DR
6729 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
6730
a9e8a5ee
RK
6731Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6732
6733 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
6734
bc06712d
TR
67352002-01-12 Tom Rix <trix@redhat.com>
6736
8559c8c0 6737 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
6738 TARGET_POWERPC64.
6739
7cbe9bb7
RH
67402002-01-12 Richard Henderson <rth@redhat.com>
6741
38b29e64
RH
6742 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
6743
58605ba0
RH
6744 * doc/invoke.texi: Update Alpha options.
6745
7cbe9bb7
RH
6746 * doc/invoke.texi: Update i386 built-in function lists.
6747
9d560860
JH
6748Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
6749
6750 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
6751 referencing outside.
6752
bb93b973
RK
6753Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6754
6755 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
6756 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
6757 offsets, and change line folding.
6758 * optabs.c (expand_binop): Remove warnings.
6759 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 6760
f9f6b7df
GS
67612002-01-12 Graham Stott <grahams@redhat.com>
6762
6763 * attribs.c (handle_deprecated_attribute): constify WHAT.
6764 * diagnostic.c (warn_deprecated_use): Add braces, fixes
6765 dangling else warning and constify WHAT.
6766 * except.h (struct function, struct inline_remap): Move
6767 struct tag forward defs before all prototypes.
6768 (duplicate_eh_regions): Whitespace.
6769
4a692617
NC
67702002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
6771
6772 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
6773 MODE_BASE_REG_CLASS.
6774 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
6775
e37af218
RH
67762002-01-12 Richard Henderson <rth@redhat.com>
6777
6778 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
6779 (ix86_expand_vector_move): New.
6780 (bdesc_2arg): Remove andps, andnps, orps, xorps.
6781 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
6782 Remove old prefetch builtins. Special case the logicals removed above.
6783 (ix86_expand_builtin): Likewise.
6784 (safe_vector_operand): Use V4SFmode, not TImode.
6785 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
6786 (ix86_expand_timode_binop_builtin): New.
6787 * config/i386/i386-protos.h: Update.
6788 * config/i386/i386.h (enum ix86_builtins): Update.
6789 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
6790 Use ix86_expand_vector_move in vector move expanders.
6791 (movti_internal, movti_rex64): Add xorps alternative.
6792 (sse_clrv4sf): Rename and adjust from sse_clrti.
6793 (prefetch): Don't work so hard.
6794 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
6795 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
6796 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
6797
6f1a6c5b
RH
67982002-01-11 Richard Henderson <rth@redhat.com>
6799
6800 * config/i386/mmintrin.h: New file.
6801 * config/i386/xmmintrin.h: New file.
6802 * config.gcc (i?86-*-*): Add extra_headers.
6803 * simplify-rtx.c (simplify_unary_operation): Handle saturating
6804 truncation codes.
6805 (simplify_binary_operation): Handle saturating arithmetic codes.
6806 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
6807 not the lowpart subreg.
6808 (ix86_expand_builtin): Return a TImode dummy register instead of 0
6809 on error.
6810 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
6811
cdb574d3
MH
68122002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6813
6814 * conflict.c (conflict_graph_compute): Free regsets when finished.
6815 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 6816
cf11ac55
HB
68172002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6818
6819 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
6820 every where we allocate a register.
6821
76ac938b
MH
68222002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6823
6824 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
6825 * lcm.c (compute_earliest, compute_farthest): Likewise.
6826
a84b4898
JJ
68272002-01-11 Janis Johnson <janis187@us.ibm.com>
6828
6829 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
6830
aaef1c12
JJ
68312002-01-11 Janis Johnson <janis187@us.ibm.com>
6832
6833 * doc/rtl.texi (Insns): Fix 2 typos.
6834
5d22c1a5
JM
68352002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
6836
6837 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
6838 options. Use @table @gcctabopt for MMIX options. Add index
6839 entries for MMIX options. Start new paragraph with first
6840 heading of the machine-dependent options.
6841
3e92902c
CR
68422002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
6843
6844 PR other/5299
6845 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
6846 * combine.c (force_to_mode): Same.
6847 * reload1.c (clear_reload_reg_in_use): Same.
6848
96ae8197
NC
68492002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
6850
6851 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
6852 and 'subtargets'.
6853
9b780582
AJ
68542002-01-11 Andreas Jaeger <aj@suse.de>,
6855 Brad Lucier <lucier@math.purdue.edu>
6856
6857 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
6858 mcpu.
6859
12300dad
DR
6860Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
6861
6862 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
6863 Protect with IN_LIBGCC.
6864 (LINK_EH_SPEC): Add required trailing space.
6865
27511a9a
NP
6866Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
6867
9b780582 6868 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
6869 under the filename which contains them.
6870 (check_identifier, finish_decl_top_level,
6871 lookup_name_current_level_global, shadow_record_fields): Remove.
6872
4daeab16
AJ
68732002-01-11 Andreas Jaeger <aj@suse.de>
6874
6875 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
6876 march.
6877
40571d67
RH
68782002-01-10 Richard Henderson <rth@redhat.com>
6879
6880 * config/alpha/alpha.c (print_operand): Add 'J'.
6881 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
6882 new operand with the sequence number for the lituse. When splitting
6883 the insns, use gen_movdi_er_high_g and generate a sequence number.
6884 (gen_movdi_er_high_g): Print the sequence number if non-zero.
6885
6525c0e7
AH
68862002-01-10 Aldy Hernandez <aldyh@redhat.com>
6887
d8086cbb
RS
6888 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
6889 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
6890 stvxl.
6891 (altivec_expand_builtin): Same.
6892 (altivec_expand_stv_builtin): New.
6893
6894 * config/rs6000/rs6000.h (rs6000_builtins): Same.
6895
6896 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
6897 ("altivec_lvehx"): New.
6898 ("altivec_lvewx"): New.
6899 ("altivec_lvxl"): New.
6900 ("altivec_lvx"): New.
6901 ("altivec_stvx"): New.
6902 ("altivec_stvebx"): New.
6903 ("altivec_stvehx"): New.
6904 ("altivec_stvewx"): New.
6905 ("altivec_stvxl"): New.
6525c0e7 6906
cda94cbb
RH
69072002-01-10 Richard Henderson <rth@redhat.com>
6908
6909 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
6910 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
6911 care not to delete instructions twice.
6912
df2c9a44
ZW
69132002-01-10 Zack Weinberg <zack@codesourcery.com>
6914
6915 * toplev.c: Don't declare environ (it's not used anywhere).
6916 * configure.in: Don't check for declaration of environ.
6917 * config/i386/xm-mingw32.h: Don't #define environ.
6918 * config.in, configure: Regenerate.
6919
5dd8a9b1
ZW
69202002-01-10 Zack Weinberg <zack@codesourcery.com>
6921
6922 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
6923 * configure: Regenerate.
6924
6925 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
6926 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
6927 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
6928 alpha/xm-vms.h.
6929 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
6930 LIMITS_H_TEST here, not in m68k/x-next.
6931 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
6932 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
6933
6934 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
6935 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
6936 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
6937
6938 * config/i386/x-djgpp: Renamed i386/t-djgpp.
6939 * config/m88k/x-dolph: Renamed m88k/t-dolph.
6940 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
6941 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
6942 replacement of quadlib.asm with quadlib.c.
6943
6944 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
6945 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
6946 config/rs6000/xm-beos.h: Delete file.
6947
6948 * config.gcc: Update to match above changes.
6949
d10dd44c
KH
69502002-01-10 Kazu Hirata <kazu@hxi.com>
6951
6952 * config/h8300/h8300.h: Fix comment typos.
6953 * config/h8300/h8300.md: Likewise.
6954 * config/h8300/lib1funcs.asm: Likewise.
6955
04894c5a
DJ
69562002-01-10 Dale Johannesen <dalej@apple.com>
6957
6958 PR optimization/5269
6959 * unroll.c (precondition_loop_p): Make *increment be the correct
6960 sign when n_iterations known, to avoid confusing caller.
6961
adc9fe67
KH
69622002-01-10 Kazu Hirata <kazu@hxi.com>
6963
6964 * doc/extend.texi (deprecated): Fix a typo.
6965
b446e5a2
JH
6966Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
6967
6968 * basic-block.h (update_br_prob_note): Declare.
6969 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
6970 (try_forward_edges): Care negative frequencies and update note.
6971 (outgoing_edges_match): Tweek conditional merging heuristics.
6972 (try_crossjump_to_edge): use update_br_prob_note.
6973 * cfglayout.c (fixup_reorder_chain): Likewise.
6974 * cfrtl.c (update_br_prob_note): New.
6975 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
6976
6977 * i386.c (ix86_decompose_address): Return -1 if address contains
6978 shift.
6979 (legitimate_address_p): Require ix86_decompose_address to return 1.
6980
6981 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
6982 (cprop_insn): Likewise.
6983
a01da83b
KH
69842002-01-10 Kazu Hirata <kazu@hxi.com>
6985
6986 * toplev.c: Fix formatting.
6987 * tree.c: Likewise.
6988 * tree-dump.c: Likewise.
6989 * unroll.c: Likewise.
6990 * unwind-dw2.c: Likewise.
6991 * unwind-dw2-fde.c: Likewise.
6992 * unwind-dw2-fde-glibc.c: Likewise.
6993 * unwind-sjlj.c: Likewise.
6994
9f85bca7
JM
69952002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
6996
6997 * doc/invoke.texi: Document PDP-11 options.
6998
f48f56b1
KH
69992002-01-10 Kazu Hirata <kazu@hxi.com>
7000
7001 * config/h8300/h8300.h: Fix formatting.
7002
ead39bdf 70032002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
7004
7005 Add __attribute__ ((deprecated)).
7006 * extend.texi: Document __attribute__ ((deprecated)).
7007 * invoke.texi: Document -Wno-deprecated-declarations.
7008 * testsuite/g++.dg/other/deprecated.C: New C++ test.
7009 * testsuite/gcc.dg/deprecated.c: New C test.
7010 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
7011 (c_common_attribute_table): Add "deprecated" entry.
7012 (handle_deprecated_attribute): New function.
7013 * c-decl.c (deprecated_states): New enum.
7014 deprecated_state: State of "deprecated" handling.
7015 (start_decl): Set deprecated_state based on attributes.
7016 (grokdeclarator): Test for deprecated uses, propagate attribute.
7017 * c-typeck.c (build_component_ref): Test for deprecated fields.
7018 (build_external_ref): Test for deprecated primaries.
7019 * diagnostic.c (warn_deprecated_use) New function to issue
7020 warnings about __attribute__ ((depricated)) references.
7021 * flags.h (warn_deprecated_decl): Extern declared for
7022 -W[no-]deprecated-declarations option.
7023 * print-tree.c (print_node): Show deprecated flag status.
7024 * toplev.c (warn_deprecated_decl): Defined.
7025 (W_options): Added "deprecated-declaration".
7026 * toplev.h (warn_deprecated_use): Extern declared.
7027 * tree.h (struct tree_common): Define deprecated_flag.
7028 (TREE_DEPRECATED): New macro to access flag.
7029 * cp/call.c (build_call): Test for deprecated calls.
7030 * cp/class.c (add_implicitly_declared_members): Set global
7031 flag to tell grokdeclarator to not issue deprecated warnings.
7032 * cp/cp-tree.h: Add extern for adding_implicit_members.
7033 * cp/decl.c (deprecated_states): New enum.
7034 (start_decl): Set deprecated_state based on attributes.
7035 (grokdeclarator): Test for deprecated uses, propagate attribute.
7036 * cp/lex.c (do_identifier): Test for deprecated primaries.
7037 * cp/typeck.c (build_component_ref): Test for deprecated fields.
7038
ead39bdf 70392002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
7040
7041 Fix to assign attributes to inline member functions.
7042 * cp/decl.c (start_method): Handle attrlist.
7043
47073a38
KH
70442002-01-10 Kazu Hirata <kazu@hxi.com>
7045
7046 * combine.c (expand_field_assignment): Use subreg_lsb().
7047
d288e53d
DE
70482002-01-10 David Edelsohn <edelsohn@gnu.org>
7049
7050 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
7051 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
7052 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
7053 Recurse for any operand of AND as long as constant is non-zero.
7054
08a02ffa
KH
70552002-01-10 Kazu Hirata <kazu@hxi.com>
7056
7057 * config/h8300/h8300.md: Remove constraints from expanders.
7058
c203e7fe
KH
70592002-01-10 Kazu Hirata <kazu@hxi.com>
7060
7061 * varasm.c: Fix formatting.
7062 * varray.c: Likewise.
7063 * vmsdbgout.c: Likewise.
7064 * xcoffout.c: Likewise.
7065
bcb3bc6d
JH
7066Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
7067
7068 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 7069 update edge probabilities to match.
bcb3bc6d 7070
0a553c7e
JM
70712002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
7072
7073 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
7074 dependencies.
7075 * doc/languages.texi, doc/sourcebuild.texi: New files.
7076 * doc/configfiles.texi: Make a subsubsection. Update.
7077 * doc/configterms.texi: Add @node. Remove warning that this isn't
7078 instructions for building GCC.
7079 * doc/makefile.texi: Make a subsection.
7080 * doc/gccint.texi: Update.
7081
adc7fcb8
JH
7082Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
7083
7084 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
7085
5a4dd0b3
NP
7086Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
7087
7088 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
7089
3987b9db
JH
7090Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
7091
7092 * optabs.c (expand_fix): Look for wider integer modes first.
7093
7094 * i386.md (mov?f): Avoid the fake const double trick for medium
7095 memory model.
7096 (min?f*/max?f*): Prohibit memory operands for i387 variant.
7097 (fop_df_4): Disable for SSE compilation.
7098
ceb15948 70992002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
7100
7101 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 7102 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 7103
e1623399
RH
71042002-01-10 Richard Henderson <rth@redhat.com>
7105
7106 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
7107
c4abb293
RH
71082002-01-10 Richard Henderson <rth@redhat.com>
7109
7110 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
7111 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
7112
d2604ae9
KH
71132002-01-10 Kazu Hirata <kazu@hxi.com>
7114
7115 * combine.c (can_combine_p): Fix a comment typo.
7116
766c7ad1
ZW
71172002-01-09 Zack Weinberg <zack@codesourcery.com>
7118
7119 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
7120 empty list correctly. Change loop index $t to $f for
7121 consistency with rest of Makefile.
7122
95385cbb
AH
71232002-01-08 Aldy Hernandez <aldyh@redhat.com>
7124
7125 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
7126 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
7127
7128 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
7129 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
7130 (altivec_init_builtins): Same.
7131 (altivec_expand_unop_builtin): Return NULL_RTX on error.
7132 (altivec_expand_binop_builtin): Same.
7133 (altivec_expand_ternop_builtin): Same.
7134 (bdesc_dst): New.
7135
7136 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
7137 ("altivec_vctuxs"): Fix typo.
7138 ("altivec_vnmsubfp"): Same.
7139 ("altivec_dssall"): New.
7140 ("altivec_mfvscr"): New.
7141 ("altivec_dss"): New.
7142 ("altivec_lvsl"): New.
7143 ("altivec_lvsr"): New.
7144 ("altivec_dstt"): New.
7145 ("altivec_dstst"): New.
7146 ("altivec_dststt"): New.
7147 ("altivec_dst"): New.
7148
7149 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
7150 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
7151
e4ac76b4
RH
71522002-01-09 Richard Henderson <rth@redhat.com>
7153
7154 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
7155
c893e4a4
HPN
71562002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
7157
7158 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
7159 function.
7160 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
7161 prototype.
7387c700 7162 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 7163
f4f4d0f8
KH
71642002-01-09 Kazu Hirata <kazu@hxi.com>
7165
7166 * read-rtl.c: Fix formatting.
7167 * real.c: Likewise.
7168 * regclass.c: Likewise.
7169 * regrename.c: Likewise.
7170 * reg-stack.c: Likewise.
7171 * reload1.c: Likewise.
7172 * reload.c: Likewise.
7173 * rtl.c: Likewise.
7174
cc863bea
KH
71752002-01-09 Kazu Hirata <kazu@hxi.com>
7176
7177 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
7178 to extract items in the expr_list chain.
7179
7b4dfe3d
RH
71802002-01-09 Richard Henderson <rth@redhat.com>
7181
7182 * config/vax/vax.c (vax_rtx_cost): Never abort.
7183
1d969638
RH
7184 * config/vax/vax.h (REAL_ARITHMETIC): Define.
7185
7d5ab30e
JH
71862002-01-09 Jan Hubicka <jh@suse.cz>
7187
7188 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
7189
9503f3d1
RH
71902002-01-09 Richard Henderson <rth@redhat.com>
7191
7192 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
7193 Unify code from various alternatives.
7194
42bd17b7
RH
71952002-01-09 Richard Henderson <rth@redhat.com>
7196
7197 * regrename.c (copy_value): Ignore the copy if the source register
7198 is present in the value chain with a narrower mode.
7199
bdca3c33
HB
72002002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7201
cda94cbb
RH
7202 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
7203 for the c4x target. Also improve layout.
bdca3c33 7204
c73a5e94
RH
72052002-01-09 Richard Henderson <rth@redhat.com>
7206
7207 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
7208 * config/m32r/m32r.md (and ior xor splitters): Swap operands
7209 to match insn patterns.
7210
dd0a18c0
RH
72112002-01-09 Richard Henderson <rth@redhat.com>
7212
7213 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
7214 (copyprop_hardreg_forward_1): Likewise.
7215
1fd9ac1e
JDA
72162002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
7217
7218 * pa.md (decrement_and_branch_until_zero): Change predicate for
7219 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
7220
5cb265ec
BM
72212002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
7222
7223 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
7224 gets undefined. For Darwin.
7225
fcd8fa8b
HB
72262002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7227
7228 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
7229
bd3ab23a
MH
72302002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7231
7232 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
7233
21e16bd6
RH
72342002-01-08 Richard Henderson <rth@redhat.com>
7235
7236 * regrename.c (copy_value): Ignore overlapping copies.
7237
a5376276
RH
72382002-01-08 Richard Henderson <rth@redhat.com>
7239
7240 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
7241 as needed to avoid shared structure.
7242
18cf8dda
KH
72432002-01-08 Kazu Hirata <kazu@hxi.com>
7244
7245 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
7246 H8/300H and H8/S.
7247
16c484c7
JM
72482002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
7249
7250 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
7251 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
7252 documentation of obsolete macros.
7253 * system.h: Poison these macros.
7254 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
7255 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
7256 config/c4x/c4x.h, config/clipper/clipper.h,
7257 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
7258 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
7259 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
7260 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
7261 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
7262 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
7263 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7264 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
7265 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
7266 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
7267 config/sparc/sparc.h, config/stormy16/stormy16.h,
7268 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
7269 definitions and commented out definitions of obsolete macros.
7270 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
7271 of MAX_INT_TYPE_SIZE.
7272
14b3e8ef
UW
72732002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
7274
7275 * config/s390/s390.c (s390_preferred_reload_class): Never
7276 return ADDR_REGS if it isn't a subset of the given class.
7277 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
7278 FP_REGS, but all superclasses as well.
7279
7280 * config/s390/s390.c (s390_function_profiler): Fix thinko.
7281
7282 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
7283 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
7284 must not be a const_int.
7285
a693284d
RH
72862002-01-08 Richard Henderson <rth@redhat.com>
7287
7288 * Makefile.in (toplev.o): Depend on options.h.
7289 (gcc.o): Depend on specs.h.
7290
b3ca30df
JJ
72912002-01-08 Jakub Jelinek <jakub@redhat.com>
7292
7293 * expr.c (store_expr): Convert VOIDmode constants back to target's
7294 mode.
7295
24dbb440
GP
72962002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7297
7298 * doc/invoke.texi: Markup gcc as @command. Refer to
7299 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
7300 of http://gcc.gnu.org/thanks.html.
7301
234e114c
DJ
73022002-01-08 Dale Johannesen <dalej@apple.com>
7303
7304 * config/rs6000/rs6000.md: Add missing int register
7305 target case to movdf_low.
7306
0d24f4d1
ZW
73072002-01-08 Zack Weinberg <zack@codesourcery.com>
7308
7309 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
7310 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
7311 (cppinit.o): Depend on except.h.
7312 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
7313 s-specs): New rules.
7314
7315 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
7316 Don't create specs.h/options.h/gencheck.h here. Remove
7317 unnecessary variable settings from last argument of AC_OUTPUT.
7318 * config.in, configure: Regenerate.
7319 * intl.c: Hardcode package name as "gcc".
7320
7321 * cppinit.c: Include except.h.
7322 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
7323 appropriate.
7324 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
7325 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
7326 (!)USING_SJLJ_EXCEPTIONS.
7327 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
7328
ed722f66
JM
73292002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
7330
7331 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
7332 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
7333 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
7334 documentation of obsolete macros.
7335 * system.h: Poison these macros.
7336 * config/d30v/d30v.h, config/ns32k/encore.h,
7337 config/stormy16/stormy16.h: Remove definitions and commented out
7338 definitions of obsolete macros.
7339
31e5e29a
NP
7340Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
7341
7342 * objc/objc-act.c (handle_class_ref): Mark the declaration of
7343 %sobjc_class_ref_%s as used - to prevent unwanted compiler
7344 warnings.
7345
bc1fa59c
UW
73462002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
7347
7348 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
7349 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
7350 to insn adjusting stack/frame pointer.
0d24f4d1 7351 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
7352 accept operands that cause the insn to be non-splittable.
7353
a8086abf
GS
73542002-01-08 Graham Stott <grahams@redhat.com>
7355
7356 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
7357 (C_TYPE_FIELDS_VOLATILE): Likewise.
7358 (C_TYPE_BEING_DEFINED): Likewise.
7359 (C_IS_RESERVED_WORD): Likewise.
7360 (C_TYPE_VARIABLE_SIZE): Likewise.
7361 (C_DECL_VARIABLE_SIZE): Likewise.
7362 (C_MISSING_PROTOTYPE_WARNED): Likewise.
7363 (C_SET_EXP_ORIGINAL_CODE): Likewise.
7364 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
7365 parenthesis.
7366 (C_DECL_ANTICIPATED): Likewise.
7367 (c_build_type_variant): Add parenthesis.
7368
3f595aa1
JM
73692002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
7370
7371 * gcc.c (option_map): Remove --version.
7372 (process_command): Handle -fversion following the GNU Coding
7373 Standards. Partially addresses PR other/704.
7374
5bc5a8f9
GS
73752002-01-08 Graham Stott <grahams@redhat.com>
7376
7377 * combine.c (combine_instructions): Fix typo.
7378
16ec4ebf
GS
73792002-01-08 Graham Stott <grahams@redhat.com>
7380
7381 * debug.h: Use "tree" and "rtx" throughout.
7382
7383 * debug.c: Likewise.
7384
4b69f385
NC
73852002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
7386
7387 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
7388 constant pool, use the pool's version of the symbol instead.
7389
57d1019b
RH
73902002-01-07 Richard Henderson <rth@redhat.com>
7391
7392 * regrename.c (find_oldest_value_reg): Ignore the value chain if
7393 the original register was copied in a mode with a fewer number of
7394 hard registers than the desired mode.
7395 (copyprop_hardreg_forward_1): Likewise.
7396 (debug_value_data): Fix loop test.
7397 * toplev.c (parse_options_and_default_flags): Reenable
7398 -fcprop-registers at -O1.
7399
74002002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 7401
0d24f4d1
ZW
7402 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
7403 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 7404
0d24f4d1
ZW
7405 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
7406 predicates.
fa066a23 7407
0d24f4d1 7408 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 7409
8f949e7e
JDA
74102002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
7411
7412 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
7413 (pa_output_function_prologue): Output local label at the beginning of
7414 the prologue when profiling.
7415 (hppa_profile_hook): Use the local label rather than the function label.
7416 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
7417
c62f2db5
AH
74182002-01-07 Aldy Hernandez <aldyh@redhat.com>
7419
0d24f4d1
ZW
7420 * config/rs6000/rs6000.c (print_operand): Remove extra space.
7421 (altivec_expand_unop_builtin): Fix thinko.
7422 (altivec_expand_binop_builtin): Same.
7423 (altivec_expand_ternop_builtin): Same.
7424 (altivec_expand_builtin): Same.
c62f2db5 7425
b5235ba7
RH
74262002-01-07 Richard Henderson <rth@redhat.com>
7427
7428 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
7429
7d8ac293
JM
74302002-01-07 Jason Merrill <jason@redhat.com>
7431
7432 * unwind-dw2.c (execute_cfa_program): Use < again.
7433
571a03b8
JJ
74342002-01-07 Jakub Jelinek <jakub@redhat.com>
7435
7436 * predict.c (combine_predictions_for_insn): Avoid division by zero.
7437
2e951384
JJ
74382002-01-07 Jakub Jelinek <jakub@redhat.com>
7439
7440 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
7441 Don't allow -1 - x -> ~x simplifications in the first pass.
7442
20e26713
AH
74432002-01-07 Aldy Hernandez <aldyh@redhat.com>
7444
0d24f4d1
ZW
7445 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
7446 arguments.
7447 (altivec_expand_binop_builtin): Same.
7448 (altivec_expand_unop_builtin): Same.
7449 (print_operand): Fix typo.
7450 (bdesc_1arg): Add vupk* variants.
20e26713 7451
0d24f4d1 7452 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 7453
0d24f4d1 7454 * rs6000.md: Add altivec_vupk* variants.
20e26713 7455
4dd57c18
JM
74562002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
7457
7458 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
7459 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
7460 and last update dates.
7461
0341c5d2
JJ
74622002-01-07 Janis Johnson <janis187@us.ibm.com>
7463
7464 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
7465
c7f3e0b0
MM
74662002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
7467
7468 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
7469 * config/avr/avr.h (CPP_SPEC): Likewise.
7470 (LINK_SPEC): Likewise.
7471 (CRT_BINUTILS_SPECS): Likewise.
7472 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
7473 * doc/invoke.texi (AVR Options): Document them.
7474
6ba4d630
JH
7475Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
7476
7477 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
7478 LABEL_NUSES.
7479
6253d571
GS
74802002-01-07 Graham Stott <grahams@redhat.com>
7481
0d24f4d1
ZW
7482 * config/i386/i386.h: Update copyright date.
7483 (HALF_PIC_PTR): Add parenthesis.
7484 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
7485 (CONSTANT_ALIGNMENT): Add parenthesis.
7486 (DATA_ALIGNMENT): Likewise.
7487 (LOCAL_ALIGNMENT): Likewise.
7488 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
7489 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
7490 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
7491 (HARD_REGNO_NREGS): Add paranethesis.
7492 (VALID_SSE_REG_MODE): Whitespace.
7493 (VALID_MMX_REG_MODE): Whitespace.
7494 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
7495 (ix86_hard_regno_mode_ok): Add parenthesis.
7496 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
7497 (RETURN_IN_MEMORY): Whitespace.
7498 (N_REG_CLASSES): Add parenthesis.
7499 (INTEGER_CLASS_P): Add parenthesis and wrap.
7500 (FLOAT_CLASS_P): Likewise.
7501 (SSE_CLASS_P): Likewise.
7502 (MMX_CLASS_P): Likewise.
7503 (MAYBE_INTEGER_CLASS_P): Likewise.
7504 (MAYBE_FLOAT_CLASS_P): Likewise.
7505 (MAYBE_SSE_CLASS_P): Likewise.
7506 (MAYBE_MMX_CLASS_P): Likewise.
7507 (Q_CLASS_P): Likewise.
7508 (GENERAL_REGNO_P): Uppercase macro parameter.
7509 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
7510 (FP_REGNO_P): Likewise.
7511 (ANY_FP_REGNO_P): Uppercase macro parameter.
7512 (SSE_REGNO_P): Likewise.
7513 (SSE_REGNO): Likewise.
7514 (SSE_REG_P): Likewise.
7515 (SSE_FLOAT_MODE_P): Likewise.
7516 (MMX_REGNO_P): Likewise.
7517 (MMX_REG_P):Likewise.
7518 (STACK_REG_P): Likewise.
7519 (NON_STACK_REG_P): Likewise.
7520 (STACK_TOP_P): Likewise.
7521 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
7522 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
7523 (SECONDARY_MEMORY_NEEDED): Likewise.
7524 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
7525 (MD_ASM_CLOBBERS): Whitespace and wrap.
7526 (MUST_PASS_IN_STACK): Whitespace and wrap.
7527 (RETURN_POPS_ARGS): Add parenthesis.
7528 (INIT_CUMULATIVE_ARGS): Likewise.
7529 (FUNCTION_ARG): Likewise.
7530 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
7531 (SETUP_INCOMING_VARARGS): Likewise.
7532 (BUILD_VA_LIST_TYPE): Add parenthesis.
7533 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
7534 parenthsis.
7535 (EXPAND_BUILTIN_VA_ARG): Likewise.
7536 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
7537 (INITIALIZE_TRAMPOLINE): Add parenthesis.
7538 (INITIAL_ELIMINATION_OFFSET): Likewise.
7539 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
7540 (REGNO_OK_FOR_BASE_P): Likewise.
7541 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
7542 (REGNO_OK_FOR_DIREG_P): Likewise.
7543 (REG_OK_FOR_INDEX_P): Whitespace.
7544 (REG_OK_FOR_BASE_P): Whitespace.
7545 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
7546 parenthesis.
7547 (FIND_BASE_TERM): Fix typo.
7548 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
7549 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
7550 (SYMBOLIC_CONST; Whitespace.
7551 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
7552 (ENCODE_SECTION_INFO): Whitespace.
7553 (FINALIZE_PIC): Remove do { ... } while (0).
7554 (PROMOTE_MODE): Wrap in do { ... } while (0).
7555 (CONST_COSTS): Whitespace.
7556 (RTX_COSTS): Add paramethesis, whitespace and wrap.
7557 (REGISTER_MOVE_COST): Add parenthesis.
7558 (MEMORY_MOVE_COST): Likewise.
7559 (EXTRA_CC_MODES): Whitespace.
7560 (SELECT_CC_MODE): Add parenthesis and whitespace.
7561 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
7562 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
7563 (ASM_OUTPUT_LABEL): Add paramethesis.
7564 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
7565 (ASM_OUTPUT_REG_POP): Likewise.
7566 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
7567 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 7568
07933f72
GS
7569 * config/i386/i386.c: Update copyright.
7570 (CHECK_STACK_LIMIT): Add parenthesis.
7571 (AT_BP): Uppercase macro parameter.
7572 (x86_64_int_parameter_registers): Constify.
7573 (x86_64_int_return_registers): Likewise.
7574 (ix86_compare_op0): Use rtx.
7575 (construct_container): Constify INTREG parameter.
7576 (function_arg): Use rtx.
7577
0b4d32c9
GS
7578 * diagnostic.h: Update copyright date.
7579 (output_buffer_state): Add parenthesis.
7580 (output_buffer_format_args): Likewise.
7581
6253d571
GS
7582 * combine.c (combine_instructions): Replace XEXP (links, 0)
7583 with link.
7584
68f3f6f1
L
75852002-01-06 H.J. Lu <hjl@gnu.org>
7586
7587 * cfgcleanup.c (thread_jump): Fix 2 typos.
7588
75892002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 7590
0d24f4d1 7591 * config.gcc: Add support for --enable-altivec.
480f7f3a 7592
13b8c631
CR
75932002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
7594
7595 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
7596
58ad89b1
JJ
75972002-01-06 Jakub Jelinek <jakub@redhat.com>
7598
7599 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
7600 __objc_class_name_*.
7601
e403b4bc
CR
76022002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
7603
7604 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
7605
e41c7831
RH
76062002-01-06 Richard Henderson <rth@redhat.com>
7607
7608 * reorg.c (emit_delay_sequence): Remove death notes, not merely
7609 nop them out. Increment label reference count for REG_LABEL.
7610 (fill_slots_from_thread): Frob label reference count around
7611 delete_related_insns.
7612
3b3b1e32
RH
76132002-01-05 Richard Henderson <rth@redhat.com>
7614
7615 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
7616 jump threading.
7617
c28abdf0
RH
76182002-01-05 Richard Henderson <rth@redhat.com>
7619
7620 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
7621 * integrate.c (output_inline_function): Likewise.
7622 * toplev.c (rest_of_compilation): Do it here instead. Move call
7623 to remove_unnecessary_notes after emitting abstract instance.
7624 Force an emitted nested function to have its parent emited as well.
7625 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
7626 for null.
7627 (rtl_for_decl_location): Do not look at reload data structures
7628 before reload has run.
7629
c4f2c499
KH
76302002-01-05 Kazu Hirata <kazu@hxi.com>
7631
7632 * cse.c: Fix formatting.
7633 * dwarf2asm.c: Likewise.
7634 * dwarf2out.c: Likewise.
7635 * explow.c: Likewise.
7636 * expmed.c: Likewise.
7637 * function.c: Likewise.
7638 * gcov.c: Likewise.
7639 * gencheck.c: Likewise.
7640 * genrecog.c: Likewise.
7641 * ggc-common.c: Likewise.
7642 * ggc-page.c: Likewise.
7643 * global.c: Likewise.
7644
cf0d9408
KH
76452002-01-05 Kazu Hirata <kazu@hxi.com>
7646
7647 * combine.c: Fix formatting.
7648
bedca03a
CR
76492002-01-05 Craig Rodrigues <crodrigu@bbn.com>
7650
7651 PR middle-end/1557
7652 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
7653
0134bf2d
DE
76542002-01-05 David Edelsohn <edelsohn@gnu.org>
7655
7656 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
7657 as 1 for __powerpc64__ as well.
7658
7659 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
7660
7661 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
7662 return it.
7663
9ca88d5a
DB
76642002-01-05 Daniel Berlin <dan@dberlin.org>
7665
7666 * lcm.c: Revert change, due to performance regression it causes on
7667 SPEC because it's slightly more conservative (sigh, I hate
7668 edge-based LCM).
0d24f4d1 7669
1c570418
JH
7670Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
7671
7672 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
7673
d83bb9f7
NB
76742002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
7675
7676 * doc/cppinternals.texi: Update.
7677
3e0f61ac
HPN
76782002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
7679
7680 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
7681 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
7682 negatives.
7683 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
7684 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
7685 kludge for pre-october-14th mmix versions to handle new-found bug
7686 with PUSHJ/PUSHGO and the register stack.
7687 * config/mmix/mmix.h (struct machine_function): Rename member
7688 has_call_value_without_parameters to has_call_without_parameters.
7689 All referers changed.
7690 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
7691 TARGET_MASK_BRANCH_PREDICT): New macros.
7692 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
7693 -mno-reg-stack-fill-bug-workaround.
7694 * config/mmix/mmix.md ("call"): Set struct machine member
7695 has_call_without_parameters.
7696
4deaa2f8
JH
7697Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
7698
7699 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
7700
9f16e871
JH
7701Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
7702
7703 * cfgcleanup.c: Include tm_p.h
7704 (mark_effect): Fix handling of hard register; fix handling of SET
7705
96eb1157
KH
77062002-01-04 Kazu Hirata <kazu@hxi.com>
7707
7708 * config/h8300/h8300.md (anonymous patterns): Check that
7709 operands are registers before using REGNO on them.
7710
48180d68
RM
77112002-01-03 Roland McGrath <roland@frob.com>
7712
7713 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
7714
b0832fe1
JJ
77152002-01-04 Jakub Jelinek <jakub@redhat.com>
7716
7717 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
7718 * c-common.h (genrtl_expr_stmt_value): Likewise.
7719 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
7720 (expand_expr_stmt_value): Add maybe_last argument.
7721 Don't warn about statement with no effect if it is the last statement
7722 in expression statement.
7723 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
7724 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
7725 expand_expr_stmt_value.
7726 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
7727 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
7728 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
7729 as maybe_last to expand_expr_stmt_value.
7730
c1e14513
JL
7731Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
7732
0d24f4d1
ZW
7733 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
7734 be passed in, do not build it.
7735 (c_begin_if_stmt): New function.
7736 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
7737 * c-common.h (c_expand_start_cond): Update prototype.
7738 (c_begin_if_stmt): Prototype new function.
7739 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
7740 * c-parse.in (if_prefix): Use c_begin_if_stmt,
7741 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 7742
b6ec437a
WC
77432002-01-04 William Cohen <wcohen@redhat.com>
7744
7745 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
7746 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
7747 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
7748 * config/pa/som.h (ASM_FILE_START): Likewise.
7749
ead39bdf 77502002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
7751
7752 * lcm.c: Include df.h.
7753 Add available_transfer_function prototype.
7754 (compute_available): Rework to use iterative dataflow framework.
7755 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
7756 with bb_info in df.h
7757 (available_transfer_function): New function.
7758
7759 * Makefile.in (lcm.o): add df.h to dependencies.
7760
551cc6fd
RH
77612002-01-04 Richard Henderson <rth@redhat.com>
7762
7763 * config/alpha/alpha.c (some_operand): Accept HIGH.
7764 (input_operand): Likewise; accept simple references to globals.
7765 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
7766 (alpha_const_double_ok_for_letter_p): Likewise.
7767 (alpha_extra_constraint): Likewise.
7768 (alpha_preferred_reload_class): Likewise. Do not force
7769 symbolic constants to memory.
7770 (alpha_legitimate_address_p): Accept simple references
7771 to small_symbolic_operand.
7772 (alpha_legitimize_address): New arg scratch. Be prepared to be
7773 called when no_new_pseudos. Emit simple symbolic references.
7774 Split integers into low, high, and rest.
7775 (alpha_expand_mov): Use alpha_legitimize_address.
7776 (some_small_symbolic_mem_operand): New.
7777 (split_small_symbolic_mem_operand): New.
7778 * config/alpha/alpha-protos.h: Update.
7779 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
7780 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
7781 (EXTRA_CONSTRAINT): Likewise.
7782 (PREFERRED_RELOAD_CLASS): Likewise.
7783 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
7784 (PREDICATE_CODES): Update.
7785 * config/alpha/alpha.md: New post-reload splitters to convert
7786 simplfied symbolic operands to the form that references $29.
7787 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
7788 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
7789
1eaea054
RH
77902002-01-03 Richard Henderson <rth@redhat.com>
7791
7792 * local-alloc.c (function_invariant_p): Update commentary.
7793
c4cc12b7
L
77942002-01-04 H.J. Lu <hjl@gnu.org>
7795
7796 * toplev.c (rest_of_compilation): Fix a typo when calling
7797 cleanup_cfg.
7798
173bf5be
KH
77992002-01-03 Kazu Hirata <kazu@hxi.com>
7800
7801 * c-common.c: Fix formatting.
7802 * diagnostic.c: Likewise.
7803 * doloop.c: Likewise.
7804 * dwarf2out.c: Likewise.
7805
187462ac
KH
78062002-01-03 Kazu Hirata <kazu@hxi.com>
7807
7808 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
7809 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
7810
5d8ebbd8
NB
78112002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
7812
7813 * cpperror.c: Update comments and copyright.
7814 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
7815 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
7816
518c1311
JDA
78172002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
7818
7819 * collect2.c (main): Use strcmp when testing for "-shared".
7820
d15a58c0
NB
78212002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
7822
7823 * cppmacro.c: Don't include intl.h. Update comments.
7824 (new_number_token): Allocate enough buffer for 64-bit unsigned
7825 integers; update prototype.
7826 * cppmain.c: Update comments.
7827
70f4f91c
WC
78282002-01-03 William Cohen <wcohen@redhat.com>
7829
7830 * function.h (struct function): Add profile.
7831 (current_function_profile): New.
7832 doc/extend.texi: Update documentation.
7833 * final.c (final_start_function): Use current_function_profile
7834 instead of profile_flag.
7835 (profile_after_prologue): Likewise.
7836 * function.c (expand_function_start): Likewise.
7837 (expand_function_start): Likewise.
c4cc12b7 7838 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
7839 (alpha_does_function_need_gp): Likewise.
7840 (alpha_expand_prologue): Likewise.
7841 * config/arm/arm.c (arm_expand_prologue): Likewise.
7842 thumb_expand_prologue: Likewise.
7843 * config/d30v/d30v.c (d30v_stack_info): Likewise.
7844 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
7845 (fr30_expand_prologue): Likewise.
7846 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
7847 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
7848 * config/i386/i386.h (FINALIZE_PIC): Likewise.
7849 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
7850 * config/i960/i960.c (i960_output_function_prologue): Likewise.
7851 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
7852 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
7853 (m32r_expand_prologue): Likewise.
7854 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
7855 (m88k_expand_prologue): Likewise.
7856 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
7857 * config/mips/mips.c (compute_frame_size): Likewise.
7858 (mips_expand_prologue): Likewise.
7859 (mips_can_use_return_insn): Likewise.
7860 * config/pa/elf.h (ASM_FILE_START): Likewise.
7861 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
7862 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
7863 * config/pa/som.h (ASM_FILE_START): Likewise.
7864 * config/romp/romp.c (romp_using_r14): Likewise.
7865 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
7866 (rs6000_stack_info): Likewise.
7867 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 7868 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
7869 * config/v850/v850.c (compute_register_save_size): Likewise.
7870
cb1ac742
JJ
78712002-01-03 Jakub Jelinek <jakub@redhat.com>
7872
7873 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
7874 gen_lowpart_common fails, use gen_lowpart_SUBREG.
7875
61d951df 78762002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 7877
61d951df
TC
7878 * darwin.c (machopic_output_possible_stub_label): Don't generate
7879 stub routines for pseudo-stubs which we've just defined.
7880
505ddab6
KH
78812002-01-03 Kazu Hirata <kazu@hxi.com>
7882
7883 * builtins.c: Fix formatting.
7884 * c-typeck.c: Likewise.
7885 * combine.c: Likewise.
7886 * expr.c: Likewise.
7887 * loop.c: Likewise.
7888
b7e30d8a
AS
78892002-01-03 Andreas Schwab <schwab@suse.de>
7890
7891 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
7892 and return true if _cpp_push_next_buffer pushed a new include
7893 file.
7894 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
7895 _cpp_pop_file_buffer did not push a new file.
7896 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
7897
ff81832f
EC
78982002-01-02 Eric Christopher <echristo@redhat.com>
7899
7900 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
7901 FIND_REG_INC_NOTE call. Update copyright.
7902 * loop.c (canonicalize_condition): Ditto.
7903 * reorg.c (delete_scheduled_jump): Ditto.
7904
8e42ace1
KH
79052002-01-03 Kazu Hirata <kazu@hxi.com>
7906
7907 * gcse.c: Fix formatting.
7908
fb2bf631
GS
79092002-01-03 Graham Stott <grahams@redhat.com>
7910
7911 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
7912 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 7913 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
7914
7915 * system.h: Move forward defs for struct tags rtx_def, union_tree,
7916 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 7917 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
7918
79192002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
7920
7921 * tree.h: Update copyright date.
7922 (IS_EXPR_CODE_CLASS): Add parenthesis.
7923 (TREE_SET_CODE): Add whitespace.
7924 (TREE_CHECK): Add parenthesis.
7925 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
7926 (CST_OR_CONSTRUCTOR_CHECK):
7927 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
7928 (TREE_SYMBOL_REFERENCED): Whitespace.
7929 (INT_CST_LT): Likewise.
7930 (INT_CST_LT_UNSIGNED): Likewise.
7931 (tree_real_cst): Unwrap comment.
7932 (tree_string): Likewise.
7933 (tree_complex): Likewise.
7934 (IDENTIFIER_POINTER): correct cast.
7935 (SAVE_EXPR_CONTEXT): Whitespace.
7936 (EXPR_WFL_FILENAME_NODE): Likewise.
7937 (EXPR_WFL_FILENAME): Remove parenthesis.
7938 (DECL_ORIGIN): Add parenthesis.
7939 (DECL_FROM_INLINE): Use NULL_TREE.
7940 (build_int_2): Whitespace.
7941 (build_type_variant): Add parenthesis.
7942
7943 * gcc/jcf-parse.c: Update copyright date.
7944 (yyparse): Constify resource_filename.
7945
f52eda29
GS
79462002-01-03 Graham Stott <grahams@redhat.com>
7947
7948 * rtl.h: Update copyright date.
7949 (RTL_CHECK1): Wrap long line.
7950 (RTL_CHECK2): Likewise.
7951 (RTL_CHECKC1): Wrap long line and whitespace.
7952 (RTL_CHECKC2): Likewise.
7953 (XWINT): Whitespace.
7954 (XINT): Likewise.
7955 (XSTR): Likewise.
7956 (XEXP): Likewise.
7957 (XVEC): Likewise.
7958 (XMODE): Likewise.
7959 (XBITMAP): Likewise.
7960 (XTREE): Likewise.
7961 (XBBDEF): Likewise.
7962 (XTMPL): Likewise.
7963 (X0WINT): Likewise.
7964 (X0INT):Likewise.
7965 (X0UINT): Likewise.
7966 (X0STR): Likewise.
7967 (X0EXP): Likewise.
7968 (X0VEC): Likewise.
7969 (X0MODE): Likewise.
7970 (X0BITMAP): Likewise.
7971 (X0TREE): Likewise.
7972 (X0BBDEF): Likewise.
7973 (X0ADVFLAGS): Likewise.
7974 (X0CSELIB): Likewise.
7975 (X0MEMATTR): Likewise.
7976 (XCWINT): Likewise.
7977 (XCINT): Likewise.
7978 (XCUINT): Likewise.
7979 (XCSTR): Likewise.
7980 (XCEXP): Likewise.
7981 (XCVEC): Likewise.
7982 (XCMODE): Likewise.
7983 (XCBITMAP): Likewise.
7984 (XCTREE): Likewise.
7985 (XCBBDEF): Likewise.
7986 (XCADVFLAGS): Likewise.
7987 (XCCSELIB): Likewise.
7988 (XC2EXP): Likewise.
7989 (INSN_UID): Likewise.
7990 (PREV_INSN): Likewise.
7991 (PATTERN): Likewise.
7992 (INSN_CODE): Likewise.
7993 (PUT_REG_NOTE_KIND): Likewise.
7994 (CODE_LABEL_NUMBER): Likewise.
7995 (NOTE_SOURCE_FILE): Likewise.
7996 (NOTE_BLOCK): Likewise.
7997 (NOTE_EH_HANDLER): Likewise.
7998 (NOTE_RANGE_INFO): Likewise.
7999 (NOTE_LIVE_INFO): Likewise.
8000 (NOTE_BASIC_BLOCK): Likewise.
8001 (NOTE_EXPECTED_VALUE): Likewise.
8002 (NOTE_LINE_NUMBER): Likewise.
8003 (LABEL_NAME): Likewise.
8004 (LABEL_NUSES): Likewise.
8005 (LABEL_ALTERNATE_NAME): Likewise.
8006 (ADDRESSOF_DECL): Likewise.
8007 (JUMP_LABEL): Likewise.
8008 (LABEL_NEXTREF): Likewise.
8009 (REGNO): Likewise.
8010 (ORIGINAL_REGNO: Likewise.
8011 (HARD_REGISTER_NUM_P): Add parenthesis.
8012 (SUBREG_REG): Whitespace.
8013 (SUBREG_BYTE): Likewise.
8014 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
8015 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
8016 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
8017 (ASM_OPERANDS_INPUT_VEC): Likewise.
8018 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
8019 (ASM_OPERANDS_INPUT): Likewise.
8020 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
8021 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
8022 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
8023 (ASM_OPERANDS_INPUT_MODE): Likewise.
8024 (ASM_OPERANDS_SOURCE_FILE): Likewise.
8025 (ASM_OPERANDS_SOURCE_LINE): Likewise.
8026 (MEM_SET_IN_STRUCT_P): Minor reformat.
8027 (TRAP_CONDITION): Whitespace.
8028 (TRAP_CODE): Likewise.
8029 (COND_EXEC_TEST): Likewise.
8030 (COND_EXEC_CODE): Likewise.
8031 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
8032 (PHI_NODE_P): Add parenthesis.
8033 (plus_constant): Whitespace and add parenthesis.
8034
e03f5d43
KH
80352002-01-03 Kazu Hirata <kazu@hxi.com>
8036
8037 * config/avr/avr.c: Fix comment typos.
8038 * config/c4x/c4x.md: Likewise.
8039 * config/dsp16xx/dsp16xx.h: Likewise.
8040 * config/dsp16xx/dsp16xx.md: Likewise.
8041 * config/i386/i386.md: Likewise.
8042 * config/ia64/ia64.c: Likewise.
8043 * config/m32r/m32r.h: Likewise.
8044 * config/m68hc11/m68hc11.md: Likewise.
8045 * config/mmix/mmix.c: Likewise.
8046 * config/mn10200/mn10200.c: Likewise.
8047 * config/romp/romp.c: Likewise.
8048 * config/sh/sh.c: Likewise.
8049 * config/stormy16/stormy16.c: Likewise.
8050 * config/stormy16/stormy16.h: Likewise.
8051 * config/stormy16/stormy16.md: Likewise.
8052
97e300e9
GS
80532002-01-03 Graham Stott <grahams@redhat.com>
8054
8055 * loop.h: Update copyright date.
0d24f4d1
ZW
8056 (LOOP_MOVABLES): Fix typo.
8057 (LOOP_REGS): Likewise.
8058 (LOOP_IVS): Likewise.
ff81832f 8059
745b26b3
GS
80602002-01-03 Graham Stott <grahams@redhat.com>
8061
8062 * cppinit.c: Update copyright date.
8063 Don't include output.h
8064 * Makefile.in: Update copyright date.
8065 Update dependency.
8066
0a379b7a
CR
80672002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
8068
8069 PR c/5226
8070 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
8071 (-pthread) Add to RS/6000 options.
8072
a8154559
KH
80732002-01-02 Kazu Hirata <kazu@hxi.com>
8074
8075 * except.c: Fix comment typos.
8076 * loop.c: Likewise.
8077 * varasm.c: Likewise.
8078 * doc/tm.texi: Fix a typo.
8079
e6ecc89b
JJ
80802002-01-02 Jakub Jelinek <jakub@redhat.com>
8081
8082 * c-typeck.c (output_init_element): Allow initializing static storage
8083 duration objects with compound literals.
8084
d1094b40
RH
80852002-01-02 Richard Henderson <rth@redhat.com>
8086
8087 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
8088 after abusing it.
8089
0c5d8c82
KG
80902002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8091
5e65297b
KG
8092 * gcc.c (default_compilers): Const-ify.
8093 * mips-tdump.c (stab_names): Likewise.
8094 * mips-tfile.c (map_coff_types, map_coff_storage,
8095 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
8096 pseudo_ops_t, pseudo_ops): Likewise.
8097 * protoize.c (default_include): Likewise
8098
0c5d8c82
KG
8099 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
8100 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
8101 Add array size in declaration.
8102 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
8103 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
8104 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
8105 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
8106 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
8107 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
8108 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
8109 emtens, make_nan): Const-ify.
8110 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
8111 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
8112
817e13c4
JM
81132002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
8114
8115 * config.gcc (ia64-*-*): Set extra_headers.
8116 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
8117 * config/alpha/t-osf: Remove.
8118 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
8119
98095e2b
DE
81202002-01-02 David Edelsohn <edelsohn@gnu.org>
8121
8122 * config/rs6000/t-aix43: Revert previous change.
8123
a4200657
JM
81242002-01-02 Jason Merrill <jason@redhat.com>
8125
8126 * c-decl.c (c_expand_body): Call outlining_inline_function when
8127 emitting an inline function out of line.
8128
54ba1f0d
RH
81292002-01-02 Richard Henderson <rth@redhat.com>
8130
8131 * dwarf2out.c (limbo_die_node): Add created_for member.
8132 (new_die): New argument created_for. Update all callers.
8133 (mark_limbo_die_list): New.
8134 (dwarf2out_init): Register limbo_die_list as a root.
8135 (dwarf2out_finish): Force insert limbo dies into their function
8136 context.
8137
323728aa
NS
81382002-01-02 Nathan Sidwell <nathan@codesourcery.com>
8139
8140 PR c++/5089
8141 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
8142
aefc5826
KH
81432002-01-02 Kazu Hirata <kazu@hxi.com>
8144
8145 * config/h8300/fixunssfsi.c: Update copyright.
8146 Fix comment typos.
8147 Fix formatting.
8148 * config/h8300/h8300.c: Update copyright.
8149 Eliminate warnings.
8150
b1c9bc51
KH
81512002-01-02 Kazu Hirata <kazu@hxi.com>
8152
8153 * config/romp/romp.c: Fix comment formatting.
8154 * config/romp/romp.h: Likewise.
8155 * config/romp/romp.md: Likewise.
8156 * config/s390/s390.c: Likewise.
8157 * config/stormy16/stormy16.c: Likewise.
8158 * config/stormy16/stormy16.h: Likewise.
8159
1574ef13
AO
81602002-01-02 Alexandre Oliva <aoliva@redhat.com>
8161
8162 * c-common.h (genrtl_expr_stmt_value): Declare.
8163 * c-semantics.c (genrtl_goto_stmt): Redirect to...
8164 (genrtl_goto_stmt_value): ... this new function. Pass new
8165 argument down to expand_expr_stmt_value, taking
8166 TREE_ADDRESSABLE into account.
8167 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
8168 STMT_EXPR as addressable, i.e., one whose result we want.
8169 * expr.c (expand_expr): Don't save expression statement value
8170 of labeled_blocks or loop_exprs.
8171 * stmt.c (expand_expr_stmt): Redirect to...
8172 (expand_expr_stmt_value): ... this new function. Use new
8173 argument to tell whether to save expression value.
8174 (expand_end_stmt_expr): Reset last_expr_type and
8175 last_expr_value if we don't have either.
8176 * tree-inline.c (declare_return_variable): Mark its use
8177 statement as addressable.
8178 * tree.h: Document new use of TREE_ADDRESSABLE.
8179 (expand_expr_stmt_value): Declare.
8180
252b88f7
TR
81812002-01-01 Tom Rix <trix@redhat.com>
8182
8183 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
8184 rs6000_emit_allocate_stack.
8185
29f7a208
JM
81862002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
8187
8188 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
8189 ${srcdir}/ginclude/ to every entry in extra_headers.
8190 * configure: Regenerate.
8191 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
8192 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
8193 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
8194 * ginclude/proto.h: Rename to config/convex/proto.h.
8195
2cc2d4bb
RK
8196Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8197
8198 * attribs.c (handle_vector_size_attribute): Use host_integerp
8199 and tree_int_cst; remove warnings.
8200 * caller-save.c (insert_restore): Add cast to get rid of warning.
8201 (insert_save): Likewise.
8202 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
8203 * regmove.c (find_matches): Add temporary var to kill a warning.
8204
f01c9bcd
DR
82052002-01-01 Douglas B Rupp <rupp@gnat.com>
8206
16b61764
DR
8207 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
8208 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
8209 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
8210 (vms-dwarf2eh.o): Add Makefile rule.
8211 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
8212 * config/alpha/vms-dwarf2eh.asm: New file.
8213
f01c9bcd
DR
8214 * gcc.c (delete_if_ordinary): Delete all versions.
8215
91312b81
HPN
82162002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
8217
8218 * config/mmix/mmix.md: Update FIXME to not mention
8219 define_constants.
8220 (MMIX_rJ_REGNUM): New define_constants constant.
8221 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
8222 "*movdicc_real"): Adjust contraints formatting.
8223 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
8224 for branch prediction.
8225 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
8226 output template.
8227 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
8228 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
8229 number. Delete related FIXMEs.
8230 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
8231 from number to MMIX_rJ_REGNUM.
8232 (TARGET_MASK_BRANCH_PREDICT): New.
8233 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
8234 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
8235 value. Add -mbranch-predict and -mno-branch-predict.
8236 (TARGET_VERSION): Drop date.
8237 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
8238 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
8239 for finding out global symbols.
8240 (mmix_asm_output_labelref): Revert condition for global symbol.
8241 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
8242 (mmix_print_operand_punct_valid_p): A '+' is valid.
8243
619acae7 8244See ChangeLog.6 for earlier changes.
This page took 1.010729 seconds and 5 git commands to generate.