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