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