OSDN Git Service

* pa.md (return): Revise comment for trivial return.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2             Jeff Law <law@redhat.com>
3
4         * pa.md (return): Revise comment for trivial return.
5         (return_internal): Non-trivial return pattern for non-PIC code.
6         (return_internal_pic): Non-trivial return pattern for PIC code.
7         It uses the PIC register to ensure it is restored after
8         function calls.
9         (epilogue): Generate appropriate return for PIC and non-PIC code.
10
11 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
12
13         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
14
15 2001-01-29  DJ Delorie  <dj@redhat.com>
16
17         * combine.c (if_then_else_cond): Pass the correct mode to
18         operand_subword() for constants.
19
20 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
21
22         * config/i386/cygwin.h: Add w32api to include search.  Search different
23         directories in a cross-build environment.
24
25 2001-11-29  Tim Josling  <tej@melbpc.org.au>
26
27         * tree.h (TYPE_STUB_DECL): Add documentation.
28
29 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
30
31         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
32         (sdbout_field_types): Likwise.  Fix use of host_integerp.
33
34 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
35
36         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
37         cygwin.h.
38
39 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
40
41         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
42         to use flag_gnu_linker.
43
44 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
45
46         * cpplib.c (T_BAD_DIRECTIVE): Remove.
47         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
48
49 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
50
51         * tree.c, tree.h (build_parse_node): Remove; was identical to
52         build_nt.
53         * c-lang.c (start_cdtor), objc/objc-act.c
54         (build_module_descriptor): Use build_nt instead of
55         build_parse_node.
56
57 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
58
59         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
60         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
61         not have any upper bits set.
62
63 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
64
65         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
66
67 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
68
69         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
70
71         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
72
73         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
74         (integer_minus_one_node): Define.
75
76 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
77
78         * Makefile.in (bootstrap2-lean): Fix typo.
79
80 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
81
82         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
83         : Don't set fe_value.
84         * cpplib.h (AVOID_LPASTE): New flag. 
85         (struct cpp_hashnode): Remove fe_value.
86         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
87         * cppmacro.c (builtin_macro): Don't set flags here.
88         (replace_args): Set AVOID_LPASTE flag on first token of an
89         argument, and the token following it.
90         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
91         macro expansion, and on the token following it.  Do it for
92         builtins too.
93         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
94
95 2001-01-27  Richard Henderson  <rth@redhat.com>
96
97         * config/alpha/t-ieee: Remove multilibbing.
98         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
99
100 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
101
102         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
103
104         * Makefile.in: Remove all dependencies on defaults.h.
105         * builtins.c: Don't include defaults.h.
106         * c-common.c: Likewise.
107         * c-decl.c: Likewise.
108         * c-pragma.c: Likewise.
109         * c-typeck.c: Likewise.
110         * combine.c: Likewise.
111         * i386.c: Likewise.
112         * frame-ia64.c: Likewise.
113         * cppexp.c: Likewise.
114         * crtstuff.c: Likewise.
115         * dbxout.c: Likewise.
116         * dwarf2out.c: Likewise.
117         * dwarfout.c: Likewise.
118         * emit-rtl.c: Likewise.
119         * except.c: Likewise.
120         * expr.c: Likewise.
121         * final.c: Likewise.
122         * frame-dwarf2.c: Likewise.
123         * libgcc2.c: Likewise.
124         * optabs.c: Likewise.
125         * profile.c: Likewise.
126         * sdbout.c: Likewise.
127         * toplev.c: Likewise.
128         * tradcif.y: Likewise.
129         * tree.c: Likewise.
130         * varasm.c: Likewise.
131
132 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
133
134         * builtins.c (expand_builtin_fputs): Use size_one_node when
135         transforming into fwrite.
136
137 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
138
139         * extend.texi (Attribute Syntax): New section.
140
141 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
142
143         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
144         they didn't need fixing.
145
146 2001-01-27  Janis Johnson <janis@us.ibm.com>
147
148         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
149         if appropriate.
150         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
151         to remove macro definitions that are duplicated from elfos.h.
152
153 2001-01-27  Richard Henderson  <rth@redhat.com>
154
155         * config/i386/sco5gas.h: Move ...
156         * config/usegas.h: ... here.
157         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
158
159 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
160
161         * c-typeck.c (struct constructor_stack): Add range_stack member.
162         (really_start_incremental_init): Clear it.
163         (push_init_level): Save constructor_range_stack and clear it if
164         pushing explicit braces.
165         (pop_init_level): abort if constructor_range_stack is non-zero at
166         explicit closing brace.  Restore saved constructor_range_stack if
167         not implicit.
168
169 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
170
171         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
172         into register was forced into memory.
173
174 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
175
176         * Makefile.in: Remove uses of + before $(MAKE).
177
178 2001-01-26  Richard Henderson  <rth@redhat.com>
179
180         * stmt.c (cost_table): Remove.
181         (COST_TABLE, cost_table_initialized): New.
182         (estimate_case_costs): Use the later instead of the former.
183         (balance_case_nodes): Likewise.
184
185 2001-01-26  Richard Henderson  <rth@redhat.com>
186
187         * alias.c (objects_must_conflict_p): Read-only slots may not
188         conflict despite having the same type.
189
190 2001-01-27  Michael Hayes  <mhayes@redhat.com>
191
192         * loop.c (loop_giv_reduce_benefit): Copy mode size into
193         int variable.
194         (check_ext_dependant_givs): Initialise u_start_val and
195         u_end_val.
196         (load_mems): Make last_max_reg unsigned.
197         (try_swap_copy_prop): Use INSN_P and initialise set.
198
199 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
200
201         * README.AVR : Removed.
202
203 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
204
205         * pa-64.h (text_section): Remove declaration.
206
207         * pa.md (return_internal): Remove mode on PIC register use.
208
209 2001-01-25  lars brinkhoff  <lars@nocrew.org>
210
211         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
212         ASM_CLOSE_PAREN): fix typos.
213
214 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
215
216         * acconfig.h: Define `const' to the empty string if neither
217         __STDC__ nor __cplusplus is defined.
218         * config.in: Regenerated.
219
220 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
221
222         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
223         * collect2.c (main): Delete importf.  Add ".obj" file extension.
224         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
225         (aix_std_libs): Add additional AIX libraries to skip.
226         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
227         * config/rs6000/aix51.h: New file.
228
229 2001-01-25  Michael Hayes  <mhayes@redhat.com>
230
231         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
232         (loop_insn_emit_before): No longer static.
233         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
234         (loop_givs_rescan, load_mems): Likewise.
235         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
236         (maybe_eliminate_biv_1):
237         (move_movables): Replace emit_call_insn_before with
238         loop_call_insn_hoist.
239         * loop.h (loop_insn_emit_before): Add.
240         * unroll.c (copy_loop_body): Replace emit_insn_before with 
241         loop_insn_emit_before.
242
243 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
244
245         * diagnostic.c (fatal): Request preprocessed source.
246
247 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
248
249         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
250         olddecl has argument types and newdecl has none, use the argument
251         types from olddecl.
252
253 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
254
255         * dwarf2out.c (prefix_of): New function.  Determine longest common
256         prefix of the two arguments.  The units are whole path components.
257         (output_file_names): When adding a new directory find the one entry
258         with the longest common prefix already in the list.  Artificially
259         generate entry if there is none for this prefix.
260         Fix test to check whether the zeroth directory entry is used.
261
262 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
263
264         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
265         Changed all callers.  Take it into account when deciding if a
266         previously loaded value matches.
267
268 2001-01-24  Richard Henderson  <rth@redhat.com>
269
270         * reload.c (find_reloads_subreg_address): Fail the substitution
271         if the resulting address is insufficiently aligned.
272
273 2001-01-24  DJ Delorie  <dj@redhat.com>
274
275         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
276         check the original operand's mode also.
277         * simplify-rtx.c (simplify_ternary_operation): Ditto.
278
279 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
280
281         * c-parse.in (cast_expr): Move compound literals from here ...
282         (primary): ... to here.  Use standard terminology "compound
283         literal" instead of "constructor expression".
284
285 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
286
287         * gcc.1, cpp.1: Regenerate.
288
289 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
290
291         * calls.c (emit_library_call_value_1): Memory slot for
292         pass-by-reference argument should have the mode of the argument,
293         not of the pointer to it.
294
295 2001-01-24  Tom Tromey  <tromey@redhat.com>
296
297         * gcc.texi (G++ and GCC): Mention gcj manual.
298         (Standards): Link to section of manual mentioning gcj/Java
299         compatibility.
300
301 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
302
303         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
304         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
305         * tradcpp.c (main): Add -imacros or -include'd dependencies
306         for -M*.
307         * cpp.texi (-M, -MM): Document -M -include behaviour.
308
309 2001-01-24  Roger Collins <roger@ProProject.com>
310
311         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
312
313 2001-01-24  Will Cohen  <wcohen@redhat.com>
314
315         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
316         whether registers are 32 bits or 64 bits in size.
317
318 2001-01-24  Ben Elliston  <bje@redhat.com>
319
320         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
321
322 2001-01-24  Richard Henderson  <rth@redhat.com>
323
324         * config/alpha/alpha.md (builtin_longjmp_internal): New.
325         (builtin_longjmp): Use it instead of emit_indirect_jump.
326
327 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
328
329         * bb-reorder.c (make_reorder_chain_1): Handle case where
330         jump edge goes to the same block as the fallthru edge.
331
332 2001-01-23  Jim Wilson  <wilson@redhat.com>
333
334         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
335         * frame.h (__ia64_personality_v1): Add prototype.
336         * libgcc2.c (ia64_throw_helper): Change personality declaration to
337         prototype form.  Add void * cast to first argument to personality
338         call.
339         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
340         (asctoe113): Likewise.
341         * config/ia64/frame-ia64.c: Include eh-common.h.
342         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
343         prototypes.
344         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
345         to dump parameter.
346         (itanium_split_issue): Add prototype.
347         (gen_nop_type): Ifdef out.
348         (find_best_packet): Initialize best_packet.
349         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
350         result.
351         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
352         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
353         (flushrs): Add explicit stop bit at end.
354         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
355         trailing \ to >.
356
357 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
358
359         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
360         of EH symbols.
361         * libgcc2.c (__terminate_func): Make variable static.
362         (__terminate_set_func): New function to set __terminate_func.
363         * libgcc2.h (__terminate_func_ptr): New typedef.
364         (__terminate_set_func): New function.
365
366 2001-01-23  Richard Henderson  <rth@redhat.com>
367
368         * flow.c (init_propagate_block_info): Don't consider unchanging
369         memories for dead frame store elimination.
370
371 2001-01-23  Richard Henderson  <rth@redhat.com>
372
373         * varasm.c (UNIQUE_SECTION): Move default implementation ...
374         * defaults.h: ... here.
375
376 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
377
378         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
379
380 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
381
382         * c-lex.c (lex_charconst): Fix typo: s/p/str.
383
384 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
385
386         * rs6000.h (rs6000_return_addr): Move prototype from here...
387         * rs6000-protos.h (rs6000_return_addr): ...to here.
388         (rs6000_init_expanders): Delete prototype.
389
390 2001-01-23  Nick Clifton  <nickc@redhat.com>
391
392         * invoke.texi: Replace , with \, inside @gccoptlist macros.
393         (Spec Files): Document %B and %j and %. and %v3 and %M and
394         %{S*&T} spec switches.
395
396 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
397
398         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
399
400 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
401             Neil Booth  <neil@daikokuya.demon.co.uk>
402
403         * cpperror.c: Merge handlers of PEDWARN and WARNING.
404         Have -Werror make pedantic warnings errors, like the
405         rest of GCC.
406
407 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
408
409         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
410
411 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
412
413         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
414         * integrate.c (expand_inline_function): Initialize them.
415         (subst_constants): If changing COMPARE so that both its arguments
416         will be VOIDmode and the comparison mode will be lost, note
417         compare_mode.  Use the recorded compare_mode to optimize
418         IF_THEN_ELSE.
419
420 2001-01-23  Jason Merrill  <jason@redhat.com>
421
422         * dwarf2out.c (new_die): Use xcalloc.
423         (output_die): Abort rather than emit a local reference to offset 0.
424
425 2001-01-17  Andrew Haley  <aph@redhat.com>
426
427         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
428         of a saved register; return NULL instead.
429         (copy_reg): Take a pointer to a source register rather than a
430         frame_state.
431         (next_stack_level): Remember the address in the stack frame of all
432         saved registers.
433         Use the saved register pointer array as the source of the CFA.
434         (throw_helper): Rewrite.  Unwind once rather than twice and keep
435         track of saved registers as we go.
436
437 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
438
439         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
440         * c4x.c (c4x_legitimize_reload_address): Remove.
441         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
442         reload address for ldp(k) insn.
443
444 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
445
446         * pa.md (return_internal): Add a USE of the PIC register to ensure
447         it is restored after each call.
448         (return expander): Corresponding changes.
449
450 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
451
452         * rs6000.h (INIT_EXPANDERS): Delete.
453         (RETURN_ADDR_RTX): Call rs6000_return_addr().
454         * rs6000.c (rs6000_override_options): Call *_machine_status from
455         here...
456         (rs6000_init_expanders): ...instead of here. Delete.
457         (rs6000_mark_machine_status): New function.
458         (rs6000_init_machine_status): Use xcalloc.
459         (rs6000_return_addr): Generate RTX for the return address.
460         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
461         (rs6000_stack_info): Use it.
462
463 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
464
465         * gthr-win32.h: Include errno.h to get a declaration for
466         EINVAL and _mingw.h if the target is mingw32.
467
468 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
469
470         * cpp.texi: Correct typos.
471
472 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
473
474         * explow.c (probe_stack_range): Ensure value passed to
475         stack_check_libfunc is ptr_mode, not Pmode.
476
477 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
478
479         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
480         case, don't use operand_subword to calculate a SUBREG that is
481         wider than a word.
482
483         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
484
485 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
486
487         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
488         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
489         valid.  If not replace it by equivalent insns.
490
491 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
492
493         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
494         contains SYMBOL_REF, LABEL_REF and CONST_INT.
495         (c4x_U_constraint, symbolic_address_operand): Likewise.
496         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
497         memory.
498         (c4x_r11_set_p, c4x_check_laj_p): New functions.
499         * c4x-protos.h (c4x_check_laj_p): Add prototype.
500         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
501         anulling slot because of silicon bug.
502         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
503
504 2001-01-22  Alan Modra <alan@linuxcare.com.au>
505
506         * cppexp.c (parse_charconst):  Change `mask' type to agree
507         with parse_escape.
508
509 2001-01-21  Richard Henderson  <rth@redhat.com>
510
511         * config/i386/i386.c (ix86_asm_file_end): Disable putting
512         pic_label_name in a linkonce section.
513
514 2001-01-17  Philipp Thomas  <pthomas@suse.de>
515
516         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
517         found in libintl.
518         * configure: Regenerate.
519
520 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
521
522         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
523         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
524
525 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
526
527         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
528         If REVERSE nonzero then condition code in X must be reversed.
529         (encode_section_info): Optimise if/else.
530         (avr_function_value): Fix formatting.
531
532         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
533         (difficult_branch): Likewise.
534         (rvbranch): Likewise.
535         (difficult_rvbranch): Likewise.
536
537         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
538
539         * config/avr/libgcc.S: Fix comment.
540
541 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
542
543         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
544
545 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
546
547         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
548
549 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
550
551         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
552         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
553         * configure, config.in: Regenerate.
554         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
555         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
556         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
557         (doprint.o): New rule.
558
559 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
560
561         * c-typeck.c (digest_init): Handle boolean types as scalars.
562
563 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
564
565         * stmt.c (expand_return): Don't return anything if size is zero.
566         Delete redundant assignment to BYTES.
567         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
568
569 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
570
571         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
572         the same as the default library function names.
573         * config/avr/avr.md: Document special characters after '%'.
574         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
575         knowing which of the call-used registers are really clobbered.
576         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
577         New.  Both quotient and remainder from one libgcc.S call.
578         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
579         clobber as few registers as possible.
580         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
581
582 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
583
584         * cppmacro.c (funlike_invocation_p): Don't move back up to the
585         context of the top of the stack.
586
587 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
588
589         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
590         (fixup_var_refs_insns): ...here.
591
592 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
593
594         * function.c (fixup_var_refs_insns): Break up into
595         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
596         [loop over entire insn list], and fixup_var_refs_insns_with_hash
597         [loop over hash table entries].
598         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
599         fixup_var_refs_insns_with_hash, to match above changes.
600
601 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
602
603         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
604         (libgcc.a): Likewise.
605         (stmp-multilib): Likewise.
606         (STAGE2_FLAGS_TO_PASS): Likewise.
607
608 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
609
610         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
611         temporary if no_new_pseudos.
612
613 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
614
615         * cppinternals.texi: Update.
616
617 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
618
619         * arm.c (arm_init_builtins): Re-enable builtins.
620
621 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
622
623         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
624         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
625         element to be null, and always expect an EXPR_LIST.
626         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
627         * sched-deps.c (sched_analyze_1): Likewise.
628         * sched-rgn.c (check_live_1, update_live_1): Likewise.
629
630         * regclass.c (max_set_parallel): New variable.
631         (reg_scan): Take it into account in computation of max_parallel.
632         (reg_scan_mark_refs, case SET): Compute it.
633
634         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
635         args are REG.
636         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
637         * function.c (assign_parms): Use INTVAL for a CONST_INT.
638
639 2001-01-19  Jason Merrill  <jason@redhat.com>
640
641         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
642         for the abstract instance of an inline function.
643
644 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
645                           J"orn Rennecke <amylaar@redhat.com>
646
647         * reload1.c (move2add_note_store): Treat all registers directly or
648         indirectly derived from a base register as members of the same set
649         of values.
650         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
651         of base register into account.
652
653 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
654
655         * alias.c (find_base_value): Recognize TRUNCATE.
656         (record_set): In PLUS case, invalidate if other summand is also a
657         base value.
658
659 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
660
661         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
662         entry to be EXPR_LIST.
663         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
664         be an EXPR_LIST (but not null, which other code doesn't allow).
665         (note_stores): Properly handle PARALLEL in SET.
666         Recursively call for top-level PARALLEL.
667         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
668         * sched-rgn.c (check_live_1, update_live_1): Likewise.
669
670         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
671
672 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
673
674         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
675         not pfile->skipping (== 0).
676
677 2001-01-17  Nick Clifton  <nickc@redhat.com>
678
679         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
680         machine_status.
681
682 2001-01-17  Jim Wilson  <wilson@redhat.com>
683
684         * invoke.texi (IA-64 options): Improve.
685
686 2001-01-17  Tom Tromey  <tromey@redhat.com>
687
688         * invoke.texi (Optimize Options): Use `{}' to around @samp
689         argument.
690
691 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
692
693         * invoke.texi (-fno-guess-branch-probability): New option.
694
695 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
696
697         * combine.c (try_combine): Don't set i3_subst_into_i2 for
698         case of making new double-word constant.
699         Revert last change: instead just test i3_subst_into_i2.
700
701 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
702
703         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
704         Use q constraints instead of r.
705
706 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
707
708         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
709         (machine_function): Define.
710         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
711         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
712         pa_free_machine_status): New functions.
713         (override_options): Set {init,mark,free}_machine_status to above.
714         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
715         PIC_OFFSET_TABLE_REGNUM_SAVED.
716         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
717         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
718         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
719         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
720         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
721
722 2001-01-15  DJ Delorie  <dj@redhat.com>
723
724         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
725         (cpp.1): Ditto.
726         (gcc.1): Ditto.
727
728 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
729
730         * flow.c (propagate_on_insn): Make trying to delete a prologue
731         or epilogue insn an ICE, not a warning.  Allow doing this if
732         the current function returns with stack pointer depressed.
733
734         * combine.c (try_combine): If i3_subst_into_i2, properly check for
735         I3 having more than one SET.
736
737 2001-01-16  Jim Wilson  <wilson@redhat.com>
738
739         * invoke.texi: Document IA-64 options.
740
741         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
742         (fixup_errata): Delete TARGET_A_STEP use.
743         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
744         (TARGET_SWITCHES): Delete -ma-step option.
745         * config/ia64/ia64.md (all FP patterns): Delete %B0.
746         (movqicc_astep, movqi_internal_astep, movhicc_astep,
747         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
748         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
749         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
750         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
751         Delete.
752         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
753         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
754         cmovsi_internal): Delete ! TARGET_A_STEP check.
755
756 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
757
758         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
759         possibility to report bugs via postal mail. Change a URL and
760         merge in a nearly duplicate statement...
761         (Bug Reporting): ...from here.
762         (Service): Refer to the Bug Reporting section instead of
763         duplicating an URL.
764         (Contributing): Remove trivial explanations concerning snapshots.
765
766 2001-01-16  Alan Modra <alan@linuxcare.com.au>
767
768         * cppmain.c (general_init): Don't use ANSI prototype.
769
770 2001-01-16  Tom Tromey  <tromey@redhat.com>
771
772         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
773
774 2001-01-16  Richard Henderson  <rth@redhat.com>
775
776         * config/i386/i386.h: Fix comment typo.
777         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
778         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
779
780 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
781
782         * gcc.c:  Revert previous -fsyntax-only-related change; move
783           to cp/g++spec.c.
784
785 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
786
787         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
788         inmode after checking GET_CODE (op).
789
790 2001-01-16  Richard Henderson  <rth@redhat.com>
791
792         * flow.c (struct propagate_block_info): Add mem_set_list_len.
793         (MAX_MEM_SET_LIST_LEN): New.
794         (propagate_one_insn): Update mem_set_list_len.
795         (invalidate_mems_from_autoinc): Likewise.
796         (invalidate_mems_from_set): Likewise.
797         (mark_used_regs): Likewise.
798         (init_propagate_block_info): Likewise.  Stop collecting memories
799         when we reach MAX_MEM_SET_LIST_LEN.
800         (mark_set_1): Likewise.
801
802 2001-01-16  Richard Henderson  <rth@redhat.com>
803
804         * unroll.c (precondition_loop_p): Fail if no iteration
805         variable found.
806
807 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
808
809         * gcc.c:  When -fsyntax-only is given, do not complain about
810           unused libraries.
811
812 2001-01-15  Richard Henderson  <rth@redhat.com>
813
814         * config/i386/i386.c (asm_output_function_prefix): Remove.
815         (ix86_asm_file_end): New.
816         (load_pic_register): Generate pic_label_name into a
817         staticly allocated buffer.
818         * config/i386/i386-protos.h: Update.
819         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
820         (ASM_FILE_END): New.
821         * config/i386/i386afe.h: New file.
822         * config.gcc (i?86-*-elf) [tm_file]: Use it.
823         (i?86-*-{freebsd,linux*,moss*}): Likewise.
824         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
825         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
826         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
827         * config/i386/sco5.h (ASM_FILE_END): Likewise.
828         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
829
830 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
831
832         * Makefile.in (install-man): Remove explicit dependency on
833         $(srcdir)/gcc.1.
834
835         * configure.in, configure: Revert previous patch requiring perl
836         5.6.0.
837
838 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
839
840         * toplev.c (flag_guess_branch_prob): New.
841         (f_options): Add guess-branch-probability option.
842         (rest_of_decl_compilation): Only estimate branch probability if
843         flag set.
844         (main): set flag_guess_branch_prob.
845
846         * flags.h (flag_guess_branch_prob): New.
847
848 2001-01-15  DJ Delorie  <dj@redhat.com>
849
850         * gcc.texi (Makefile): Add documentation for Makefile targets.
851
852 2001-01-15  Philip Blundell  <philb@gnu.org>
853
854         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
855         (is_pic): Delete.
856         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
857         (is_pic): Delete declaration.
858         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
859         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
860         * config/arm/arm.md (builtin_setjmp_receiver): New.
861
862 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
863
864         * arm.c (use_return_insn): Don't try to determine the function type
865         until after reload has completed.
866         (arm_output_epilogue): Don't adjust the sp value recovered from the
867         stack.
868         (emit_multi_reg_push): Don't record dwarf information for the pc.
869         * arm.md (eh_epilogue): The function type may have changed, so it
870         needs to be recalculated.
871         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
872         unwind tables on arm/netbsd.
873
874 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
875
876         * arm.md (cbranchsi4): Correct calculation of branch ranges.
877         (negated_cbranchsi4): Likewise.
878
879 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
880
881         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
882         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
883         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
884         pass -mapcs-* options to assembler.
885         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
886         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
887         (ASM_SPEC): Call subtarget_extra_asm_spec.
888
889 2001-01-15  Andreas Jaeger  <aj@suse.de>
890
891         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
892         warnings.
893         (ix86_expand_builtin): Likewise.
894
895         * gencodes.c (output_predicate_decls): Make i size_t to avoid
896         warning about comparison between signed and unsigned.
897
898 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
899
900         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
901
902 2001-01-14  Ralf Baechle <ralf@gnu.org>
903
904         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
905         SUBTARGET_CPP_SPEC apropriatly.
906
907 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
908
909         * varasm.c (make_decl_rtl): Fix typo in last change.
910
911 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
912
913         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
914         linker supports the init_priority C++ attribute.
915         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
916         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
917         linker does not support init_priority C++ attribute.
918
919 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
920
921         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
922
923 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
924
925         * c-parse.in (finish_parse): Add comment about cpp_destroy.
926         * cp/lex.c (finish_parse): Similarly.
927         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
928         Return the number of errors encountered.
929         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
930         * cppmain.c (main): Don't call cpp_destroy.
931
932 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
933
934         * configure.in: Require at least perl 5.6.0 to regenerate
935         manpages.
936         * configure: Regenerate.
937
938 2001-01-14  Richard Henderson  <rth@redhat.com>
939
940         * genrecog.c (DT_veclen_ge): New.
941         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
942         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
943         (nodes_identical_1): Handle DT_veclen_ge.
944         (write_cond, debug_decision_2): Likewise.
945
946 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
947
948         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
949         with ...
950         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
951
952 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
953
954         * cppmain.c (do_preprocessing): New function; most of the old
955         main.
956         (main): Call it to do most of the work.
957         (cb): Move from global scope to set_callbacks ().
958         (setup_callbacks): Get the callback pointer.
959         (general_init, printer_init): Clean up code and comments.
960
961 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
962
963         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
964         compiling PIC.
965
966 2001-01-14  Kazu Hirata  <kazu@hxi.com>
967
968         * config/h8300/h8300.c (get_shift_alg): Update comments.
969
970 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
971
972         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
973         (alloc_page, ggc_alloc): Add casts to remove warnings.
974
975 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
976
977         * combine.c (simplify_comparison): Don't change `code' when
978         can't reverse comparison.
979
980 2001-01-14  Richard Henderson  <rth@redhat.com>
981
982         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
983         update all call sites.  Return true for all non-label constants.
984
985 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
986
987         * i386.c (ix86_expand_compare): Add bypass_test and second_test
988         parameters.
989         (ix86_expand_branch): Update.
990         (ix86_expand_setcc): Update to handle multiple test conditions.
991         (expand_int_movcc): Likewise.
992         (expand_fp_movcc): Likewise.
993         * i386-protos.h (ix86_expand_compare): New.
994         * i386.md (andqi_?_slp, orqi_?_slp): New.
995         (conditional trap expander): Update call to ix86_expand_compare.
996
997 2001-01-14  Richard Henderson  <rth@redhat.com>
998
999         * config/vax/vax.md: Use nonimmediate_operand instead of
1000         general_operand in destinations.
1001
1002         * config/vax/vax.md (indirect_jump): Use register_operand.
1003
1004         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
1005         * config/vax/vax.md (call_pop): Turn into an expander.
1006         (call_value_pop): Likewise.
1007         (call, call_value): New.
1008
1009 2001-01-14  Andreas Jaeger  <aj@suse.de>
1010
1011         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
1012         variables.
1013         (ix86_fp_compare_mode): Add unused attribute.
1014         (ix86_expand_fp_movcc): Remove unused variable.
1015         (ix86_expand_builtin): Make fcode unsigned.
1016
1017         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
1018         (expand_expr): Add cast to avoid signed warning.
1019         (store_field): Likewise.
1020         (store_constructor_field): Likewise.
1021         (store_constructor): Likewise.
1022         (store_expr): Likewise.
1023         (clear_storage): Likewise.
1024         (emit_group_store): Likewise.
1025         (emit_group_load): Likewise.
1026
1027 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1028
1029         * c-common.c: Move format checking code to ...
1030         * c-format.c: ... here.  New file.  Reorder some functions and
1031         declarations.
1032         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
1033         New functions.
1034         * c-common.h (decl_handle_format_attribute,
1035         decl_handle_format_arg_attribute): Declare.
1036         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
1037         (c-common.o): Adjust dependencies.
1038         (c-format.o): New list of dependencies.
1039
1040 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
1041
1042         * unroll.c (loop_iterations): If we cannot prove iteration variable
1043         is set once in each iteration, punt.
1044
1045 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
1046
1047         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
1048         (*strlenhi): Remove clobber (which was buggy) of output address.
1049
1050 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1051
1052         * Makefile.in (generated-manpages): Add gcc.1
1053         ($(srcdir)/gcc.1): New target.
1054         (maintainer-clean): Delete $(srcdir)/gcc.1.
1055         * gcc.texi: Add macros @gccoptlist and @gol.
1056         * invoke.texi: Include option summary in manpage.  Mark up option
1057         summary with @gccoptlist and @gol.  Use @r in one place where
1058         appropriate.
1059         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
1060         * gcc.1: Generate from invoke.texi.
1061
1062 2001-01-13  Richard Henderson  <rth@redhat.com>
1063
1064         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
1065         (struct page_entry): Add group member.
1066         (struct page_group): New.
1067         (struct globals): Add page_groups member.
1068         (alloc_anon): Only define for using mmap; remove valloc call.
1069         (page_group_index): New.
1070         (set_page_group_in_use): New.
1071         (clear_page_group_in_use): New.
1072         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
1073         (free_page, release_pages): Likewise.
1074         * configure.in (with-gc): Default to ggc-page always.
1075
1076 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
1077
1078         * reload1.c (replace_pseudos_in_call_usage): Use
1079         reg_equiv_constant and reg_equiv_address, and don't try
1080         regno_reg_rtx first.
1081
1082 2001-01-13  Richard Henderson  <rth@redhat.com>
1083
1084         * ggc-page.c (alloc_page): Round up allocation size to one page.
1085         Set e->order on extra pages.
1086
1087 2001-01-13  Richard Henderson  <rth@redhat.com>
1088
1089         * genrecog.c (nodes_identical): Expand commentary.
1090         (write_switch): Watch out for identical nodes.
1091
1092 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1093
1094         * cppfiles.c (_cpp_fake_include): New function.
1095         * cpphash.h (_cpp_fake_include): New.
1096         * cpplib.c (do_line): Call _cpp_fake_include when entering
1097         header files in preprocessed input.
1098         * cppmain.c (cb_pragma_implementation): Remove handling.
1099         (setup_callbacks): Don't register pragmas.
1100
1101 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1102
1103         * extend.texi: Udate for CPP.
1104
1105 2001-01-13  Andreas Jaeger  <aj@suse.de>
1106
1107         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
1108
1109         * regmove.c: Add prototype for replace_in_call_usage.
1110
1111 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1112
1113         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
1114         struct cpp_chunk, struct htab, struct toklist,
1115         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
1116         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
1117         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
1118         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
1119         (struct macro_args): Delete.
1120         * cpphash.h: See above.
1121
1122 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1123
1124         * cppmain.c (struct printer): Remove no_line_dirs.
1125         (options, cb): New.
1126         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
1127         : Use options rather than CPP_OPTION.
1128         (setup_callbacks): Use cb rather than pfile->cb.
1129         (main): No need to check for a buffer.  Use cpp_errors.
1130         (printer_init): Don't set no_line_dirs.
1131         (maybe_print_line): Use options not no_line_dirs.
1132         (cb_file_change): Don't call print_line if -P.
1133
1134 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1135
1136         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
1137         callbacks.
1138         * c-parse.in (finish_parse): Use cpp_errors.
1139         (__yylex): Use return value of cpp_pop_buffer.
1140         * cp/lex.c (finish_parse): Use cpp_errors.
1141         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
1142
1143 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
1144
1145         * README.AVR: URLs corrected.
1146
1147 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1148
1149         * c-decl.c (start_function): Don't warn if old prototype is builtin
1150         that's not in C's namespace.
1151         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
1152         (_bb): Add prototype for ctime.
1153         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
1154
1155 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
1156
1157         * i386.c (ix86_fp_comparison_arithmetics_cost,
1158         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
1159         ix86_fp_comparison_cost): New functions.
1160         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
1161         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
1162         two-branch sequences; make static.
1163         (ix86_use_fcomi_compare): Do decision according to the costs.
1164         (split_fp_branch): New.
1165         * i386.md (compare-and-branch patterns): Use split_fp_branch.
1166         * i386-protos.h (ix86_expand_fp_compare): Remove
1167         (ix86_split_fp_branch): Declare.
1168
1169         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
1170         and ix86_comparison_operator.
1171
1172         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
1173         to make it cheaper.
1174
1175         * i386.c (put_condition_code): Output properly the unordered/ordered
1176         compares in fp case.
1177         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
1178
1179         * tm.texi (REVERSE_CONDITION): Document.
1180         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
1181         in -ffast-math mode.
1182         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
1183
1184 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
1185
1186         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
1187
1188         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
1189         optimized away.
1190
1191         * config/sh/sh.c (mova_p): Fix test for mova_const.
1192
1193 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1194
1195         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
1196         cpp_get_options rather than dereferencing pfile and using
1197         CPP_OPTION.
1198         * scan-decls.c (scan_decls): Use return value of
1199         cpp_pop_buffer rather than CPP_BUFFER.
1200
1201 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1202
1203         * cppinit.c (cpp_handle_option): help_only is now part of the
1204         cpp_options structure.
1205         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
1206         cpp_set_callbacks): New functions.
1207         * cpplib.h (cpp_callbacks): Break out as a named structure.
1208         (cpp_options): Move help_only here from cpp_reader.
1209         (CPP_FATAL_ERRORS): Update to use cpp_errors.
1210         (cpp_errors, cpp_get_options, cpp_get_callbacks,
1211         cpp_set_callbacks): New prototypes.
1212         * cppmain.c (main): Update for help_only.
1213
1214 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1215
1216         * Makefile.in (info, maintainer-clean, install-info, uninstall):
1217         Also build and remove and install and uninstall c-tree.info and
1218         cppinternals.info.
1219         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
1220         ($(srcdir)/cppinternals.info): New target.
1221         * c-tree.texi: Change file name used when makeinfo used without -o
1222         from ir.info to c-tree.info.  Add info directory entry.
1223         * cppinternals.texi: Add info directory entry.
1224         * .cvsignore: Update.
1225
1226 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
1227
1228         * c-typeck.c (store_init_value): Don't require constant initializer
1229         elements with -pedantic -std=c99.
1230         (digest_init): Change error about non-constant initializer elements
1231         into pedwarn.
1232         (constructor_range_end): Remove.
1233         (constructor_incremental, designator_depth,
1234         designator_errorneous): New variables.
1235         (struct constructor_stack): Remove range_end, add incremental.
1236         (struct constructor_range_stack, constructor_range_stack): New.
1237         (struct initializer_stack): Add constructor_range_stack.
1238         (finish_init): Set it.
1239         (start_init): Likewise.  require_constant_elements for non-static
1240         trees only if not flag_isoc99.
1241         (really_start_incremental_init): Remove constructor_range_end, add
1242         constructor_incremental.
1243         (pop_init_level): Likewise.
1244         (push_init_level): Likewise.  If implicit and the subobject had some
1245         value set already, preinitialize the level with it.
1246         Warn about missing braces only if not pushing due to designators.
1247         (set_designator, push_range_stack): New functions.
1248         (set_init_label): Use them.
1249         (set_init_index): Likewise.  Remove constructor_range_end.
1250         Error if designator index is outside of array bounds.
1251         (add_pending_init): Compare values of purpose index trees, not the
1252         trees themselves.  Allow overwriting of already initialized element.
1253         Issue a warning if it had side-effects.
1254         (set_nonincremental_init, set_nonincremental_init_from_string): New
1255         functions.
1256         (pending_init_member): Rename to...
1257         (find_init_member): ...this function.  Call set_nonincremental_init
1258         if necessary.  Compare values of purpose index trees, not the trees
1259         themselves.  Return the actual value, not just non-zero if something
1260         is found.
1261         (output_init_element): Remove checks for duplicates.
1262         If field has zero size, only check the initializer for correctness.
1263         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
1264         if constructor_incremental is zero.  Change error about initializers
1265         not computable at load time into pedwarn.
1266         (output_pending_init_elements): Compare bit positions, not
1267         FIELD_DECLs to take into account zero-sized fields.
1268         (process_init_element): Use constructor_range_stack to fill all
1269         ranges in the designator lists from current level up.
1270         * extend.texi: Update documentation for labeled elements.
1271
1272 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
1273
1274         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
1275         to function usage for arguments passed by reference.  Optimize
1276         callee-copied arguments.
1277         * regmove.c (replace_in_call_usage): New function.
1278         (fixup_match_1): Call it.
1279         * cse.c (cse_insn): Canonicalize registers in function usage.
1280         * reload1.c (replace_pseudos_in_call_usage): New function.
1281         (reload): Call it.
1282
1283         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
1284         right version.
1285
1286 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
1287
1288         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
1289         not XEXP (tmp, 0).
1290
1291 2001-01-12  DJ Delorie  <dj@redhat.com>
1292
1293         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
1294         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
1295         targets.
1296
1297 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1298
1299         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
1300         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
1301         -std options alongside references to -ansi.  Update some
1302         documentation for C99.
1303         * cpp.1: Regenerate.
1304
1305 2001-01-12  Andreas Jaeger  <aj@suse.de>
1306
1307         * haifa-sched.c (restore_line_notes): Remove argument block B
1308         since it's unused.
1309         * sched-ebb.c (schedule_ebb): Change caller.
1310         * sched-rgn.c (schedule_region): Likewise.
1311         * sched-int.h (restore_line_notes): Adjust prototype.
1312
1313         * loop.h: Remove wrong declaration of doloop_condition_get.
1314
1315 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
1316
1317         * extend.texi:  Move C++-extension-related node from the C section
1318           into the C++ section.
1319
1320 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1321
1322         * extend.texi: Refer to an array of pointers to functions instead
1323         of one of functions.
1324
1325 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
1326                               Jan Hubicka  <jh@suse.cz>
1327
1328         * combine.c (reversed_comparison): Fix typo in last patch.
1329         Check X for NULL.
1330         (combine_reversed_comparison_code): Make static to follow
1331         prototype declaration.
1332
1333 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
1334
1335         * install.texi:  Remove misplaced duplicate entry.
1336
1337 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
1338
1339         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
1340
1341 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
1342
1343         * final.c: (leaf_function_p): Fix typo.
1344
1345 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
1346
1347         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
1348         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
1349         which you have.
1350         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
1351         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
1352         mmap_anon, and valloc is available.
1353         * ggc-page.c: Restructure ifdef logic to match new autoconf
1354         spec.  Don't throw away the test page in init_ggc.
1355
1356         * configure, config.in: Regenerate.
1357
1358 2001-01-12  Michael Hayes  <mhayes@redhat.com>
1359
1360         * loop.h (total_biv_increment): Constify iv_class pointer.
1361         (struct induction): Replace `mem_mode' with `mem' rtx.
1362         * unroll.c (total_biv_increment): Constify iv_class pointer.
1363         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
1364         (find_mem_givs, combine_givs_p): Likewise.
1365         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
1366
1367 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
1368
1369         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
1370         LastError.
1371         (__gthread_getspecific): Ditto.
1372
1373 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
1374
1375         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
1376         put_condition_code): Convert fp comparison codes to integer
1377         before handling.
1378         (ix86_expand_fp_compare): Postnote the fp comparison code converison
1379         to final.
1380
1381         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
1382         * i386-protos.h (no_comparison_operator): Kill.
1383
1384         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
1385
1386         * combine.c (REVERSIBLE_CC_MODE): Remove.
1387         (reversible_comparison_p): Remove.
1388         (combine_reversed_comparison_code): New.
1389         (reversed_comparison): New.
1390         (combine_simplify_rtx): Use
1391         combine_reversed_comparison_code/reversed_comparison instead
1392         of reversible_comparison_p.
1393         (simplify_if_then_else): Likewise.
1394         (simplify_set): Likewise.
1395         (simplify_logical): Likewise.
1396         (if_then_else_cond): Likewise.
1397         (known_cond): Likewise.
1398         (simplify_comparison): Likewise.
1399
1400 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
1401
1402         * builtins.c (std_expand_builtin_va_start): Handle varargs when
1403         sizeof (int) is larger than sizeof(__word__).
1404
1405 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1406
1407         * cppinit.c (do_includes): Fix typo.
1408
1409 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1410
1411         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
1412         in S_REGS does not occur because not all sources are possible
1413         when a S_REGS is a destination (sometimes needs a clobber).
1414         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
1415         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
1416         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
1417         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
1418         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
1419         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
1420         (lshrdi_const1, lshrsi3_const16): Likewise.
1421         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
1422         (*movhi_68hc12, *movqi_68hc12): Likewise.
1423         (movstrictqi): Make sure reloading in D_REGS as a destination
1424         does not happen.
1425
1426 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1427
1428         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
1429
1430 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1431
1432         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
1433         -D, -U and -A, and don't initialize the builtins.
1434         (do_includes): Error if -include or -imacros with -fpreprocessed.
1435         * cppmain.c (cb_define, cb_undef): Unconditionally process
1436         the callback.
1437         * tradcpp.c (main): Fix typo.
1438
1439 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
1440
1441          * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
1442            (read_name_map): Use IS_ABSOLUTE_PATH.
1443          * tradcpp.c (get_filename): Likewise.
1444
1445 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1446
1447         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
1448         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
1449         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
1450         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
1451         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
1452         (cmphi_z_used): Don't use '@' for the output.
1453         (tstqi_z_used): Likewise.
1454         (cmpqi_z_used): Likewise.
1455         (one_cmplsi2): Likewise.
1456
1457 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1458
1459         * config/sh/sh.c (barrier_align): Recognize branch around far
1460         branch and redundant insn.
1461
1462 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1463
1464         * invoke.texi: Restore documentation of the drivers' switches -MD
1465         and -MMD.
1466
1467 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1468
1469         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
1470
1471         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
1472         check-objc//%): Support parallel testing of multilibs.
1473         (TESTSUITEDIR): Set to testsuite by default, but override for
1474         parallel testing.
1475         (check-gcc, check-g++, check-g77, check-objc): Enter
1476         $(TESTSUITEDIR).
1477
1478 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
1479
1480         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
1481         * sched-deps.c (deps_may_trap_p): Likewise.
1482         * basic-block.h: Remove a comment.
1483         * flow.c (PROP_POSTRELOAD): Remove.
1484         (update_life_info): Don't add it to prop_flags.
1485         (mark_set_1): Lose the code that was enabled by it.
1486
1487 2001-01-11  Michael Hayes  <mhayes@redhat.com>
1488
1489         * flow.c (flow_call_edges_add): New.
1490         * basic_block.h (flow_call_edges_add): New.
1491
1492 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
1493
1494         * reload1.c (move2add_note_store): Update reg_set_luid even if
1495         base reg remains the same.
1496
1497 2001-01-10  Nick Clifton  <nickc@redhat.com>
1498
1499         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
1500         machine_function structure to zero.
1501         Add prototypes for machine_status functions.
1502
1503 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
1504
1505         * c-common.h (CTI_VOID_LIST): Remove.
1506         (void_list_node): Likewise.
1507         * tree.h (TI_VOID_LIST_NODE): New enumeral.
1508         (void_list_node): New macro.
1509         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
1510         * config/i386/i386.c (ix86_init_builtins): Likewise.
1511         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
1512
1513 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1514
1515         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
1516         * cppinit.c (cpp_start_read): Update comment, remove unneeded
1517         if statement.
1518         * tradcpp.c: Include mkdeps.h.
1519         (deps, print_deps_phony_targets, deps_append, output_deps,
1520         init_dependency_output, output_deps): New.
1521         (deps_buffer, deps_allocated_size, deps_size, deps_column,
1522         deps_output): Delete.
1523         (print_deps_missing_files): Rename deps_missing_files.
1524         (inhibit_output): Make global.
1525         (main): Delete inhibit_output, deps_stream, deps_target.
1526         Use mkdeps functionality in the same way as cpplib.  Remove
1527         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
1528         -M and -MM.  Remove old handling of deps via deps_out, and
1529         old reading of environment variables.
1530         (get_filename): Update to use deps_add_dep.
1531
1532 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
1533
1534         * output.h (make_function_rtl): Remove prototype.
1535         (make_decl_rtl): Likewise.
1536         * varasm.c (make_function_rtl): Remove.
1537         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
1538         than from a third parameter.
1539         * tree.h (make_decl_rtl): Remove last parameter.
1540         * c-decl.c (builtin_function): Remove last argument in call to
1541         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
1542         (start_function): Likewise.
1543         * except.c (call_get_eh_context): Likewise.
1544         * expr.c (emit_block_move): Likewise.
1545         (clear_storage): Likewise.
1546         * profile.c (output_func_start_profiler): Likewise.
1547         * toplev.c (rest_of_decl_compilation): Likewise.
1548         * objc/objc-act.c (create_builtin_decl): Likewise.
1549         (synth_module_prologue): Likewise.
1550         (generate_static_reference): Likewise.
1551         (build_selector_reference_decl): Likewise.
1552         (build_class_reference_decl): Likewise.
1553         (build_objc_string_decl): Likewise.
1554         (build_protocol_reference): Likewise.
1555
1556 2001-01-10  Richard Henderson  <rth@redhat.com>
1557
1558         * hwint.h: Revert yesterday's change.
1559
1560 2001-01-10  Nick Clifton  <nickc@redhat.com>
1561
1562         * function.h (save_machine_status): Delete.
1563         (restore_machine_status): Delete.
1564         Amend comment describing {init|mark|free}_machine_status.
1565
1566         * function.c (save_machine_status): Delete.
1567         (restore_machine_status): Delete.
1568         Amend comment describing {init|mark|free}_machine_status.
1569         (push_function_context_to): Remove invocation of
1570         save_machine_status.
1571         (pop_function_context_from): Remove invocation of
1572         restore_machine_status.
1573
1574         * emit-rtl.c (init_emit_once): Amend comment describing
1575         {init|mark|free}_machine_status.
1576
1577         * tm.texi (Per-Function Data): New node.  Describe the
1578         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
1579         function pointers.
1580
1581 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1582
1583         * cppinit.c (OPT_g): Remove.
1584         (cpp_handle_option): Update for removed -g3.
1585         (print_help): Update.
1586         * cpplib.h (struct cpp_options): Remove debug_output.
1587         * cppmain.c (setup_callbacks, cb_define): Update.
1588         * gcc.c (cpp_options): Translate -g3 to -dD.
1589
1590 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
1591
1592         * config/i960/i960.md: Change modifier to + on the zero_extract
1593         pattern after the (rotate -2 reg) canonicalization pattern.
1594
1595 2001-01-10  Richard Henderson  <rth@redhat.com>
1596
1597         * config/alpha/alpha.c (alpha_free_machine_status): New.
1598         (override_options): Install it.
1599         (alpha_mark_machine_status): Verify machine non-null.
1600         * config/i386/i386.c (ix86_free_machine_status): New.
1601         (override_options): Install it.
1602         (ix86_init_machine_status): Use xcalloc.
1603         (ix86_mark_machine_status): Verify machine non-null.
1604         * config/ia64/ia64.c (ia64_free_machine_status): New.
1605         (ia64_override_options): Install it.
1606         (ia64_mark_machine_status): Verify machine non-null.
1607
1608 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
1609
1610         * function.c (instantiate_virtual_regs): Instantiate virtual
1611         registers found in CALL_INSN_FUNCTION_USAGE.
1612
1613 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1614
1615         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
1616         equivalent to -ansi in disabling -Di386.
1617
1618 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
1619
1620         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
1621         new functions.
1622         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
1623
1624 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
1625
1626         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
1627
1628 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1629
1630         * invoke.texi: Document that -fcond-mismatch isn't supported for
1631         C++.
1632
1633 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1634
1635         * gcc.texi: Define macro gcctabopt.
1636         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
1637         @command, @env and @option in some places where appropriate.  Use
1638         @gcctabopt where appropriate.  Put URLs and email addresses inside
1639         @w.
1640
1641 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
1642
1643         * gcc.c (cpp_options): Set MD file name from output
1644         filename, if specified.
1645         (suffix_subst): New static variable.
1646         (do_spec): Clear it.
1647         (do_spec_1, case '.'): Handle new `%.suffix' spec.
1648         Clear it.
1649         (give_switch): Handle suffix_subst.
1650
1651 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
1652
1653         * invoke.texi:  Fix another typo.
1654
1655 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
1656
1657         * invoke.texi:  Fix typo.
1658
1659 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1660
1661         * c-lang.c (lang_hooks): Update.
1662         (lang_decode_option): Remove.
1663         (lang_init_options): Rename c_init_options.
1664         * toplev.c (main): Use lang_hooks for lang_init_options
1665         and lang_decode_option.
1666         * toplev.h (lang_hooks): Add 2 new hooks.
1667         * tree.h: Remove lang_init_options and lang_decode_option.
1668         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
1669         * cp/decl2.c: Similarly.
1670         * cp/lex.c (lang_init_options): Rename cxx_init_options.
1671         (lang_hooks): Update.
1672         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
1673         for consistency.
1674         (lang_init_options): Rename ffe_init_options.
1675         (lang_hooks): Update.
1676         (lang_decode_option): Remove.
1677         * java/lang.c (lang_init_options): Rename java_init_options.
1678         (lang_decode_option): Rename java_decode_option.
1679         (lang_hooks): Update.
1680         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
1681         (lang_decode_option): Rename objc_decode_option.
1682         (lang_hooks): Update.
1683
1684 2001-01-09  Nick Clifton  <nickc@redhat.com>
1685
1686         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
1687         (d30v_return_addr_rtx): Delete.
1688         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
1689         cfun->machine structure.
1690         (struct machine_function): Move to d30v.h
1691         (d30v_save_machine_status): Delete.
1692         (d30v_restore_machine_status): Delete.
1693         (d30v_init_machine_status): New Function.
1694         (d30v_mark_machine_status): New Function.
1695         (d30v_free_machine_status): New Function.
1696         (d30v_init_expanders): Use new functions.
1697         (d30v_return_addr): Use ra_rtx field in cfun->machine.
1698         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
1699         d30v_return_addr_rtx.
1700
1701         * config/d30v/d30v.h (struct_machine): Move here.
1702         Add eh_epilogue_sp_ofs field.
1703
1704         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
1705         field in cfun->machine structure.
1706
1707 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1708
1709         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
1710         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
1711         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
1712
1713 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
1714
1715         * objc/lang-options.h: Remove bogus reference to
1716         Java trademark.
1717
1718 2001-01-09  Kazu Hirata  <kazu@hxi.com>
1719
1720         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
1721         return the result.
1722
1723 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
1724
1725         * reload.c (find_reloads_address): Check for eliminable registers
1726                   when substituting a constant expression for a pseudo.
1727
1728 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1729
1730         * c-common.c (enum format_type): Add format_type_error.
1731         (decode_format_type): New function.
1732         (decl_attributes): Use it.
1733         (format_kind_info): Adjust comment.
1734
1735 2001-01-09  David O'Brien  <obrien@BSDi.com>
1736
1737         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
1738         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
1739         files in tm_file.
1740         * config/i386/gnu.h: Don't include required platform specific .h files,
1741         tm.h will do it instead.
1742         * config/i386/i386elf.h: Likewise.
1743         * config/i386/linux.h: Likewise.
1744         * config/i386/moss.h: Likewise.
1745         * config/mips/gnu.h: Likewise.
1746
1747 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1748
1749         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
1750         (rs6000-ibm-aix3.[01]*): Likewise.
1751         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
1752         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
1753         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
1754         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
1755         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
1756         (powerpc-*-eabiaix*): Likewise.
1757         (powerpc-*-eabisim*): Likewise.
1758         (powerpc-*-elf*): Likewise.
1759         (powerpc-*-eabi*): Likewise.
1760         (powerpc-*-rtems*): Likewise.
1761         (powerpc-*-linux*libc1): Likewise.
1762         (powerpc-*-linux*): Likewise.
1763         (powerpc-wrs-vxworks*): Likewise.
1764         (powerpcle-wrs-vxworks*): Likewise.
1765         (powerpcle-*-sysv*): Likewise.
1766         (powerpcle-*-elf*): Likewise.
1767         (powerpcle-*-eabisim*): Likewise.
1768         (powerpcle-*-eabi*): Likewise.
1769         (powerpcle-*-solaris2*): Likewise.
1770         * config/rs6000/aix31.h: Delete includes.
1771         * config/rs6000/aix3newas.h: Likewise.
1772         * config/rs6000/aix41.h: Likewise.
1773         * config/rs6000/aix43.h: Likewise.
1774         * config/rs6000/beos.h: Likewise.
1775         * config/rs6000/rtems.h: Likewise.
1776         * config/rs6000/sysv4.h: Likewise.
1777
1778 2001-01-09  Kazu Hirata  <kazu@hxi.com>
1779
1780         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
1781         Change an argument mode of machine_mode to shift_mode of
1782         shift_mode.  Remove an extra error check.
1783         (emit_a_shift): Adopt to the new calling prototype of
1784         get_shift_alg.
1785         (function_prologue): Fix code for a monitor
1786         function.  Support H8/S.
1787         (function_epilogue): Do not output pop for a monitor function.
1788
1789 2001-01-09  Nick Clifton  <nickc@redhat.com>
1790
1791         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
1792         (setup_incoming_varargs): Use sysv_varargs_p field of the
1793         cfun->machine structure.
1794         (struct machine_function): Move to rs6000.h
1795         (rs6000_save_machine_status): Delete.
1796         (rs6000_restore_machine_status): Delete.
1797         (rs6000_init_machine_status): New Function.
1798         (rs6000_free_machine_status): New Function.
1799         (rs6000_init_expanders): Use new functions.
1800
1801         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
1802         export.
1803         (struct machine_function): Move here.
1804
1805         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
1806         sysv_varargs_p field of the cfun->machine structure.
1807
1808         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
1809         Remove prototype.
1810         (rs6000_restore_machine_status): Remove prototype.
1811
1812 2001-01-09  Richard Henderson  <rth@redhat.com>
1813
1814         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
1815         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
1816         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
1817         (sched_analyze_2, sched_analyze_insn): Likewise.
1818         (sched_analyze, init_deps): Likewise.
1819         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
1820         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
1821         (compute_block_backward_dependences): Update propagate_deps call.
1822
1823 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
1824
1825         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
1826
1827 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1828
1829         * cppinit.c (OPT_MD, OPT_MMD): Restore.
1830         (cpp_handle_option): Handle them.
1831         (cpp_post_options): Ensure one of -M or -MM is specified with
1832         any other -M? option.
1833         (init_dependency_output): Suppress output with -MG.
1834
1835 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1836
1837         * cpp.texi: Update.
1838         * invoke.texi: Update.
1839
1840 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
1841
1842         * sh.md (reload_outsf): Generate recognizable patterns for
1843         TARGET_SH3E.
1844
1845 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1846
1847         * c-lang.c (lang_hooks): Update.
1848         (lang_init): Rename c_init.
1849         (lang_finish): Remove.
1850         * toplev.c (compile_file): Use lang_hooks for lang_init ()
1851         and lang_finish ().
1852         * toplev.h (lang_hooks): Add init () and finish ().
1853         * tree.h (lang_init, lang_finish): Remove.
1854         * cp/tree.h (lang_init, lang_finish): Remove.
1855         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
1856         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
1857         lang_hooks): New.
1858         (lang_init, lang_finish): Remove.
1859         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
1860         (lang_hooks): Update.
1861         * java/lang.c (lang_init): Rename java_init.
1862         (lang_finish): Remove.
1863         (lang_hooks): Update.
1864         * objc/objc-act.c (lang_init): Rename objc_init.
1865         (lang_finish): Remove.
1866         (lang_hoooks): Update.
1867
1868 20001-01-09  Graham Stott  <grahams@redhat.com>
1869
1870         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
1871         after `ptr` is initialised.
1872
1873 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
1874
1875         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
1876         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
1877         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
1878         stack adjusts, instead of r3.
1879
1880 2001-01-09  Michael Hayes  <mhayes@redhat.com>
1881
1882         * flow.c (flow_loop_scan): Break out of ...
1883         (flow_loops_find) ... here.
1884         * basic-block.h (flow_loop_scan): New.
1885         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
1886         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
1887
1888 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
1889
1890         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
1891         macro_buffer_len.
1892         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
1893         realloc()ing macro_buffer.
1894
1895         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
1896         if it's wider than long and the target's long is wider than the
1897         host's.
1898
1899 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
1900
1901         Remove support for using UWIN as a host machine.
1902         * configure.in: Issue an error message.
1903         * configure: Regenerated.
1904         * config.gcc: Remove xm_* UWIN configury.
1905         * config/i386/xm-uwin.h: Remove.
1906
1907 2001-01-08  Nick Clifton  <nickc@redhat.com>
1908
1909         * config/v850/v850.c (ra_rtx): Delete.
1910         (v850_save_machine_status): Delete.
1911         (v850_restore_machine_status): Delete.
1912         (v850_init_machine_status): New function.
1913         (v850_mark_machine_status): New function.
1914         (v850_free_machine_status): New function.
1915         (v850_return_addr): Use ra_rtx field in machine structure.
1916         (v850_init_expanders): Use new functions.
1917
1918         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
1919         * config/v850/v850.c: Change arguments to v850_output+* functions
1920         to take a const char *, to avoid compile time warning.
1921         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
1922         (USER_LABEL_PREFIX): Redefine.
1923
1924 2000-01-08  Jim Wilson  <wilson@redhat.com>
1925
1926         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
1927         1 to unsigned HOST_WIDE_INT before left shift.
1928
1929 2001-01-08  Nick Clifton  <nickc@redhat.com>
1930
1931         * config/arm/arm.c (arm_mark_machine_status): Check to see if
1932         the machine structure has been allocated.
1933         (arm_free_machine_status): New function: Free the machine
1934         specific function structure.
1935
1936 2001-01-08  Richard Henderson  <rth@redhat.com>
1937
1938         * jump.c (simplejump_p): Revert last change.
1939
1940 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1941
1942         * cppinit.c (init): Rename init_library.
1943         (cpp_create_reader): Update.
1944         * gcc.c (cpp_options): If -o given, use it as the target of
1945         any -M options.
1946
1947 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
1948
1949         * arm.c (arm_arch5e): New variable.
1950         (all_cores): XScale is a 5TE device.
1951         (arm_override_options): Set arm_arch5e.
1952         (arm_init_builtins): __builtin_prefetch is in arch5e.
1953         * arm.h (arm_arch5e): Declare it.
1954
1955         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
1956
1957         * arm.md (define_constants): Add defines for UNSPEC and
1958         UNSPEC_VOLATILE insns.  Update all users.
1959         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
1960         * arm.c (multi_register_push, note_invalid_constants)
1961         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
1962         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
1963         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
1964
1965 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
1966
1967         * jump.c (jump_optimize_1): Use reversed_comparison_code
1968         instead of can_reverse_comparison_p.
1969         (jump_back_p): Likewise.
1970         (invert_exp_1): Likewise.
1971         (thread_jumps): Likewise.
1972         * simplify-rtx.c (simplify_unary_operation): Likewise.
1973         (simplify_ternary_operation): Likewise.
1974         * cse.c (find_comparison_args): Convert to use
1975         can_reverse_comparison_p.
1976         (record_jump_equiv): Likewise.
1977
1978 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
1979
1980         * arm.h (HARD_REGNO_RENAME_OK): Delete.
1981         (EPILOGUE_USES): Define.
1982         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
1983         automatically stack the LR if it isn't live.
1984
1985 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
1986
1987         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
1988         properly.
1989
1990 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
1991
1992         * ggc-page.c (max_alignment): New structure.
1993         (MAX_ALIGNMENT): New macro.
1994         (init_ggc): Use it to round up the sizes in the
1995         extra_order_size_table.
1996
1997 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1998
1999         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
2000         after reload.
2001
2002 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2003
2004         * builtins.def (BUILT_IN_FPRINTF): New entry.
2005
2006         * c-common.c (c_expand_builtin_fprintf): New function.
2007         (init_function_format_info): Handle __builtin_fprintf.
2008         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
2009         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
2010
2011         * c-decl.c (duplicate_decls): Adjust comment.
2012
2013         * extend.texi (fprintf): Document new builtin.
2014
2015 2001-01-07  Richard Henderson  <rth@redhat.com>
2016
2017         * jump.c (simplejump_p): Recognize any single_set jump
2018         of the proper form.
2019
2020 2001-01-07  Richard Henderson  <rth@redhat.com>
2021
2022         * configure.in (slibdir): Accept an --with-slibdir option.
2023         Use "test" not "[" in configure.  Default to $(libdir).
2024
2025         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
2026         fix typo in rm -f.
2027         * config/t-aix43 (SHLIB_INSTALL): Likewise.
2028         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
2029         (SHLIB_LINK): Create links for the soname.
2030         * config/mips/t-iris6: Likewise.
2031         * config/sparc/t-slibgcc: Likewise.
2032         * config/sparc/t-slibgcc-sld: Likewise.
2033
2034 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
2035
2036         * config/i386/i386.c (constant_call_address_operand): Accept
2037         (const (plus (symbol_ref) (const_int))).
2038         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
2039         constant_call_address_operand.
2040
2041 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2042
2043         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
2044         and LONG_LONG_TYPE_SIZE > 32.
2045
2046 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2047
2048         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
2049         the previous change.
2050
2051 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
2052
2053         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
2054         New.
2055         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
2056         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
2057         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
2058         Declare.
2059
2060 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2061
2062         * fix-header.c (read_scan_file): s/pfile/scan_in/.
2063
2064 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2065
2066         * c-lang.c (c_post_options): Call cpp_post_options.
2067         * objc/objc-act.c (objc_post_options): Similarly.
2068         * cppmain.c (main): Similarly.
2069         * fix-header.c (read_scan_file): Similarly.
2070         * cppinit.c (cpp_start_read): Move option consistency checks
2071         to cpp_post_options.  Don't call init_dependency_output.
2072         If needed, add default target and main file dependency.
2073         (OPT_MD, OPT_MMD): Remove.
2074         (OPT_MF): New.
2075         (cpp_handle_option): Update for OPT_* changes.
2076         (cpp_post_options): New.
2077         (init_dependency_output): Command line -MF overrides environment
2078         variables.  Don't set default target etc.  Suppress output
2079         if dependencies are going to stdout.
2080         (print_help): Update.
2081         * cpplib.h (cpp_post_options): New.
2082         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
2083
2084 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
2085
2086         * jump.c (comparison_dominates_p): Support unordered compares.
2087
2088 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
2089
2090         * simplify-rtx.c (simplify_relational_operation): Always simplify
2091         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
2092         and UNGE.
2093
2094 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
2095
2096         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
2097         (nonzero_bits): Likewise.
2098         (simplify_comparison): Likewise.
2099         (num_sign_bit_copies): Likewise; return more sane value depending
2100         on STORE_FLAG_VALUE.
2101         (known_cond): Do not assume EQ to be always true for equivalent
2102         operands.
2103
2104 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
2105
2106         * cse.c (fold_rtx): Handle unordered comparisons.
2107
2108 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
2109
2110         * rtlanal.c (set_of_1): New static function.
2111         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
2112          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
2113          reg_set_last_last_regno): Remove.
2114         (set_of): New global function.
2115         (set_of_data): New structure.
2116         (reg_set_p, reg_set_last): Revamp for set_of.
2117         * rtl.h (set_of): New.
2118
2119 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2120
2121         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
2122         * extend.texi: Document _Exit builtin.
2123
2124 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2125
2126         * (initialize, initialize_builtins,
2127         initialize_dependency_output, initialize_standard_includes):
2128         Rename s/initialize/init. Update.
2129         (init_dependency_output): Move to after
2130         cpp_handle_options, the correct location temporally at least.
2131         (opt_comp): Move next to init (), its caller.  Fix prototype.
2132         (init): Make "initialized" local scope.
2133         (cpp_create_reader): Always call init ().
2134         (cpp_start_read): Update.
2135         (output_deps): New function, broken out of cpp_finish.
2136         (cpp_finish): Break out output_deps.
2137
2138 2001-01-07  Richard Henderson  <rth@redhat.com>
2139
2140         * collect2.c (COFF specific stuff): Revert 12-06 patch
2141         to prototype system functions.
2142
2143 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2144
2145         * hard-reg-set.h: Add multiple include guard.
2146         * basic-block.h (struct loop): Add `sink' field.
2147         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
2148         (emit_iv_add_mult): Delete.
2149         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
2150         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
2151         (unroll_loop): Remove end_insert_before argument.
2152         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
2153         (maybe_eliminate_biv_1): Likewise.
2154         (emit_iv_add_mult): Delete.
2155         (gen_add_mult, loop_regs_update): New.
2156         (loop_insn_emit_after, loop_insn_emit_before): New.
2157         (loop_insn_sink, loop_insn_sink_or_swim): New.
2158         (emit_iv_add_mult): Delete.
2159         (scan_loop): Set loop->sink.
2160         (loop_givs_reduce): Use loop_insn_sink and its ilk.
2161         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
2162         (maybe_eliminate_biv_1): Likewise.
2163         (maybe_eliminate_biv_1): Add basic block argument.
2164         * unroll.c (unroll_loop): Remove end_insert_before argument.
2165         (find_splittable_regs): Likewise.
2166         (find_splittable_regs): Use loop_insn_sink and its ilk.
2167         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
2168
2169 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2170
2171         * loop.h (loop_insn_hoist): New prototype.
2172         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
2173         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
2174         (check_dbra_loop, load_mems): Likewise.
2175         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
2176         (find_splittable_givs): Likewise.
2177
2178 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2179
2180         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
2181
2182 2001-01-07  Richard Henderson  <rth@redhat.com>
2183
2184         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
2185
2186 2001-01-07  Richard Henderson  <rth@redhat.com>
2187
2188         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
2189         NO_SHARED_LIBGCC_MULTILIB as required for the target.
2190         * gcc.c (init_spec): Massage the existing libgcc_spec into a
2191         variant that handles a shared libgcc.
2192         (process_command): Always validate -{static,shared}-libgcc.
2193         (do_spec_1): New 'M' case.
2194         * invoke.text (Link Options): Document -{static,shared}-libgcc.
2195
2196 2001-01-07  Richard Henderson  <rth@redhat.com>
2197
2198         * Makefile.in (slibdir): New variable.
2199         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
2200         (installdirs): Create slibdir.
2201         (install-libgcc, install-multilib): Defer to libgcc.mk.
2202         * configure.in (slibdir): Substitute.
2203         * mklibgcc.in (install): New target.
2204
2205         * config/t-linux (SHLIB_LINK): Create links for the soname.
2206         (SHLIB_INSTALL): New.
2207         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
2208         * config/mips/t-iris6 (SHLIB_INSTALL): New.
2209         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
2210         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
2211         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
2212
2213 2001-01-07  Richard Henderson  <rth@redhat.com>
2214
2215         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
2216         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
2217         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
2218
2219 2001-01-07  Michael Hayes  <mhayes@redhat.com>
2220
2221         * loop.c (count_loop_regs_set): Delete.
2222         (load_mems_and_recount_loop_regs_set): Delete.
2223         (loop_regs_scan): Merge common code from count_loop_regs_set,
2224         scan_loop, and load_mems_and_recount_loop_regs_set.
2225         (scan_loop): Call load_mems directly and loop_regs_scan
2226         again if new registers created.
2227
2228 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2229
2230         * toplev.c (main): Call the front-end specific post_options
2231         hook if one is given.
2232         * toplev.h (struct_lang_hooks, lang_hooks): New.
2233         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
2234         for the C front end.
2235         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
2236         lang_hooks for the C++ front end.
2237         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
2238         lang_hooks for the ObjC front end.
2239         * f/com.c (lang_hooks): Hooks for the Fortran front end.
2240         * java/lang.c (lang_hooks): Hooks for the Java front end.
2241
2242 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2243
2244         * c-lex.c (init_c_lex): Request #define / #undef callbacks
2245         for verbose DWARF[2] debugging.
2246         (cb_define, cb_undef): The new callbacks.
2247         * toplev.h (debug_define, debug_undef): Make const correct.
2248         * toplev.c (debug_define, debug_undef): Similarly.  Do not
2249         perform the verbosity tests here anymore.
2250
2251 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
2252
2253         * reload.c (subst_reloads): Take INSN argument.  When
2254         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
2255         * reload.h (subst_reloads): Adjust prototype.
2256         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
2257         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
2258         present in JUMP_INSNs and copy them to JUMP_LABEL.
2259         * flow.c (find_label_refs, find_basic_blocks_1): Skip
2260         JUMP_INSNs and insns with REG_LABELs that are followed by
2261         JUMP_INSNs with the same REG_LABEL.
2262         * sched-rgn.c (is_cfg_nonregular): Likewise.
2263         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
2264         note is available.
2265         * unroll.c (unroll_loop): Look for REG_LABEL notes in
2266         JUMP_INSNs too.
2267         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
2268
2269 2001-01-06  Richard Henderson  <rth@redhat.com>
2270
2271         * loop.c (scan_loop): Use xcalloc for the regs array.
2272         (load_mems_and_recount_loop_regs_set): Zero the new memory
2273         received from xrealloc.
2274
2275 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2276
2277         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
2278
2279 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
2280
2281         * integrate.c (copy_rtx_and_substitute): When copying
2282         an ignored return value, strip REG_FUNCTION_VALUE_P.
2283
2284 2001-01-06  Michael Hayes  <mhayes@redhat.com>
2285
2286         * loop.c (debug_biv, debug_giv): New.
2287         (loop_biv_dump): Break out from ...
2288         (record_biv): ... here.
2289         (loop_giv_dump): Break out from ...
2290         (record_giv): ... here.
2291         (loop_bivs_check): Use print_simple_rtl.
2292         * unroll.c (loop_iterations): Use print_simple_rtl.
2293
2294 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2295
2296         * pa.md (return, return_internal): Modify patterns to prevent regrename
2297         mucking with the return pointer.
2298
2299 2001-01-05  Richard Henderson  <rth@redhat.com>
2300
2301         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
2302
2303 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
2304
2305         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
2306         version supplied by Matteo Frigo.
2307
2308 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2309
2310         * cpp.texi: Update for -MQ.
2311         * cppinit.c (cpp_create_reader): Always create pfile->deps.
2312         (cpp_cleanup): Always free pfile->deps.
2313         (initialize_dependency_output): Don't create pfile->deps.
2314         (cpp_handle_option): Similarly.
2315         (OPT_MQ): New.
2316         * gcc.c (cpp_options): Handle -MQ.
2317         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
2318         * mkdeps.c (base_name): Remove.
2319         (deps_init): Don't allocate vector space until it's needed.
2320         (deps_free): Only free vectors if allocated.
2321         (deps_add_target, deps_add_dep): Update for initial allocation.
2322         (deps_add_default_target): Don't strip to the base_name.
2323
2324 2001-01-05  DJ Delorie <dj@redhat.com>
2325
2326         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
2327         (INIT_EXPANDERS): Define.
2328
2329         * config/v850/v850.c (struct machine_function): Define.
2330         (v850_save_machine_status): New function.
2331         (v850_restore_machine_status): New function.
2332         (v850_return_addr): New function.
2333         (v850_init_expanders): New function.
2334
2335         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
2336         and v850_init_expanders.
2337
2338 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
2339
2340         * cpplib.h (struct cpp_reader): Add help_only field.
2341         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
2342         (cpp_handle_option): Set pfile->help_only if we see -h,
2343         --help, -target-help, or --version.  Print version string but
2344         do not set help_only if we see -v or -version.  Make text
2345         printed by -v match that printed by (-)-version.
2346
2347         * cppmain.c (main): Exit after option parsing if
2348         pfile->help_only is true.
2349
2350         * toplev.c (independent_decode_option): Call print_version,
2351         then exit, if we see --version (but not -version).
2352         (print_version): Split lengthy message into two lines.
2353
2354 2001-01-05  Nick Clifton  <nickc@redhat.com>
2355
2356         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
2357         temporary string for initialisation before calling ggc_alloc_string.
2358
2359 2001-01-06  Michael Hayes  <mhayes@redhat.com>
2360
2361         * rtl.h (print_simple_rtl): New.
2362         * print-rtl.c (print_simple_rtl): New.
2363         (flag_simple): New.
2364         (print_rtx): Disable printing of flags and modes, etc.,
2365         if `flag_simple` nonzero.
2366
2367 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
2368
2369         * function.c (fixup_var_refs): Use push_to_full_sequence where
2370         possible.
2371
2372 2001-01-05  Michael Meissner  <meissner@redhat.com>
2373
2374         * flags.h (flag_reorder_blocks): Add declaration.
2375         (flag_rename_block): Ditto.
2376
2377 2001-01-05  DJ Delorie  <dj@redhat.com>
2378
2379         * function.c (reorder_blocks): Make sure the flags are all reset
2380         before using them to mark blocks, else a second invocation will
2381         corrupt the block chain.
2382         (reorder_blocks_0): New, resets the flags.
2383
2384 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
2385
2386         * cse.c (find_comparison_args): Stop if the argument is known to
2387         be constant.
2388
2389 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2390
2391         * config/sh/sh.md (movdf): When splitting load into pair of
2392         registers, don't clobber the register used in the address too
2393         early.
2394
2395 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
2396
2397         * varasm.c (mark_constant_pool): Improve initial comments.
2398         (mark_constants): Move marking of constants to mark_constant.
2399         (mark_constant): New function to recursively mark all constants
2400         referred to by a constant.
2401
2402 2001-01-05  Catherine Moore  <clm@redhat.com>
2403
2404         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
2405
2406 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
2407
2408         * cp/lang-options.h:  Bring comment in line with reality.
2409         * f/lang-options.h:  Likewise.
2410         * java/lang-options.h:  Likewise.
2411         * objc/lang-options.h:  Likewise.
2412         * ch/lang-options.h:  Likewise.
2413         * f/g77.texi:  And update the manual.
2414
2415 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
2416             Denis Chertykov  <denisc@overta.ru>
2417
2418         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
2419         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
2420         * config/avr/avr.md (all peepholes that request a scratch register):
2421         Call it, FAIL the peephole if not safe (in interrupt functions).
2422
2423 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
2424
2425         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
2426
2427 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2428
2429         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
2430         Define.
2431         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
2432         BUILT_IN_CREAL and BUILT_IN_CIMAG.
2433         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
2434         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
2435         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
2436         BUILT_IN_CIMAG.
2437         * extend.texi: Document these builtins.
2438
2439 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
2440
2441         * c-common.c (lang_get_alias_set): Say we know nothing of
2442         VECTOR_TYPE aliasing.
2443
2444         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
2445
2446 2001-01-05  Bruce Korb  <bkorb@gnu.org>
2447
2448         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
2449         their x* equivalent versions for atexit-less systems
2450         * fixinc/fixincl.c(main): do not return from main() on atexit-less
2451         systems (or any other system any more).
2452
2453 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
2454
2455         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
2456         output operands.  Use arm_hard_register_operand for operand 4.
2457         (stmsi_postinc): Similarly.
2458         (ldmsi): Use arm_hard_register_operand for opernand 2.
2459         (stmsi): Similarly.
2460         * arm.c (arm_hard_register_operand): New function.
2461         * arm-protos.h (arm_hard_register_operand): Prototype it.
2462
2463         * arm.h (HARD_REGNO_RENAME_OK): Define.
2464
2465 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
2466
2467         * simplify-rtx.c (cfc_args): add "unordered" field.
2468         (check_fold_consts): Set unordered field.
2469         (simplify_relational_operation): Simplify the unordered
2470         comparisons.
2471
2472         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
2473         is valid.
2474
2475         * emit-rtl.c (try_split): Fix code to mark labels.
2476         * jump.c (mark_jump_label): Make global.
2477         * rtl.h (mark_jump_label): Declare.
2478
2479         * predict.c (estimate_probability): Handle unordred comparisons.
2480
2481 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2482
2483         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
2484         * cppinit.c (initialize_dependency_output):  Update.
2485         (cpp_finish): Output dummy targets for -MP.
2486         (OPT_MP): New.
2487         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
2488         * cpplib.h (struct cpp_options): Add deps_phony_targets.
2489         * gcc.c (cpp_options): Update to handle -MP.
2490         * mkdeps.c (deps_add_target, deps_add_default_target): Update
2491         to quote only the default target.
2492         (deps_phony_targets): Insert a preceding newline.  Rename from
2493         deps_dummy_targets for consistency.
2494         * mkdeps.h: Update
2495
2496 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2497
2498         * calls.c (emit_library_call_value_1): Support
2499         INIT_CUMULATIVE_LIBCALL_ARGS.
2500         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
2501
2502 2001-01-04  Richard Henderson  <rth@redhat.com>
2503
2504         * c-decl.c (finish_struct): Detect flexible array members
2505         used in an inappropriate context.
2506         * c-typeck.c (really_start_incremental_init): Special case
2507         constructor_max_index for zero length arrays.
2508         (pop_init_level): Allow initialization of flexible array
2509         members.  Deprecate initialization of zero length arrays.
2510         Don't issue missing initializer warning for flexible array
2511         members or zero length arrays.
2512         (process_init_element): Don't dereference null DECL_SIZE.
2513         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
2514         Don't abort for empty constructors.  Use size_binop
2515         (output_constructor): Add commentary regarding zero length
2516         array futures.  Abort if we try to initialize an array of
2517         unspecified length with a non-empty constructor in the middle
2518         of a structure.
2519
2520         * extend.texi (Zero Length): Update and clarify documentation
2521         on static initialization.
2522
2523 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2524
2525         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
2526         with more than 32767 words of local storage.
2527
2528 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2529
2530         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
2531         for 'abs', 'labs', and 'fabs'.
2532         (c4x_expand_builtin): Likewise.
2533         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
2534
2535 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2536
2537         * config/sh/sh.md (prget, prset): New insn types.
2538         (return delay slot): Dont' allow prset.
2539         (call, sfunc delay slot): Don't allow prget.
2540         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
2541         for prset and prget.
2542
2543 2001-01-05  Michael Hayes  <mhayes@redhat.com>
2544
2545         * loop.h (struct loop_reg): New.
2546         (struct loop_regs): Change to use array of `struct loop_reg'.
2547         * loop.c: Replace assortment of varrays with single regs array.
2548         (count_one_set): Delete may_not_move array argument
2549         and use regs array instead.  All caller's changed.
2550         (count_loop_regs_set): Delete may_not_move and single_usage
2551         arguments and use regs array instead.  All caller's changed.
2552         (find_single_use_in_loop): Replace usage array argument with pointer
2553         to regs structure.  All caller's changed.
2554         (loop_optimize): Delete `moved_once' array.
2555
2556 2001-01-05  Michael Hayes  <mhayes@redhat.com>
2557
2558         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
2559         Use it instead of loop_info->has_call for scanning loop mems.
2560         (check_dbra_loop): Replace loop_info->has_call test with
2561         loop_info->has_nonconst_call.
2562
2563 2000-01-04  Matthew Hiller  <hiller@redhat.com>
2564
2565         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
2566         for TARGET_SH3E.
2567
2568 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2569
2570         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
2571         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
2572
2573 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2574
2575         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
2576         (flag_short_double, flag_short_wchar): Define.
2577         (c_common_nodes_and_builtins): Create many tree nodes shared
2578         between C and C++ here instead of in cp/decl.c and ...
2579         * c-decl.c (init_decl_processing): ... here.
2580         (SIZE_TYPE, WCHAR_TYPE): Don't define.
2581         (flag_short_double, flag_short_wchar): Don't define.
2582         (record_builtin_type): New function.
2583         (build_void_list_node): New function.
2584         * c-common.h (flag_short_double, flag_short_wchar,
2585         record_builtin_type, build_void_list_node): Declare.
2586
2587 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
2588
2589         * integrate.c (expand_inline_function): Don't put a virtual
2590         register into the reg map.
2591
2592         * function.c (fixup_var_refs_1): If force_operand didn't put
2593         the address into the target, move it there.
2594
2595 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
2596
2597         Special-case tree_decl/tree_list allocations.
2598         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
2599         (OBJECT_SIZE): New macro.
2600         (NUM_EXTRA_ORDER): Likewise.
2601         (extra_order_size_table): New variable.
2602         (NUM_ORDERS): New macro.
2603         (objects_per_page_table): New variable.
2604         (object_size_table): New variable.
2605         (G.pages): Use NUM_ORDERS to bound the array.
2606         (G.page_tails): Likewise.
2607         (DIV_ROUND_UP): Remove.
2608         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
2609         (alloc_page): Use OBJECT_SIZE.
2610         (size_lookup): Don't make it const.
2611         (ggc_alloc): Use OBJECT_SIZE.
2612         (ggc_set_mark): Likewise.
2613         (ggc_get_size): Likewise.
2614         (init_ggc): Set up the object_size_table, objects_per_page_table,
2615         and adjust size_lookup.
2616         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
2617         (ggc_pop_context): Use NUM_ORDERS.
2618         (clear_marks): Likewise.
2619         (sweep_pages): Likewise.
2620         (poison_pages): Likewise.
2621         (ggc_print_statistics): Use OBJECT_SIZE.
2622
2623 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2624
2625         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
2626         Only call array_size_for_constructor if last field and array type
2627         with no upper bound.
2628
2629 2001-01-04  Philip Blundell  <philb@gnu.org>
2630
2631         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
2632         from bit 31 downwards, if this requires no more insns.
2633         (count_insns_for_constant): New helper function for above.
2634
2635 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
2636
2637         * gencodes.c (output_predicate_decls): Remove empty initializer.
2638
2639 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
2640
2641         * tree.c (copy_node): Remove documentation about obstacks.
2642         (buidl1): Check that nobody tries to build 2-argument nodes this
2643         way.
2644
2645 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2646
2647         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
2648         fp_high_losum_p.
2649
2650         * gencodes.c (output_predicate_decls): Fill empty initializer
2651         braces.
2652
2653 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
2654
2655         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
2656         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
2657         or -MM.
2658         (do_include): Handle missing headers like cpp0.
2659         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
2660         paths with first include pathname.  Don't strcat to uninitialized
2661         string.
2662
2663 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
2664
2665         * regrename.c (regrename_optimize): Don't rename from frame pointer
2666         if frame_pointer_needed.
2667         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
2668         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
2669         (ia64_reorg): Use it instead of scheduling if ! optimize.
2670         (errata_emit_nops): Properly call asm_noperands.
2671         (ia64_sched_reorder): Finish cycle if we see an asm.
2672         (ia64_variable_issue): Clear scheduling state after asms.
2673
2674 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2675
2676         * cpp.texi: Update for -MT.
2677         * cppinit.c (initialize_dependency_output): Add a default
2678         target if none has been given already.
2679         (no_tgt, OPT_MT): New.
2680         (cpp_handle_option): Handle -MT.  Update -M etc.
2681         * cpplib.h (struct cpp_options): Remove deps_target.
2682         * gcc.c (cpp_options): Handle -MT.
2683         * mkdeps.c (struct deps): Move from mkdeps.h.
2684         (deps_calc_target): Rename deps_add_default_target.  Add a
2685         default target if none has been specified already.
2686         * mkdeps.h (struct deps): Move to mkdeps.c.
2687         (deps_calc_target): Rename deps_add_default_target.
2688
2689 2000-01-03  Richard Henderson  <rth@redhat.com>
2690
2691         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
2692         Remove dead code.
2693         * c-typeck.c (push_init_level): Move checks for flexible array
2694         members and zero length arrays ...
2695         (pop_init_level): ... here.  Silently discard empty initializations.
2696         Remove dead code.
2697         * varasm.c (output_constructor): Update for sizeof change to
2698         zero-length arrays.
2699
2700         * extend.texi (Zero Length): Clarify semantics.
2701
2702 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
2703
2704         * configure.in (tm.h): Include isns-codes.h last.
2705         * configure: Rebuilt.
2706
2707 2001-01-03  Richard Henderson  <rth@redhat.com>
2708
2709         * config/alpha/alpha.md (addvsi3, addvdi3): New.
2710         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
2711
2712 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2713
2714         * tradcpp.c (main): Make sure finclude() is called with a valid
2715         indepth value while handling -include.
2716
2717 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
2718
2719         * gencodes.c (output_predicate_decls): New function.
2720         (main): Call it.
2721         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
2722         even if it is not the first time machmode.h is #included.
2723         * config/sh/sh.c (fpul_operand): Declare MODE argument.
2724         * tm.texi (PREDICATE_CODES): Document predicate declarations.
2725         * gcc.texi (Copyright): Added 2001.
2726
2727 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2728
2729         * c-common.c (c_common_lang_init): New function.  Warn if format
2730         warning options which only have effects when used with -Wformat
2731         are used without -Wformat.
2732         * c-common.h (c_common_lang_init): Declare.
2733         * c-lang.c (lang_init): Call c_common_lang_init.
2734         * objc/objc-act.c (lang_init): Call c_common_lang_init.
2735
2736 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2737
2738         * configure.in: Check for the mktemp command.
2739         * configure: Regenerate.
2740         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
2741         $TEMP.  Create temporary files with mktemp, if available at
2742         configure time; otherwise use set -C.  Remove temporary files
2743         before exit.
2744
2745 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2746
2747         * configure.in: Require at least texinfo 4.0.  Check for whether
2748         Pod::Man is sufficiently recent to regenerate GCC manpages.
2749         * configure:  Regenerate.
2750         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
2751         on #!.
2752         (GENERATED_MANPAGES): Define.
2753         (generated-manpages): New target.  Depend on cpp.1 as well as
2754         gcov.1.
2755         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
2756         configure to generated-manpages or empty) rather than on the
2757         manpages directly.  Remove execute permission from installed
2758         gcov.1 as well as cpp.1.
2759         * cpp.1, gcov.1: Regenerate.
2760
2761 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2762
2763         * builtins.c (expand_builtin_strncmp): Use host_integerp and
2764         tree_low_cst.  Allow using cmpstrsi in more cases.
2765
2766 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2767
2768         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
2769         sized types.
2770
2771 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
2772
2773         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
2774         * Makefile.in (HOST_CFLAGS): Mention build-make.
2775
2776 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2777
2778         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
2779         as JUMP_INSN.
2780
2781 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
2782
2783         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
2784         a REG rtx.
2785
2786         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
2787         callers changed.
2788
2789         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
2790         reg_base_value and reg_known_value arrays.
2791         (init_alias_analysis): Add more cases to detect known values.
2792         * sched-deps.c (deps_may_trap_p): New function.
2793         (sched_analyze_2): Use it.
2794
2795 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
2796
2797         * combine.c (simplify_shift_const): Even if we're sign-extracting,
2798         don't discard an ASHIFTRT if we're shifting in a wider mode.
2799
2800 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2801
2802         * toplev.c (rest_of_compilation): Don't print basic block information
2803         when CFG isn't up to date.
2804
2805 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
2806
2807         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
2808         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
2809         (UNALIGNED_SHORT_ASM_OP): Define.
2810         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
2811
2812 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
2813
2814         * fold-const.c (fold_convert): Fix typo.
2815
2816 2001-01-02  Richard Henderson  <rth@redhat.com>
2817
2818         * c-common.h (ASM_INPUT_P): New.
2819         * c-parse.in (asm): Set it when needed.
2820         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
2821         existance of an operand.
2822
2823 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
2824
2825         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
2826         (dwarf2out_frame_debug_expr): Likewise.
2827         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
2828
2829 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
2830
2831         * i386.c (ix86_split_to_parts): Return number of part required;
2832         handle TFmodes.
2833         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
2834         TFmodes.
2835         (ix86_split_long_move): Use number of part returned
2836         by ix86_split_to_parts
2837         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
2838         New macros.
2839         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
2840         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
2841         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
2842         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
2843         (ALIGN_MODE_128): Add TFmode.
2844         (IS_STACK_MODE): Likewise.
2845         (HARD_REGNO_NREGS): TFmode needs 3 registers.
2846         (HARD_REGNO_OK): Support TFmodes.
2847         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
2848         * i386.md (scheduler definitions): Use memory operand to determine
2849         fst/fld instructions; use mode attribute to determine real mode of
2850         the instruction.
2851         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
2852         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
2853
2854 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
2855
2856         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
2857
2858 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
2859
2860         * expr.c (store_constructor_field): Update ALIGN before calling
2861         store_constructor.
2862
2863 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
2864
2865         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
2866         host_integerp.
2867
2868 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
2869
2870         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
2871         incomplete type.
2872
2873 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
2874
2875         * c-decl.c (start_function): Don't warn on third parameter to main.
2876
2877 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2878
2879         * tsystem.h: Define HAVE_DECL_GETOPT.
2880
2881 2001-01-02  Philip Blundell  <pb@futuretv.com>
2882
2883         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
2884         of input operand.
2885
2886 2001-01-02  Richard Henderson  <rth@redhat.com>
2887
2888         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
2889
2890 2001-01-02  Andreas Jaeger  <aj@suse.de>
2891
2892         * c-decl.c (c_decode_option): Remove support of
2893         -Wmissing-noreturn.
2894
2895         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
2896         (W_options): Add -Wmissing-noreturn here.
2897
2898         * flow.c: Define lang_missing_noreturn_ok_p.
2899         (check_function_return_warnings): Use it.
2900
2901         * c-common.h: Declare lang_missing_noreturn_ok_p.
2902
2903         * c-lang.c (c_missing_noreturn_ok_p): New function.
2904         (lang_init): Set lang_missing_noreturn_ok_p.
2905
2906         * invoke.texi (Warning Options): Document this.
2907
2908 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
2909
2910         * extend.texi (C++ Extensions):  New node for C++ attributes;
2911           describe init_priority and com_interface.
2912         * invoke.texi:  Remove -finit-priority as it now has zero effect.
2913         * install.texi:  Fix xref syntax.
2914         * md.texi:  Likewise.
2915
2916 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2917
2918         * config.gcc (sparc64-wrs-vxworks*): New case.
2919         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
2920
2921         * config/sparc/sparc.c (sparc_override_options): Do support different
2922         pointer and architecture size.
2923         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
2924         (POINTERS_EXTEND_UNSIGNED): Define.
2925         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
2926         (FUNCTION_MODE): Define to be Pmode.
2927         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
2928
2929         * function.c (expand_function_end): Properly handle DECL_RESULT
2930         and copy when ptr_mode != Pmode.
2931         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
2932
2933 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2934
2935         * c-common.c (c_common_nodes_and_builtins): Set prototype
2936         parameters for __builtin_fputs, __builtin_fputc and
2937         __builtin_fwrite.  Don't declare plain fputc as a builtin.
2938
2939 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2940
2941         * loop.c (add_label_notes): Increment the label usage count when
2942         a note is added to an insn which refers to a CODE_LABEL.
2943         * gcse.c (add_label_notes): Likewise.
2944
2945 2001-01-01  Andreas Jaeger  <aj@suse.de>
2946
2947         * loop.c (scan_loop): Use xmalloc to allocate movables.
2948
2949 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
2950
2951         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
2952         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
2953         * reload1.c (REGISTER_MOVE_COST): Likewise.
2954         * regclass.c (REGISTER_MOVE_COST): Likewise.
2955         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
2956         dimension.  Adjust all users.
2957         (init_reg_sets_1): Iterate on all modes.
2958         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
2959         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
2960         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
2961         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
2962         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
2963         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
2964         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
2965         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
2966         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
2967         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
2968         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
2969         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
2970         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
2971         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
2972         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
2973         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
2974         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
2975         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
2976         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
2977         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
2978         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
2979         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
2980         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
2981         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
2982         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
2983         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
2984         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
2985
2986 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
2987
2988         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
2989         arg VARIES_P.  Call it with extra arg.
2990         (true_dependence): Likewise.
2991         * rtl.h (rtx_addr_can_trap_p): Declare.
2992         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
2993         prototypes.
2994         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
2995         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
2996         pic offset table register if it's zero.  All callers changed.
2997         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
2998
2999 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3000
3001         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
3002         STRING_POOL_ADDRESS_P.
3003
3004         * config/sparc/sparc.c (input_operand): Properly test for short op.
3005
3006         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
3007         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
3008         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
3009         * config/sparc/elf.h: No longer include sol2.h.
3010         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
3011         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
3012
3013         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
3014
3015 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3016
3017         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
3018         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
3019         (record_initial): Likewise.
3020         * unroll.c (copy_loop_body, loop_iterations): Likewise.
3021         (remap_split_bivs): Likewise.
3022
3023 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3024
3025         * loop.c (loop_ivs_free): New function.
3026         (strength_reduce): Break out from...
3027
3028 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3029
3030         * loop.h (struct iv): New.
3031         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
3032         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
3033         'reg_biv_class' fields with 'regs' and 'n_regs'.
3034         (struct ivs): Rename 'loop_iv_list' field to 'list'.
3035         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
3036         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
3037
3038 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
3039
3040         * resource.c (mark_referenced_resources): Abort() before
3041         attempting to mark a pseudo register.
3042         (mark_set_resources): Likewise.
3043
3044 2001-01-01  Michael Hayes  <mhayes@redhat.com>
3045
3046         * loop.h (REG_IV_CLASS): New accessor macro.
3047         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
3048         * unroll.c (REG_IV_CLASS): Likewise.
3049
3050 See ChangeLog.4 for earlier changes.