OSDN Git Service

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