OSDN Git Service

* configure.in (m68*-*-rtemscoff*): New target, formal name for
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2000-01-04  Joel Sherrill (joel@OARcorp.com>
2
3         * configure.in (m68*-*-rtemscoff*): New target, formal name for
4         old m68*-*-rtems*.
5         (m68*-*-rtemself*): New target.
6         (mips64orion-*-rtems*): Remove duplicate definition of tm_file.
7         (sparc*-*-rtemsaout*): New target, formal name for old sparc*-*-rtems*.
8         (sparc*-*-rtemself*): New target.
9         (sparc*-*-rtems*): Now elf not a.out.
10         * config/i386/rtems.h: Include config/rtems.h.
11         * config/i386/rtemself.h: Include config/rtems.h.
12         * config/i960/rtems.h: Include config/rtems.h.
13         * config/m68k/rtems.h: Include config/rtems.h.
14         * config/m68k/rtemself.h: Include config/rtems.h.
15         * config/mips/rtems64.h: Include config/rtems.h.
16         * config/pa/rtems.h: Include config/rtems.h.
17         * config/rs6000/rtems.h: Include config/rtems.h.
18         * config/sh/rtems.h: Include config/rtems.h.
19         * config/sh/rtemself.h: Include config/rtems.h.
20         * config/sparc/rtems.h: Include config/rtems.h.
21         * config/sparc/rtemself.h: Include config/rtems.h
22
23 Tue Jan  4 23:59:26 2000  Denis Chertykov <denisc@overta.ru>
24
25         * final.c (shorten_branches): Correctly compute length of
26         asms without operands.
27  
28 Tue Jan  4 22:55:41 2000  Steve Chamberlain <sac@pobox.com>
29
30         * configure.in: Add pj target.
31         * configure: Regenerate.
32         * config/pj: New directory.
33         * config/pj/lib1funcs.S: New file.
34         * config/pj/linux.h: New file.
35         * config/pj/pj.c: New file.
36         * config/pj/pj.md: New file.
37         * config/pj/pjl.h: New file.
38         * config/pj/t-pj: New file.
39         * config/pj/xm-pj.h: New file
40
41 Tue Jan  4 22:30:16 2000  Jeffrey A Law  (law@cygnus.com)
42
43         * toplev.c (rest_of_compilation): Run shorten-branches before
44         reg-stack for now.
45
46 2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
47
48         * config/c4x/c4x.h (IS_XXX_REG, IS_XXX_REGNO): Swap behaviour of 
49         macros so that they're consistent with their names.
50         * config/c4x/c4x.c (IS_XXX_REG, IS_XXX_REGNO): Likewise.
51         * config/c4x/c4x.md (IS_XXX_REG, IS_XXX_REGNO): Likewise.
52
53 2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
54
55         * config/c4x/c4x.md (*addqi3_noclobber_reload): Ensure that CC never
56         modified inadvertently.
57
58 2000-01-04  Joel Sherrill <joel@OARcorp.com>
59
60         * configure.in (v850*-*-rtems*): New target.
61         * configure: Regenerate.
62         * config/v850/rtems.h: New file.
63
64 2000-01-04  Mumit Khan  <khan@xraylith.wisc.edu>
65
66         * gthr-win32.h (__gthread_active_p): Support Mingw MT runtime.
67         (__gthread_key_create): Likewise. 
68         (__gthread_key_dtor):  Likewise.
69         (__gthread_once): Fix logic.
70         (__gthread_key_delete): Cast away constness.
71
72         * i386/cygwin.h (SUBTARGET_SWITCHES): Add -mthreads option.
73         * invoke.texi: Document.
74         * i386/mingw32.h (CPP_SPEC): Use.
75         (LIBGCC_SPEC): Likewise.
76         * i386/crtdll.h (LIBGCC_SPEC): Likewise.
77
78 2000-01-04  David Edelsohn  <edelsohn@gnu.org>
79
80         * rs6000/sysv4.h (ASM_OUTPUT_DEF): Undefine.
81         (HANDLE_PRAGMA_PACK): Undefine.
82         (SLOW_UNALIGNED_ACCESS): Define.
83
84 2000-01-04  David Edelsohn  <edelsohn@gnu.org>
85
86         * expmed.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
87         to default definition.
88         (store_bit_field): Call SLOW_UNALIGNED_ACCESS with mode and alignment.
89         (store_fixed_bit_field): Call macro with word_mode and alignment.
90         (extract_bit_field): Call macro with relevant mode and alignment.
91         * expr.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
92         to default definition.
93         (move_by_pieces): Call SLOW_UNALIGNED_ACCESS with word_mode
94         and alignment.
95         (move_by_pieces_ninsns): Likewise.
96         (clear_by_pieces): Likewise.
97         (emit_push_insn): Likewise.
98         (store_field): Call macro with relevant mode and alignment.
99         (expand_expr): Likewise.
100         (expand_expr_unaligned): Likewise.
101
102         * rs6000.h (HANDLE_PRAGMA_PACK): Define.
103         (SLOW_UNALIGNED_ACCESS): Define.
104         (CASE_VECTOR_MODE): Always use 32-bit offsets.
105         (ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
106         (EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
107         (toc_section): Likewise and .toc pseudo-op.
108         (ASM_DECLARE_FUNCTION): Likewise.  Align text more strictly in
109         64-bit mode.
110         (TEXT_SECTION_ASM_OP): Likewise.
111         (ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
112         32-bit offsets.
113
114         * a29k.h (SLOW_UNALIGNED_ACCESS): Add MODE and ALIGN parameters.
115         * alpha.h (SLOW_UNALIGNED_ACCESS): Likewise.
116         * arm/thumb.h (SLOW_UNALIGNED_ACCESS): Likewise.
117         * gmicro.h (SLOW_UNALIGNED_ACCESS): Likewise.
118         * fr30.h (SLOW_UNALIGNED_ACCESS): Likewise.
119
120 Tue Jan  4 11:44:13 2000  Jeffrey A Law  (law@cygnus.com)
121
122         * regclass.c: Revert my Jan 4 change to loop cost computation.
123
124 Tue Jan  4 19:22:39 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
125
126         * regclass.c (regclass): Do not obey REG_N_REFS in non-optimizing
127         compilation.
128
129 2000-01-04  Stan Cox  <scox@cygnus.com>
130
131         * haifa-sched.c (build_control_flow): Change unreachable simple
132         loop test to check if current block has only one predecessor.
133         (find_rgns): Initialize degree.  Use dest as degree index, not src.
134
135 2000-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
136
137         * builtins.c (expand_builtin_strlen): Initialize variable `icode'.
138
139         * calls.c (expand_call): Likewise for
140         `old_stack_arg_under_construction'.
141
142         * cpphash.c (macroexpand): Likewise for `args' and `rest_zero'.
143
144         * function.c (pad_to_arg_alignment): Likewise for `save_var' and
145         `save_constant'.
146
147         * gcc.c (execute): Likewise for `ut' and `st'.
148
149         * genattrtab.c (attr_rtx): Likewise for `rt_val'.
150
151         * genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'.
152
153         * jump.c (jump_optimize_1): Likewise for `temp2'.
154
155         * local-alloc.c (block_alloc): Likewise for `r1'.
156
157         * loop.c (recombine_givs): Likewise for `life_start' and `life_end'.
158
159         * reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'.
160         (subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'.
161         
162         * regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node'
163         and `set2'.
164
165         * reload.c (find_reloads): Likewise for `goal_alternative_number'
166         and `goal_earlyclobber'.
167
168         * scan-decls.c (scan_decls): Likewise for `prev_id_end'.
169
170         * sdbout.c (sdbout_one_type): Likewise for `member_scl'.
171
172         * stupid.c (stupid_life_analysis): Likewise for `chain'.
173
174         * unroll.c (copy_loop_body): Likewise for `copy'.
175
176         * varasm.c (output_constructor): Likewise for `byte'.   
177
178 Tue Jan  4 15:34:34 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
179
180         * i386.c (ix86_expand_move): Allow pushes of memory, offload to memory
181         all FP constants for constant->reg moves.
182         (ix86_split_to_parts): Try to convert memory address into immediate
183         when available in the constant pool.
184         * i386.h (PREFERRED_RELOAD_CLASS): Allow CONST_DOUBLE->integer reg
185         moves.
186         (LEGITIMATE_CONSTANT_P): Return 1.
187         * i386.md (pushsf): New splitter to convert constant pool memory
188         reference to immediate.
189         (mov?f): Likewise; do not allow CONST_DOUBLE for reg moves before
190         reload.
191
192 2000-01-04  Bernd Schmidt  <bernds@cygnus.co.uk>
193
194         * i386.md (ashlsi3_cmpno): Don't accept variables shifts.
195         (ashlhi3_cmpno, ashlqi3_cmpno, ashrsi3_cmpno, ashrhi3_cmpno,
196         ashrqi3_cmpno, lshrsi3_cmpno, lshrhi3_cmpno, lshrqi3_cmpno): Likewise.
197         (rotlsi3_cmpno, rotlhi3_cmpno, rotlqi3_cmpno, rotrsi3_cmpno,
198         rotrhi3_cmpno, rotrqi3_cmpno): Likewise.
199
200 2000-01-04  Martin von Löwis  <loewis@informatik.hu-berlin.de>
201
202         * ginclude/stdbool.h:  Support compilation as C++.
203
204 Tue Jan  4 01:35:13 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
205
206         * fold-const.c (make_range): Don't try to reverse an unbounded range.
207
208 Tue Jan  4 00:18:46 2000  Jeffrey A Law  (law@cygnus.com)
209
210         * regclass.c (regclass): Properly compute loop_cost.  Adjust
211         comments.
212
213         * regclass.c: Fix minor whitespace problems.
214
215 2000-01-03  Anthony Green  <green@cygnus.com>
216         
217         * config/i386/i386.md (builtin_setjmp_receiver): New pattern.
218         Restore the pic register if required.
219
220 2000-01-03  Ulrich Drepper  <drepper@cygnus.com>
221
222         * c-common.c (format_char_info): Update comment.
223         (check_format_info): Recognize 'z' modifier in the same way 'Z'
224         was recognized.  Emit warning for formats new in ISO C99 only
225         if flag_isoc9x is not set.
226
227 Mon Jan  3 12:59:54 2000  Mark P. Mitchell  <mark@codesourcery.com>
228
229         * config/mips/iris6gld.h: Fix typo in -mabi=n32 specs.
230
231 Mon Jan  3 15:33:37 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
232
233         * combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to
234         SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
235         (make_compound_operation): Choose cheaper alternative between
236         ZERO_EXTEND and SIGN_EXTEND when sign bit is not set.
237
238         * regclass.c (op_costs): Remove global variable.
239         (record_reg_classes): New parameter "op_costs" and "reg_pref".
240         (record_operand_costs): Break out from ...
241         (scan_one_insn): ... here.
242         (dump_regclass): Make dumps nicer.
243         (regclass): Dump preferrences choosed and changes done during passes.
244
245 2000-01-03  Jakub Jelinek  <jakub@redhat.com>
246
247         * config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC.
248
249 2000-01-03  Jakub Jelinek  <jakub@redhat.com>
250
251         * config/sparc/sparc.c (gen_df_reg): New function.
252         * config/sparc/sparc-protos.h (gen_df_reg): Add prototype.
253         * config/sparc/sparc.md (movtf_no_e_insn_sp64+1,
254         movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1,
255         movtf_cc_reg_sp64+1): Use it.
256
257 2000-01-02  Mark Mitchell  <mark@codesourcery.com>
258
259         * integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on
260         copied LABEL_DECLs.
261
262 Mon Jan  3 02:54:40 2000  Hans-Peter Nilsson  <hp@bitrange.com>
263
264         * config/i386/i386.c (ix86_expand_unary_operator): Function
265         definition made void.
266         (ix86_expand_binary_operator): Update outdated preceding comment.
267         * config/i386/i386-protos.h (ix86_expand_unary_operator): Update
268         prototype.
269
270         * config/i386/i386.c (override_options): Fix option-name typo.
271
272 2000-01-02  Mark Mitchell  <mark@codesourcery.com>
273
274         * system.h (CEIL): Define.
275         * builtins.c (CEIL): Remove.
276         * expmed.c (CEIL): Likewise.
277         * expr.c (CEIL): Likewise.
278         * stor-layout.c (CEIL): Likewise.
279         
280 2000-01-02  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
281
282         * expr.c (store_constructor_field): Fix typo introduced with last
283         gcc2 merge.
284
285 2000-01-01  Mark Mitchell  <mark@codesourcery.com>
286
287         * tree.h (BINFO_N_BASETYPES): New macro.
288
289 2000-01-01  Bernd Schmidt  <bernds@cygnus.co.uk>
290
291         * expmed.c (emit_store_flag): Prevent losing a pending stack
292         adjust the same way we prevent losing queued increments.
293
294 Fri Dec 31 19:10:31 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
295
296         * function.c (update_temp_slot_address): Handle case where sum of
297         temporary address plus offset in register is a valid address.
298
299 1999-12-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
300
301         * genrecog.c (change_state) Corrected typo.
302
303 1999-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
304
305         * system.h (bcopy, bcmp, bzero, index, rindex, atof, atol, free,
306         getcwd, getenv, getwd, sbrk, strstr, malloc, calloc, realloc,
307         strerror, getrlimit, setrlimit, abort): Add prototype arguments.
308
309 1999-12-30  Bernd Schmidt  <bernds@cygnus.co.uk>
310
311         * i386.c (ix86_expand_fp_compare): In non-sahf non-TARGET_IEEE
312         case, expand GT comparisons correctly.  Fix a comment before this
313         part of the code.
314
315 1999-12-30  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
316
317         * dwarfout.c: Include "frame.h" 
318         * dwarf2out.c: Likewise.
319         * Makefile.in (dwarfout.o): Depend on frame.h
320         (dwarf2out.o): Likewise.
321
322 1999-12-29  "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
323
324         Restore i386 binary compatibility in Dwarf EH info.
325         * config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old
326         value of FIRST_PSEUDO_REGISTER.
327         * frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER.
328         (struct frame_state): Use DWARF_FRAME_REGISTERS.
329         * dwarfout.c (output_reg_number): Ditto.
330         * dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto.
331         (DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS.
332
333 1999-12-29  Bruce Korb  <autogen@linuxbox.com>
334
335         * fixinc/fixincl.c(wait_for_pid): sometimes a WSTOPSIG of zero is OK
336         * fixinc/fixincl.tpl(<hack>TEST_CT): Just do the existence test once
337         (<hack>_RE_CT): not needed
338         * fixinc/fixlib.c(is_cxx_header): moved from fixtests.c
339         rewritten to scan the file text once only
340         "template<..." test added
341         * fixinc/fixlib.h(apply_fix_p_t): moved from fixtests.c
342         (is_cxx_header): declaration added
343         * fixinc/fixtests.c(is_cxx_header): removed
344         (apply_fix_p_t): removed
345         (double_slash_test): is_cxx_header is only called once now
346         * fixinc/hackshell.tpl: indexing the fixes is now done under DEBUG
347         * fixinc/inclhack.def(FIXINC_DEBUG): added for testing DEBUG state
348         within the templates.
349         The borken spelling of "broken" was fixed.
350         * fixinc/inclhack.tpl: The $VERBOSE level is used on various messages
351         The default level depends on FIXINC_DEBUG.
352
353 1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
354
355         * crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
356         Otherwise provide a declaration for atexit.
357         (init_dummy): Make sure dummy call to atexit is nevertheless
358         called with correct number of args.
359
360         * frame.c: Update comments referring to other files.
361         
362         * libgcc2.c: Likewise.
363
364 1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
365
366         * cse.c (free_element, get_element): Remove unused prototypes.
367
368         * fold-const.c (extract_muldiv): Initialize variables `op0' and
369         `op1'.
370
371         * jump.c (invert_exp): Add explicit braces to avoid ambiguous
372         `else' clauses.
373
374 Wed Dec 29 12:44:54 1999  Donald Lindsay  <dlindsay@cygnus.com>
375
376         * configure.in,configure: case arm for mn10200-*-* now sets
377         float_format=i32 so that float.h will correctly claim "double"
378         to be 32 bits. Ran autoconf to generate configure from .in file.
379
380 Wed Dec 29 10:53:21 1999  Jeffrey A Law  (law@cygnus.com)
381
382         * pa.md (conditional zero): If op1 is a register, force it into
383         the same register as op0.
384
385 1999-12-28  Mark Mitchell  <mark@codesourcery.com>
386
387         * tree.h (BINFO_BASETYPES): Improve documentation.
388
389 1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
390
391         * configure.in (--enable-checking): Use a more portable `for'
392         loop syntax.
393
394 1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
395
396         * configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h,
397         arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use.
398
399         * xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h:
400         Delete files.
401
402         * gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED):
403         Delete descriptions.
404
405         * i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h,
406         m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h,
407         m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h,
408         pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h,
409         xm-svr4.h: Remove all instances of sys_siglist handling.
410
411 1999-12-27  Jakub Jelinek  <jakub@redhat.com>
412
413         * config/sparc/sparc.md (cmp_zero_qi,
414         cmp_zero_extendqisi2_andcc_set, cmp_zero_qi_sp64,
415         cmp_zero_extendqidi2_andcc_set): New patterns.
416
417 1999-12-28  Manfred Hollstein  <mhollstein@cygnus.com>
418
419         * m68k/t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a.
420         (LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA): Define.
421         (fpgnulib.c, xfgnulib.c): Add rules.
422         * m68k/t-mot3300-gas: Likewise.
423
424 1999-12-27  Ian Lance Taylor  <ian@zembu.com>
425
426         * configure.in: Avoid [[ by using test and changequote.  Add
427         changequote required by 1999-12-14 change.
428         * configure: Rebuild.
429
430 1999-12-27  Clinton Popetz  <cpopetz@cygnus.com>
431
432         * config/mips/mips.h: Fix typo from 12/17/99 libgcc2 fix.
433
434 1999-12-27  Christophe Jaillet  <jaillet.christophe@caramail.com>
435
436         * alias.c (nonlocal_reference_p): Add else for disjoint ifs.
437         * flow.c (find_use_as_address): Likewise.
438         * function.c (fixup_var_refs_1): Likewise.
439         (walk_fixup_memory_subreg, fixup_stack_1): Likewise.
440         * jump.c (invert_exp, redirect_exp): Likewise.
441         * loop.c (replace_call_address): Likewise.
442         (count_nonfixed_reads): Likewise.
443         * rtlanal.c (modified_between_p): Likewise.
444         (modified_in_p, volatile_insn_p, volatile_refs_p): Likewise.
445         (side_effects_p, replace_regs, jmp_uses_reg_or_mem): Likewise.
446         * unroll.c (remap_split_bivs): Likewise.
447
448 1999-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
449
450         * diagnostic.c (v_message_with_decl): Use .* format specifier
451         instead of building the format specifier width manually.
452
453         * system.h (strsignal): Don't check HAVE_STRSIGNAL when
454         determining whether to provide a prototype.  Remove the
455         sys_siglist clause in the conditional.
456
457 1999-12-23  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
458
459         * fold-const.c (operand_equal_p): Use memcmp to compare string
460         constants.
461         Suggested by D. J. Bernstein
462
463 1999-12-17  Jakub Jelinek  <jakub@redhat.com>
464
465         * config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure
466         UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
467         compiling libgcc2.
468         * config/mips/mips.h (TARGET_64BIT): Likewise.
469         * config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise.
470         * libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead
471         of {SI,DI}type and DIunion.  Define these types to QI/HI modes on
472         dsps.  Give routines proper names if SI/DI modes are not used.
473         * longlong.h: Use DWunion instead of DIunion.
474
475 1999-12-26  Zack Weinberg  <zack@wolery.cumb.org>
476
477         * acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING,
478         GC_CHECKING, GC_ALWAYS_COLLECT.
479         * configure.in: Allow --enable-checking with an argument
480         listing check modes to enable.
481         * config.in, configure: Rebuilt.
482         * ggc-page.c, ggc-simple.c: Define GGC_POISON (and
483         GGC_ALWAYS_VERIFY for ggc-simple.c) only if
484         ENABLE_GC_CHECKING.  Define GGC_ALWAYS_COLLECT only if
485         ENABLE_GC_ALWAYS_COLLECT.
486         * rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING
487         throughout.
488         * tree.h, tree.c: Change ENABLE_CHECKING to
489         ENABLE_TREE_CHECKING throughout.
490
491 Sun Dec 26 07:48:20 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
492
493         * fold-const.c (fold_truthop): Properly check for FP RHS.
494
495 1999-12-24  Mark Mitchell  <mark@codesourcery.com>
496
497         * toplev.h (note_deferall_of_defined_inline_function): Declare.
498         * toplev.c (note_deferral_of_defined_inline_function): New
499         function, split out from ...
500         (rest_of_compilation): ... here.  Use it.
501         
502 Fri Dec 24 12:34:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
503
504         * expr.c (store_constructor): Don't call clear_storage if size is
505         variable.
506
507 1999-12-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
508
509         * Makefile.in (toplev.o): Depend on loop.h.
510
511         * dwarfout.c: Include tm_p.h.
512
513         * emit-rtl.c (restore_emit_status): Mark parameter with
514         ATTRIBUTE_UNUSED.
515
516         * final.c (final_scan_insn): Likewise.
517
518         * flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump,
519         flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find,
520         flow_depth_first_order_compute, flow_loop_pre_header_find,
521         flow_loop_tree_node_add, flow_loops_tree_build,
522         flow_loop_level_compute, flow_loops_level_compute,
523         flow_loop_outside_edge_p): Add prototypes.
524         (recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED.
525
526         * ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack):
527         Mark with ATTRIBUTE_NORETURN.
528
529         * hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED.
530
531         * local-alloc.c (no_conflict_p): Likewise.
532
533         * loop.c (insert_bct): Hide definitions of variables with hidden
534         usage.
535         (note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED.
536
537         * regclass.c (memory_move_secondary_cost): Mark variable `mem'
538         with ATTRIBUTE_UNUSED.
539         (record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED.
540         (reg_scan): Likewise.
541         
542         * reload.c (find_reloads): Remove unused variables `changed'.
543
544         * reload1.c (reload_reg_class_lower): Don't unnecessarily cast
545         away const-ness.
546         (allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED.
547         Remove unused variable `insn'.
548         
549         * toplev.c: Include loop.h.
550         (report_file_and_line): Remove unnecessary prototype.
551
552         * tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED.
553
554         * unroll.c (biv_total_increment): Likewise.
555         
556 Thu Dec 23 23:15:22 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
557
558         * reload1.c (emit_input_reload_insns): Restore old behaviour
559         wrt. 'special' reloads.
560
561 1999-12-23  Zack Weinberg  <zack@wolery.cumb.org>
562
563         * Makefile.in (ggc-simple.c, ggc-page.c): Don't depend on
564         hash.h.  (cse.c): Don't depend on hashtab.h.
565
566         * cse.c: Don't include hashtab.h.
567         (hash_cse_reg_info, cse_reg_info_equal_p): Delete prototypes
568         of dead functions.
569         * ggc-simple.c: Don't include hash.h.
570
571 1999-12-22  Jason Merrill  <jason@casey.cygnus.com>
572
573         * dwarf2out.c (add_abstract_origin_attribute): Call
574         gen_abstract_function on our function context.
575
576 Thu Dec 23 03:57:10 1999  Hans-Peter Nilsson  <hp@bitrange.com>
577
578         * Makefile.in (INTEGRATE_H): Fix typo: INTEGRATE_H, not INTREGRATE_H.
579
580 1999-12-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
581
582         * config/c4x/c4x.c (c4x_address_cost): Add statement to default 
583         case in switch.
584
585 1999-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
586
587         * config/c4x/c4x.md (*addqi3_noclobber_reload): Change operand 0
588         constraints to "a!r".
589
590 1999-12-21  Mark Mitchell  <mark@codesourcery.com>
591
592         * Makefile.in (calls.o): Depend on function.h.
593         (alias.o): Likewise.
594
595 1999-12-21  Bernd Schmidt  <bernds@cygnus.co.uk>
596
597         * reload1.c (emit_reload_insns): Break out code and variables into...
598         (input_reload_insns, other_input_address_reload_insns,
599         other_input_reload_insns, input_address_reload_insns,
600         inpaddr_address_reload_insns, output_reload_insns,
601         output_address_reload_insns, outaddr_address_reload_insns,
602         operand_reload_insns, other_operand_reload_insns,
603         other_output_reload_insns): ... new static variables, and...
604         (emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
605         do_output_reload): ... new functions.
606
607 Tue Dec 21 07:06:36 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
608
609         * pa.h (FUNCTION_ARG_BOUNDARY): Never return 0.
610
611 1999-12-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
612
613         * md.texi: Add c4x constraints documentation.
614
615 1999-12-21  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
616
617         * config/i386/dgux.c (struct option): Rename to
618         lang_independent_option.
619         (struct m_options): Add description field.
620         (output_options): Rename option type, add sep declaration, output
621         ix86_cpu_string and ix86_arch_string only if set.
622         (output_file_start): Rename option type.
623
624 Mon Dec 20 23:15:36 1999  Mike Stump  <mrs@wrs.com>
625
626         * Makefile.in (crtbegin.o, crtend.o, s-crtS): Depend on
627         stmp-int-hdrs.
628         (libgcc2.a): Similarly.
629
630 Mon Dec 20 23:06:47 1999  David Edelsohn  <edelsohn@gnu.org>
631
632         * longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss
633         with W_TYPE_SIZE == 32.  Do not fall through to POWER architecture
634         for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER.
635
636 Mon Dec 20 23:02:03 1999  Jeffrey A Law  (law@cygnus.com)
637
638         * fold-const.c (real_hex_to_f): Remove unused "isldouble" variable.
639         Remove redundant initialization of "frexpon" and "expon".
640
641 Mon Dec 20 15:00:04 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
642
643         * tree.c (real_value_from_int_cst): Clear REAL_VALUE_TYPE object first.
644
645         * expr.c (store_constructor): New argument SIZE; pass to clear_storage.
646         (store_constructor_field, expand_expr): Pass new arg.
647
648 1999-12-20  Mark Mitchell  <mark@codesourcery.com>
649
650         * Makefile.in (explow.o): Depend on function.h.
651         
652         * stor-layout.c (set_sizetype): Fix typo.
653         
654 1999-12-20  Bernd Schmidt  <bernds@cygnus.co.uk>
655
656         * function.c (cfun): Renamed from current_function.  All users
657         changed.
658         * function.h (cfun): Rename declaration as well.
659
660         * reload.h (struct insn_chain): Change live_throughout and dead_or_set
661         to be of type regset_head, not regset.  All users changed by adding
662         address operator.
663         * reload1.c (new_insn_chain): Don't allocate regsets, just clear them.
664
665 1999-12-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
666
667         * config/c4x/rtems.h: New file.
668
669 1999-12-19  Bernd Schmidt  <bernds@cygnus.co.uk>
670
671         * reload1.c (spill_failure): Take class of failed reload as argument
672         and print it.  Caller changed.
673                 
674 Sun Dec 19 07:50:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
675
676         * rs6000.h (SUBTARGET_DEFAULT): New macro.
677         (TARGET_SWITCHES): Allow subtargets to default switches.
678         * rs6000/vxppc.h (SUBTARGET_DEFAULT): New macro.
679
680 1999-12-18  Mark Mitchell  <mark@codesourcery.com>
681
682         * crtstuff.c (__do_global_ctors_aux): Do not call __cxa_finalize
683         in a main program.
684
685 Sat Dec 18 20:42:43 1999  Richard Henderson  <rth@cygnus.com>
686
687         * cccp.c (main): Define __STDC_VERSION__ as necessary.
688         * cppinit.c (cpp_handle_option): Likewise.
689
690         * ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to
691         determine when to define.
692
693 Sat Dec 18 20:34:00 1999  Richard Henderson  <rth@cygnus.com>
694
695         * alpha.c (alpha_emit_conditional_move): If TARGET_FIX, handle
696         cmove with mismatched test and data modes.
697
698 Sat Dec 18 20:30:15 1999  Richard Henderson  <rth@cygnus.com>
699
700         * c-typeck.c (c_expand_start_case): Don't warn for long switch
701         in system headers.
702
703 Sat Dec 18 16:28:43 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
704
705         * alias.c: Minor reformatting.
706         * flow.c: Likewise.
707         * regs.h: Likewise.
708         * stor-layout.c: Likewise.
709         * fold-const.c: Likewise.
710         (OVERFLOW_SUM_SIGN): Renamed from overflow_sum_sign.
711         (struct cb_args, const_binop_1, const_binop): Pass type of arg,
712         not arg itself.
713         (size_int_wide): Cache nodes even if garbage collecting.
714         (twoval_comparison_p): Reenable SAVE_EXPR case if operand
715         of SAVE_EXPR has no side effects.
716         * cse.c: Move a comment.
717         * tree.c: Minor reformatting.
718         (int_size_in_bytes): Return -1 if constant overflows.
719
720 Sat Dec 18 18:30:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
721
722         * unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
723
724 1999-12-18 10:42 -0800  Zack Weinberg  <zack@wolery.cumb.org>
725
726         * objc/objc-parse.c: Regenerate.  This file must be rebuilt
727         after any change to c-parse.in, even if objc-parse.y didn't
728         change.  Oops.
729
730 1999-12-18  David S. Miller  <davem@redhat.com>
731
732         * toplev.c (rest_of_compilation): Restore BLOCK tree
733         reconstruction and branch shortening changes lost in
734         December 18th change.
735
736 Sat Dec 18 05:29:29 1999  Scott Bambrough  <scottb@netwinder.org>
737
738         * config/arm/linux-elf.h: Change all instances of 
739         ARM_FLAG_SHORT_BYTES to ARM_FLAG_MMU_TRAPS.
740         * config/arm/uclinux-elf.h: Likewise.
741
742 1999-12-18 Gabriel Dos Reis  <gdr@codesourcery.com>
743
744         * toplev.c (notice, vmessage, v_message_with_file_and_line,
745         v_message_with_decl, file_and_line_for_asm,
746         v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
747         verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
748         v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
749         v_pedwarn_with_file_and_line, vsorry, vnotice, count_error,
750         pfatal_with_name, fatal_io_error, need_error_newline,
751         last_error_function, last_error_tick, announce_function,
752         default_print_error_function, print_error_function,
753         report_error_function, fnotice, error_with_file_and_line,
754         error_with_decl, error_for_asm, error, set_fatal_function, fatal,
755         _fatal_insn, _fatal_insn_not_found, warning_with_file_and_line,
756         warning_with_decl, warning_for_asm, warning, pedwarn,
757         pedwarn_with_decl, pedwarn_with_file_and_line, sorry): Move to
758         diagnostic.c
759         (compile_file): Use fnotice instead of notice.  Adjust call.
760
761         * diagnostic.c: New file.
762
763         * Makefile.in (OBJS): Include diagnostic.o
764         (diagnostic.o): Define dependence.
765
766 1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
767
768         * config/c4x/c4x.h (ASM_OUTPUT_XXX): Wrap in do-while(0).
769         Tweak formatting.
770
771 1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
772         
773         * config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
774
775 1999-12-17 13:21 -0800  Zack Weinberg  <zack@rabi.columbia.edu>
776
777         * fixtests.c (is_cxx_header): New fn, split out of
778         double_slash_test.
779         (else_endif_label): Allow "#endif // comment" in C++ headers,
780         as determined by is_cxx_header.
781         * fixfixes.c (else_endif_label_fix): Update comment.
782         * fixincl.c: Don't output VERB_PROGRESS lines if stdout is not
783         a tty.
784         * genfixes: Correct double thinko in commandline parsing.
785         * hackshell.tpl: Generate correct sh syntax for bypass
786         entries.
787
788         * inclhack.def (all): Whenever an inserted preprocessor
789         conditional is split over multiple lines, use double
790         backslashes in this file so the fixed header will be readable.
791
792         (AAB_fd_zero_glibc_1_0): Rename to AAB_fd_zero_asm_posix_types_h
793         and add bypass entry for correct version of this header.
794         (AAB_fd_zero_glibc_1_x): Rename to AAB_fd_zero_gnu_types_h.
795         (AAB_fd_zero_glibc_2_0): Rename to AAB_fd_zero_selectbits_h.
796
797         (hpux8_bogus_inlines): New fix, split from...
798         (ultrix_atof_param) ... here.
799         (math_expression): Add bypass entry keyed to glibc comment
800         indicating the problem has been dealt with; disable
801         unnecessary sed operations; update commentary.
802         (math_gcc_ifndefs): Rename to math_huge_val_from_dbl_max,
803         add select and bypass entries, simplify shell operation.
804         (math_huge_val_ifndef): Split from math_gcc_ifndefs.
805
806         (ip_missing_semi, rs6000_param, tinfo_cplusplus,
807          ultrix_atof_param): Add select entry.
808         (stdio_va_list, sunos_mather_decl): Add bypass entry.
809         (systypes_for_aix, sysv86_string, tinfo_cplusplus): Put the
810         comments with the fixes they describe.
811
812         * c-parse.in (string action): Do not warn about ANSI string
813         concatenation in system headers.  Affects C parser only.
814         * c-parse.y, c-parse.c, c-parse.h: Rebuild.
815
816 1999-12-16  Jakub Jelinek  <jakub@redhat.com>
817
818         * config/sparc/sparc.h (TARGET_ARCH32): Exchange ifdefs so that if
819         compiling libgcc2 the macro depends always on arch cpp defines.
820
821 Fri Dec 17 10:34:16 1999  Richard Earnshaw <rearnsha@arm.com>
822
823         * loop.c (insert_loop_mem): Don't record MEMs from inside 
824         EXPR_LISTs.
825
826 Fri Dec 17 12:08:11 MET 1999  Jan Hubicka  <hubicka@freesoftr.cz>
827
828         * regclass.c (regclass): Do not use flowgraph when not optimizing.
829
830         * gcse.c (try_replace_reg): Do replacements in REG_EQUAL/REG_EQUIV
831         notes too, create one when replacement failed, attempt to simplify
832         resulting notes.
833         (cprop_insn): Propagate even to registers mentioned only in REG_EQUAL
834         or REG_EQUIV notes.
835
836 1999-12-16  Mark Mitchell  <mark@codesourcery.com>
837
838         * crtstuff.c (__dso_handle): Declare.
839         (__cxa_finalize): Likewise.
840         (do_global_dtors_aux): Call __cxa_finalize if __dso_handle is
841         non-NULL.
842
843         * invoke.texi: Document -fuse-cxa-atexit.
844         
845         * tree.h (ptr_type_node): Document.
846         (const_ptr_type_node): Likewise.
847
848 Fri Dec 17 01:32:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
849
850         * regmove.c (optimize_reg_copy_1): Ignore LOOP notes.
851         (optimize_reg_copy_2): Likewise.
852         (optimize_reg_copy_3): Likewise.
853         (fixup_match_2): Likewise.
854         (regmove_optimize): Likewise.
855         (fixup_match_1): Liekwise.
856
857         * i386.md (HI to SImode promoting splitters): Rewrite.
858         (pushsf mem peep2): New.
859         (testhi to andhi peep2): Remove.
860         * i386.h (x86_promote_QImode): New.
861         (TARGET_PROMOTE_QImode): New.
862         (PREDICATE_CODES): Add promotable_binary_operator.
863         * i386.c (x86_promote_QImode0: New.
864         (promotable_binary_operator): New.
865         * i386-protos.h (promotable_binary_operator): New.
866
867         * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
868         condition.
869         (one_cmpl?i*): Pass "NOT" to unary_operator_ok.
870
871 1999-12-16  Mark Mitchell  <mark@codesourcery.com>
872
873         * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H.
874         * function.c (insert_block_after_note): Remove.
875         (retrofit_block): Likewise.
876         (identify_blocks): Fix indentation.
877         (reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a
878         NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END.
879         * function.h (insert_block_after_note): Remove prototype.
880         (retrofit_block): Likewise.
881         * integrate.c (expand_inline_function): Don't call
882         find_loop_tree_blocks.  Use expand_start_bindings_and_block, not
883         just expand_start_bindings.  Use the block_map to remap old
884         NOTE_BLOCKs to new ones.
885         (integrate_decl_tree): Keep track of remapped blocks.
886         * integrate.h (struct inline_remap): Add block_map.
887         * stmt.c (expand_fixup): Don't try to retrofit_blocks.  Just set
888         NOTE_BLOCK on the notes.
889         (expand_start_bindings): Rename to ...
890         (expand_start_bindings_and_block): Add parameter.  Set NOTE_BLOCK.
891         (expand_end_bindings): Set NOTE_BLOCK.
892         * toplev.c (rest_of_compilation): In function-at-a-time-mode,
893         reconstruct the BLOCK tree.
894         * tree.h (expand_start_bindings): Macroize.  Call ...
895         (expand_start_bindings_and_block): New function.
896         
897 1999-12-16  Jakub Jelinek  <jakub@redhat.com>
898
899         * config/sparc/sparc.c (print_operand): Cast fprintf arguments
900         to match the format.
901
902 1999-12-16  David S. Miller  <davem@redhat.com>
903
904         * expr.c (emit_move_insn_1): Only emit clobbers if one of
905         the outputs is a SUBREG.
906         * rtlanal.c (reg_overlap_mentioned_p): Revert December 15th
907         change.
908
909         * config/sparc/sparc.c (epilogue_renumber): Add default case
910         to switch stmt.
911
912 Thu Dec 16 11:33:57 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
913
914         * toplev.c (rest_of_compilation): Run branch shortening after
915         reg-stack.
916
917         * regclass.c (loop_depth): Remove
918         (scan_one_insn): Do not handle LOOP_NOTE insns.
919         (regclass): Go through basic blocks and set loop_cost
920
921 Thu Dec 16 02:56:25 1999  Zack Weinberg  <zack@bitmover.com>
922
923         * tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too.
924
925 Thu Dec 16 10:43:35 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
926
927         * i386.md (movqi): Use "nonimmediate_operand" for output operand.
928         (movstrictqi, movdi, movsf, movdf, movxf): Likewise.
929         (adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise.
930
931 Thu Dec 16 02:41:26 1999  Richard Henderson (rth@cygnus.com)
932
933         * loop.c (insert_loop_mem): Ignore memory clobbers.
934
935         * combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0)
936         to (OP A B).
937
938 Thu Dec 16 02:26:11 1999  Jeffrey A Law  (law@cygnus.com)
939
940         * profile.c: Remove redundant #include "output.h".
941
942         * h8300.md (HImode preinc peephole): Fix typo.
943
944 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
945
946         * function.c (retrofit_block): Abort if we don't find a suitable insn.
947         (insert_block_after_note): Abort if we don't have a previous block.
948         Remove FN parameter.
949         * function.h: Adjust.
950
951 1999-12-15  Mark Mitchell  <mark@codesourcery.com>
952
953         * builtins.c (expand_builtin_mathfn): Make sure not to expand the
954         argument more than once.
955
956 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
957
958         * stmt.c (expand_decl): Expand upper bound of a dynamic array.
959
960 1999-12-15  Jakub Jelinek  <jakub@redhat.com>
961
962         * expr.c (emit_group_load): Use dst mode if src is VOIDmode.
963
964 Wed Dec 15 16:11:55 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
965
966         * function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
967         (assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY,
968         update stack_alignment_needed.
969         (prepare_function_start): Initialize stack_alignment_needed
970         * function.h (struct function): Add field stack_alignment_needed.
971
972 Wed Dec 15 14:55:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
973
974         * caller-save.c (insert_one_insn): Returns struct insn_chain *.
975         Handle live_throughout / dead_or_set instead of live_before /
976         live_after.
977         (save_call_clobbered_regs): Get register livenessinformation from
978         chain->live_throughout.
979         (add_stored_regs): New function.
980         (insert_restore, insert_save): Add restored / saved registers to
981         dead_or_set.
982         * global.c (reg_dies): New parameter chain.
983         (reg_becomes_live): Third parameter is regs_set now.
984         Changed all callers.
985         (reg_dies): New parameter chain.  Changed all callers.
986         (build_insn_chain): Set live_throughout instead of
987         live_before / live_after.
988         * reload.h (struct insn_chain): Replace members live_before /
989         live_after with live_throughout / dead_or_set.
990         * reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
991         instead of live_before / live_after.
992         (maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
993         (order_regs_for_reload, find_reg, finish_spills): Likewise.
994         (choose_reload_regs_init): Likewise.
995         * stupid.c (current_chain, find_clobbered_regs): Delete.
996         (stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
997         instead of chain->live_before / chain->live_after.
998         (mark_hard_ref): New function.
999         (stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.
1000
1001 1999-12-15  David S. Miller  <davem@redhat.com>
1002
1003         * rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
1004
1005 Wed Dec 15 15:05:30 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
1006
1007         * flow.c (calculate_loop_depth): Make global, remove prototype,
1008         rewrite to use new loop infrastructure.
1009         (find_basic_block): Remove calculate_loop_depth call.
1010         * toplev.c (rest_of_compilation): Call find_basic_block.
1011         * output.h (calculate_loop_depth): Declare.
1012
1013         * flow.c (dump_flow_info): Dump loop_depth.
1014         (flow_loops_nodes_find): Increase loop_depth for basic block in the
1015         body.
1016         (flow_loops_find): Initialize the loop_depth for each basic block.
1017
1018 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
1019
1020         * tree.c (decl_function_context): Handle virtual functions.
1021
1022         * tlink.c (scan_linker_output): Don't look in demangled name when
1023         looking for linker output keywords.
1024
1025         * dwarfout.c (output_type): We can defer namespace-scope classes.
1026
1027 Wed Dec 15 01:23:29 1999  Jeffrey A Law  (law@cygnus.com)
1028
1029         * regclass.c (record_reg_classes): Update comment for merging
1030         register class preferences in reg->reg copies.  Tighten conditions
1031         for merging register class preferences in reg->reg copies.
1032
1033 Wed Dec 15 02:19:32 1999  David Edelsohn  <edelsohn@gnu.org>
1034
1035         * rs6000.md (tablejumpdi): Generate DImode LABEL_REF.
1036
1037 1999-12-14  Geoff Keating  <geoffk@cygnus.com>
1038
1039         * config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete.
1040         (INIT_SECTION_ASM_OP): Delete.
1041         (FINI_SECTION_ASM_OP): Delete.
1042         (STARTFILE_SPEC): Define to hold just crtbegin.o.
1043
1044 1999-12-14  Jason Merrill  <jason@casey.cygnus.com>
1045
1046         * dwarf2out.c (add_abstract_origin_attribute): Do call abort if
1047         the abstract origin wasn't emitted.
1048
1049         * dwarf2out.c (class_scope_p): New fn.
1050         (gen_subprogram_die): Use it.
1051         (gen_variable_die): Use it.  Tweak logic.
1052         (gen_struct_or_union_type_die): Check context_die to determine
1053         if we're function-local.
1054         (dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE.
1055
1056 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
1057
1058         * loop.c (check_dbra_loop): Can't reverse a biv that has
1059         maybe_multiple set.
1060
1061 1999-12-14  Nick Clifton  <nickc@cygnus.com>
1062
1063         * config/arm/arm.c: Add support for -mcpu=arm720 command line
1064         switch. 
1065
1066 Tue Dec 14 18:13:32 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1067
1068         * loop.c (strength_reduce): Fix sign of giv lifetime calculation
1069         for givs made from biv increments.
1070
1071 Tue Dec 14 08:11:27 1999  Richard Henderson  <rth@cygnus.com>
1072
1073         * configure.in (alpha-osf, alpha-linux): Handle ev6[78].
1074         * alpha.c (override_options): Recognize -mcpu=ev67.
1075         * alpha.h (CPP_CPU_EV67_SPEC): New.
1076         (CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it.
1077         (EXTRA_SPECS): Update.
1078
1079 Tue Dec 14 08:04:28 1999  Richard Henderson  <rth@cygnus.com>
1080
1081         * cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
1082         appropriate for -lang-c89 and -std=*.
1083         * cppinit.c (cpp_handle_option): Likewise.
1084         (new_pending_define): New, split out from cpp_handle_option.
1085         * gcc.c (default_compilers): Don't define __STRICT_ANSI__
1086         or enable trigraphs for -ansi/-std=*.
1087
1088         * ginclude/stdarg.h (__va_copy): New.
1089         (va_copy): Don't define for C89.
1090
1091 Tue Dec 14 08:37:27 CST 1999 Clinton Popetz  <cpopetz@cygnus.com>
1092
1093         * config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns
1094         for long long multiply-accumulate.
1095
1096 Tue Dec 14 13:51:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
1097
1098         * regclass.c (scan_one_insn): Set loop_cost to 1 when
1099         optimizing for size.
1100
1101 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
1102
1103         * reload1.c (reload): Can't avoid select_reload_regs/finish_spills
1104         if something changed.  Back out that part of yesterday's changes.
1105
1106         * loop.c (loop_max_reg): New static variable.
1107         (loop_optimize): Initialize it.  Eliminate one unnecessary call to
1108         max_reg_num.
1109         (scan_loop): Call reg_scan_update whenever we may have added new
1110         registers, and update loop_max_reg.
1111
1112 Tue Dec 14 12:07:29 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
1113
1114         * regclass.c  (record_reg_classes): Do not do the copying preferrencing
1115         when source does not die.
1116
1117         * regclass.c (record_reg_classes): Handle INOUT operands propertly.
1118
1119 1999-12-14  Jakub Jelinek  <jakub@redhat.com>
1120
1121         * config/sparc/linux64.h (TARGET_LIVE_G0,
1122         TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC
1123         variants on Linux.
1124         * config/sparc/linux.h (TARGET_LIVE_G0,
1125         TARGET_BROKEN_SAVERESTORE): Likewise.
1126         * config/sparc/linux-aout.h (TARGET_LIVE_G0,
1127         TARGET_BROKEN_SAVERESTORE): Likewise.
1128
1129         * config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
1130         (CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64,
1131         not %g2.
1132         (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2
1133         as sparc64 block profiling register.
1134         * config/sparc/sparc.c (sparc_override_options): Allow block
1135         profiling with -m32.
1136         (sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block
1137         profiling register.
1138         * config/sparc/linux64.h (MACHINE_STATE_*): Only provide these
1139         macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64.
1140         * config/sparc/sol2.h (MACHINE_STATE_*): Likewise.
1141
1142         * config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing
1143         for sparc64.
1144         * config/sparc/sparc.h: Likewise.
1145         * config/sparc/xm-sysv4-64.h: Likewise.
1146         * config/float-sparc.h: Likewise.
1147         * glimits.h: Likewise.
1148         * longlong.h: Likewise.
1149
1150         * config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
1151         (ASM_IDENTIFY_GCC): Remove.
1152
1153 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
1154
1155         * combine.c (combine_simplify_rtx): Don't make shared rtl.
1156         (simplify_logical): Likewise.
1157
1158 1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
1159
1160         * cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin.
1161         * cppfiles.c (INO_T_EQ): Likewise.
1162
1163 1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
1164
1165         * i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support.
1166         * i386/mingw32.h (LIB_SPEC): Likewise.
1167         (STARTFILE_SPEC): Likewise.
1168         * i386/uwin.h (LIB_SPEC): Likewise.
1169         (STARTFILE_SPEC): Likewise.
1170
1171         * i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition.
1172         * i386/uwin.h (SUBTARGET_PROLOGUE): Likewise.
1173
1174 Mon Dec 13 20:25:29 1999  Jeffrey A Law  (law@cygnus.com)
1175
1176         * combine.c (combine_simplify_rtx): Fix order of checks for
1177         (ashiftrt foo C) -> (lt foo (const_int 0)) simplification.
1178         
1179 1999-12-13  Clinton Popetz  <cpopetz@cygnus.com>
1180
1181         * config/arm/arm.md  (*mulsidi3adddi, *umulsidi3adddi) Backed out 
1182         12/10/99 change, reapplied to merged-arm-thumb-backend-branch.
1183
1184 1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
1185
1186         * hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is
1187         defined.
1188         * regclass.c (inv_reg_alloc_order): New array.
1189         (regclass_init): If REG_ALLOC_ORDER is defined, initialize it.
1190
1191         * reload.h (struct insn_chain): Delete fields group_size, group_mode,
1192         counted_for_groups, counted_for_nongroups.  Add fields rld and
1193         n_reloads.
1194         * reload.c (push_secondary_reload): Don't set nongroup field of
1195         new reloads.
1196         (push_reload): Likewise.
1197         (find_reloads): Delete code to compute nongroup fields.
1198         * reload1.c (reload_insn_firstobj): New static variable.
1199         (pseudos_counted, spilled_pseudos): Now of type regset_head.  All
1200         users changed.
1201         (calculate_needs, find_tworeg_group, find_group, possible_group_p,
1202         count_possible_groups, modes_equiv_for_class_p, new_spill_reg,
1203         dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete
1204         functions.
1205         (count_pseudo, select_reload_regs, copy_reloads, find_reg): New
1206         functions.
1207         (struct hard_reg_n_uses): Deleted.
1208         (potential_reload_regs): Deleted.
1209         (init_reload): Initialize spilled_pseudos and pseudos_counted.
1210         (reload): Don't try to allocate reload registers if we already know
1211         we have to make another pass.  Call select_reload_regs.  Free memory
1212         starting with reload_firstobj when starting another pass.
1213         Don't allocate spilled_pseudos.
1214         (calculate_needs_all_insns): Call copy_reloads for an insn that
1215         needs reloads; don't call calculate_needs.
1216         (spill_cost): New static array.
1217         (used_spill_regs_local): New static variable.
1218         (order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code
1219         to compute potential_reload_regs.
1220         (find_reload_regs): Completely rewritten to use find_reg.
1221         (allocate_reload_reg): Don't test counted_for_groups or
1222         counted_for_nongroups.  Lose NOERROR arg and code to give an error;
1223         all cllers changed.
1224         (choose_reload_regs): Add fallback code that uses the existing
1225         register allocation from find_reload_regs.
1226
1227 Mon Dec 13 00:54:14 1999  Philippe De Muyter  <phdm@macqel.be>
1228
1229         * flow.c (create_edge_list): Cast xmalloc return value.
1230
1231 Mon Dec 13 00:47:58 1999  Jeffrey A Law  (law@cygnus.com)
1232
1233         * doprnt.c: Remove incorrect comment closure.
1234
1235         * cse.c: Fix a few minor whitespace goofs.
1236
1237 1999-12-13  Don Bowman  <don@pixstream.com>
1238
1239         * mips/vxworks.h: Fix problem with comment termination.
1240         (EXTRA_SECTIONS): Add in_sbss.
1241         (EXTRA_SECTION_FUNCTIONS): Corresponding changes.
1242
1243 1999-12-12  David S. Miller  <davem@redhat.com>
1244
1245         * cse.c (struct cse_reg_info): Add hash_next member,
1246         reorder rest of struct for better packing on 64-bit
1247         hosts.
1248         (cse_reg_info_tree): Kill.
1249         (REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash,
1250         REGHASH_FN): New custom pow2 hash mechanism.
1251         (NBUCKETS): Kill.
1252         (HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to
1253         use a pow2 hash table.
1254         (get_cse_reg_info): Rework to use new REGHASH.
1255         (new_basic_block): Likewise, use HASH_SIZE, and inline
1256         free_element call.
1257         (remove_from_table): Rework to use HASH_SIZE/HASH_MASK,
1258         and inline free_element call.
1259         (lookup_as_function, insert, flush_hash_table, invalidate,
1260         remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
1261         invalidate_for_call, use_related_value, find_comparison_args,
1262         fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise.
1263         (hash_cse_reg_info, cse_reg_info_equal_p, free_element,
1264         get_element): Kill.
1265         
1266 Sun Dec 12 21:31:44 1999  Jeffrey A Law  (law@cygnus.com)
1267
1268         * cse.c (cse_basic_block): Free qty_table consistently.
1269
1270 1999-12-12  David S. Miller  <davem@redhat.com>
1271             Jakub Jelinek    <jakub@redhat.com>
1272
1273         * config/sparc/sparc.md (movtf reg/reg split): Don't generate
1274         SUBREGs by hand, gen the appropriate hard reg directly.
1275         (movtf reg/mem split): Likewise and alter_subreg on destination
1276         if necessary.
1277         (movtf mem/reg split): Similarly.
1278         (movdf_cc_sp64): Rename from hidden pattern.
1279         (movtf_cc_hq_sp64): Renamed from movtf_cc_sp64.
1280         (movtf_cc_sp64, following split): New pattern and splitter.
1281         (movdf_cc_reg_sp64): Rename from hidden pattern.
1282         (movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require
1283         TARGET_HARD_QUAD.
1284         (movtf_cc_reg_sp64, following split): New pattern and splitter.
1285
1286 1999-12-12  Stephen L Moshier <moshier@mediaone.net>
1287
1288         * loop.c (load_mems): Don't hoist written floating point mem
1289         if -ffloat-store.
1290         
1291 1999-12-12  Mark Mitchell  <mark@codesourcery.com>
1292
1293         * except.h (struct eh_queue): Add `next' pointer.
1294         (struct eh_status): Make x_ehqueue a pointer.
1295         (push_ehqueue):  Declare.
1296         (pop_ehqueue): Likewise.
1297         * except.c (expand_eh_region_end): Adjust now that ehqueue is a
1298         pointer.
1299         (expand_fixup_region_end): Likewise.
1300         (expand_leftover_cleanups): Likewise.
1301         (push_ehqueue): Define.
1302         (pop_ehqueue): Likewise.
1303         (emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
1304         than doing it inline.
1305         (expand_start_all_catch):  Adjust now that ehqueue is a
1306         pointer.
1307         (mark_eh_queue): Mark all level of the queue.
1308         (mark_eh_status):  Adjust now that ehqueue is a
1309         pointer.
1310         (init_eh_for_function): Allocate ehqueue.
1311         (free_eh_status): Free it.
1312         * stmt.c (expand_cleanups): Save the ehqueue around the cleanup
1313         expansion for a fixup.
1314
1315 1999-12-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1316
1317         * gthr-single.h (__gthread_active_p): Add prototype arguments.
1318
1319         * libgcc2.c (__udivmoddi4): Remove unnecessary decls.
1320         (__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg,
1321         __bb_trace_func, __bb_trace_func_ret, __bb_trace_ret,
1322         function_ptr, getpagesize, __enable_execute_stack,
1323         __enable_execute_stack, __clear_insn_cache,
1324         __enable_execute_stack, __do_global_dtors, __do_global_ctors,
1325         _cleanup, _exit, __default_terminate, __terminate_func,
1326         __terminate, __empty, __throw, new_eh_context,
1327         eh_context_initialize, eh_context_static, eh_context_specific,
1328         get_eh_context, __get_eh_context, __get_eh_info,
1329         init_reg_size_table, eh_threads_initialize,
1330         __get_dynamic_handler_chain, __sjthrow, __sjpopnthrow,
1331         __unwinding_cleanup, throw_helper, __throw, __rethrow,
1332         __pure_virtual): Add prototype arguments.       
1333         (__bb_exit_func): Cast a sizeof to long when comparing against one.
1334         Cast a signed value to unsigned long when comparing against one.
1335         (new_eh_context): Wrap in _GTHREADS macro.
1336         (__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at
1337         declaration.
1338         (in_reg_window): Mark parameters with __attribute__ ((__unused__)).
1339         (throw_helper): Initialize variables `handler_p' and `pc_p'.
1340         
1341 1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1342
1343         * combine.c (record_promoted_value): Remove unused variable
1344         `links2'.
1345
1346         * emit-rtl.c (renumber_insns): Likewise for `old_max_uid'.
1347
1348         * global.c (record_conflicts): Likewise for `j'.
1349
1350         * genoutput.c (output_insn_data): Don't unnecessarily cast away
1351         const-ness.
1352
1353 1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1354
1355         * i386-protos.h (output_387_binary_op, output_fix_trunc,
1356         output_fp_compare): Constify a char*.
1357
1358         * i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add
1359         static prototypes.
1360         (override_options, ix86_comp_type_attributes, print_operand,
1361         output_387_binary_op, output_fix_trunc, output_fp_compare):
1362         Constify a char*.
1363         (ix86_sched_reorder): Mark parameter `clock_var' with
1364         ATTRIBUTE_UNUSED.
1365
1366         * i386.h (DEBUG_PRINT_REG): Constify a char*.
1367
1368 Fri Dec 10 16:12:13 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1369
1370         * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third
1371         operand, for use in the Java front-end.
1372
1373 1999-12-10  Ben Collins  <bcollins@debian.org>
1374
1375         * configure.in: Fix typo for "-64" in 64bit as check.
1376         * configure: Rebuilt.
1377         
1378 1999-12-10  Jakub Jelinek  <jakub@redhat.com>
1379
1380         * longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where
1381         appropriate.
1382
1383 1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1384
1385         * c-parse.in (string): With -Wtraditional, warn if ANSI string
1386         concatenation is utilized.
1387
1388         * invoke.texi (-Wtraditional): Document it.
1389
1390 1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1391
1392         * flow.c (flow_loops_dump): Avoid ANSI string concatenation.
1393         Cast a ptrdiff_t to long and pass it to printf with %ld.
1394
1395 1999-12-10  Geoff Keating  <geoffk@cygnus.com>
1396
1397         * config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no
1398         68881, we have no 68881 registers at all.
1399         (HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT
1400         value in a 68881 register if it is available.
1401
1402 1999-12-10  Clinton Popetz  <cpopetz@cygnus.com>
1403
1404         * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns
1405         for long long multiply-accumulate.
1406
1407 1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
1408
1409         * loop.c (insert_loop_mem): Undo last change.
1410
1411 1999-12-10  David S. Miller  <davem@redhat.com>
1412
1413         * config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p):
1414         New functions.
1415         * config/sparc/sparc-protos.h: Add them.
1416         * config/sparc/sparc.h: Add them to PREDICATE_CODES.
1417         (EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S
1418         constraints which use those helpers.
1419         (EXTRA_CONSTRAINT): Use this new macro.
1420         * md.texi: Update sparc target constraints documentation.
1421         * config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg,
1422         movsf_const_high, movsf_const_lo, movsf_insn): Delete.
1423         (movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0,
1424         movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns.
1425         (movsf high/lo_sum split): Rework for new patterns.
1426         (movsf expander): Allow storing fp_zero to memory if ! live_g0.
1427
1428 1999-12-09  Gavin Romig-Koch  <gavin@cetus.cygnus.com>
1429
1430         * c-common.c (c_common_nodes_and_builtins): 
1431         Create __builtin_ptrdiff_t and __builtin_size_t.
1432
1433 Thu Dec  9 18:05:48 1999  Jeffrey A Law  (law@cygnus.com)
1434
1435         * pa/elf.h (MAX_OFILE_ALIGNMENT): Define.
1436
1437 Fri Dec 10 00:53:10 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1438
1439         * regclass.c (globalize_reg): Re-instate test that allows
1440         fixed registers to be declared as a variable even after functions
1441         are defined.
1442
1443 Fri Dec 10 00:52:13 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
1444
1445         * i386.md (cpu attribute): Add "athlon".
1446         (athlon_decode): New attribute.
1447         (Athlon scheduling units definitions): New.
1448         (fcmp and shld patterns): Set athlon_decode to "vector".
1449         * i386.c (athlon_cost): New.
1450         (m_ATHLON): New.
1451         (x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
1452         x86_use_sahf): Set for Athlon.
1453         (x86_use_fiop): Unset for Athlon.
1454         (override_options): Define Athlon alignments and "athlon" name.
1455         (x86_adjust_cost): Penalize AGI and delayed latencies for Athlon.
1456         * i386.h (TARGET_ATHLON): New.
1457         (enum processor_type): Add PROCESSOR_ATHLON.
1458         (TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__"
1459         for CPU_DEFAULT==5
1460         (TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon.
1461
1462 1999-12-09  Andreas Jaeger  <aj@suse.de>
1463
1464         * loop.c (record_biv): Declare parameter as int.
1465
1466         * config/i386/i386-protos.h: Declare long_memory_operand.
1467
1468 1999-12-09  Mark Mitchell  <mark@codesourcery.com>
1469
1470         * tree.c (copy_node): Do zero the TREE_CHAIN, even for an
1471         EXPR_WITH_FILE_LOCATION.
1472
1473 Thu Dec  9 11:36:24 MET 1999 Jan Hubicka  <hubicka@freesoft.cz>
1474
1475         * i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand
1476         in expander.
1477
1478         * flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
1479
1480         * combine.c (try_combine, distribute_notes): Remove REG_N_REFS
1481         updating code.
1482
1483 1999-12-09  Jakub Jelinek  <jakub@redhat.com>
1484
1485         * config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
1486         default on linux64 again.
1487         * config/sparc/t-linux64: Add mno-app-regs and non-medlow code
1488         models for multilibing.
1489         * genmultilib: Accept | as alternative separator within a set in
1490         MULTILIB_OPTIONS.
1491
1492         * config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
1493
1494         * calls.c (precompute_arguments): Make sure initial_value contains
1495         value pseudo which CSE expects.
1496         * cse.c (struct set): New entry orig_src.
1497         (cse_insn): Set it early on entry, use it for libcall EQUIV note
1498         replacement.
1499
1500 Wed Dec  8 22:24:15 1999  Richard Henderson  <rth@cygnus.com>
1501
1502         * flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
1503
1504 1999-12-08  Bernd Schmidt  <bernds@cygnus.co.uk>
1505
1506         * loop.c (insert_loop_mem): Don't hoist volatile mems out of loops.
1507
1508 1999-12-08  Jakub Jelinek  <jakub@redhat.com>
1509
1510         * config/sparc/sparc.c (ultra_cmove_results_ready_p,
1511         ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.
1512
1513         * config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
1514         if TARGET_ARCH32.
1515
1516         * longlong.h: Merge in changes from glibc.
1517         Also don't clobber %g2 register in 32bit SPARC assembly, so that
1518         -mno-app-regs libgcc can be compiled.
1519         * libgcc2.c: Add defines so that the updated longlong.h
1520         can be used in libgcc2.a. Also, make sure on most architectures
1521         (at least on all which have optimized code in longlong.h defined
1522         for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.
1523
1524 1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
1525
1526         * config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
1527         `-m EMULATION' is added to non-default LINK_ARCH_SPECs.
1528         * configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
1529         is GNU ld.
1530         * configure: Rebuilt.
1531
1532 Wed Dec  8 03:45:40 1999  Richard Henderson  <rth@cygnus.com>
1533
1534         * alpha.c (secondary_reload_class): For !BWX, sub-simode
1535         outputs require a register.
1536
1537 1999-12-08  Brendan Kehoe  <brendan@cygnus.com>
1538
1539         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
1540         _df_to_usi.  Required by some targets, so US_SOFTWARE_GOFAST calls to
1541         functions like dptoul will be resolved.
1542         (libgcc2.a): Make sure that the object files from DPBIT are named
1543         differently (prefix `_dp') from those that would be coming from
1544         FPBIT.
1545
1546 1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>,  Jakub Jelinek  <jakub@redhat.com>
1547
1548         * configure.in: When target is sparc* and tm_file contains 64,
1549         test for 64bit support in assembler.  If not supported, remove
1550         sparc/t-sol2-64 from target-dependent Makefile fragments.
1551         (AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
1552         (HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
1553         (HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
1554         * acconfig.h (AS_SPARC64_FLAG): Added.
1555         * configure, config.in: Rebuilt.
1556         * config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
1557         support.  Use AS_SPARC64_FLAG.
1558
1559 1999-12-07  Jakub Jelinek  <jakub@redhat.com>
1560
1561         * config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
1562         suitable for holding OFmode values so that gcc works with complex
1563         quad long doubles.
1564         (hard_64bit_mode_classes): Likewise.
1565
1566         * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
1567         so that it is actually matched.
1568         (sethi_di_medlow): Likewise.
1569
1570         * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
1571         as legitimate constant if -mvis.
1572         * config/sparc/sparc.md (movtf): Likewise.
1573         (clear_sf): Use const_double_operand.
1574         (clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.
1575
1576         * config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
1577         * config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
1578         * config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
1579         routines, _Qp_* cannot be handled like that now.
1580         (INIT_TARGET_OPTABS): Likewise.
1581         * config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
1582         (seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
1583         sparc_emit_float_lib_cmp if ARCH64 and soft float.
1584         (extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
1585         floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
1586         divtf3, sqrttf3): New expanders.
1587         (extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
1588         floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
1589         addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
1590         non-_hq patterns.
1591
1592         * configure.in (sparc64-*-linux*): Use posix threads if enabled.
1593         * configure: Rebuilt.
1594         * config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
1595         -mcpu is given and we're doing 64bit compiles.
1596
1597 Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
1598
1599         * loop.h (struct induction): Add multi_insn_incr.
1600         * loop.c (basic_induction_var): New multi_insn_incr argument.
1601         Set it if we search back through previous insns for the biv.
1602         (record_biv): New multi_insn_incr argument; fill in struct induction.
1603         (strength_reduce): Discard an iv with multiple bivs, any of
1604         which require multiple insns to increment.
1605
1606 1999-12-07  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
1607
1608         * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
1609         documentation.
1610         
1611 1999-12-06  David S. Miller  <davem@redhat.com>
1612
1613         * combine.c (check_promoted_subreg): Do not conditionalize this upon
1614         PROMOTE_FUNCTION_RETURN.
1615
1616 Mon Dec  6 15:12:14 1999  Jim Wilson  <wilson@cygnus.com>
1617
1618         * regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
1619         and handle REG_UNUSED note on insn.
1620
1621         * combine.c (force_to_mode, case LSHIFTRT): New local inner_mask.  Set
1622         inner_mask instead of mask.
1623
1624 1999-12-06  Brendan Kehoe  <brendan@cygnus.com>
1625
1626         * dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
1627         zero if there was an error.
1628
1629 1999-12-06  Jakub Jelinek  <jakub@redhat.com>
1630
1631         * config/sparc/sparc.md (return_losum_di): Fix typo in asm
1632         output string.
1633
1634         * longlong.h: Fix clobbers in SPARC asm statements.
1635
1636         * config/sparc/sparc.c (input_operand): Allow HImode and QImode
1637         valid sethi operations when TARGET_ARCH64.
1638
1639         * calls.c (save_fixed_argument_area): If save_mode is BLKmode,
1640         always use move_by_pieces to avoid infinite recursion.
1641         (restore_fixed_argument_area): Likewise.
1642
1643         * combine.c (check_promoted_subreg, record_promoted_value): New
1644         functions.
1645         (combine_instructions): Use them to retain nonzero and sign bit
1646         information after SUBREGs are eliminated by optimizations in
1647         this pass if PROMOTE_FUNCTION_RETURN.
1648
1649         * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
1650         .register declaration. Don't use variables with __ prefixes.
1651
1652 Mon Dec  6 12:24:52 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1653
1654         * fold-const.c (optimize_bit_field_compare): Only use one mode
1655         for both RHS and LHS in non-constant case.
1656
1657 1999-12-06  Nathan Sidwell  <nathan@acm.org>
1658
1659         * frame.c (start_fde_sort): Only allocate erratic array, if
1660         linear one was allocated. Return allocated flag.
1661         (fde_insert): Only insert, if there's a valid array.
1662         (fde_end_sort): Split, sort and merge if linear and erratic
1663         arrays exist, else just sort linear one.
1664         (search_fdes): New function. Linear search through original fde
1665         structure.
1666         (frame_init): Permit multiple initializations. Cope with
1667         memory shortages.
1668         (find_fde): Fallback on linear search, if failed to sort array.
1669         (__deregister_frame_info): Only free sorted array, if we
1670         allocated it.
1671
1672 1999-12-06  Jakub Jelinek  <jakub@redhat.com>
1673
1674         * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
1675
1676 1999-12-05  Jakub Jelinek  <jakub@redhat.com>
1677
1678         * config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
1679
1680 1999-12-05  Mark Mitchell  <mark@codesourcery.com>
1681
1682         * tree.h (special_function_p): Declare.
1683         * calls.c (special_function_p): Make it global.  Don't take `name'
1684         as a parameter.  Fix typo in 1999-11-28 change.
1685         (expand_cal): Adjust.
1686
1687 1999-12-04  Mark Mitchell  <mark@codesourcery.com>
1688
1689         * tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
1690         * tree.h (EXPR_WFL_FILENAME): Define in terms of
1691         EXPR_WFL_FILENAME_NODE.
1692         (EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
1693         the TREE_CHAIN.
1694         * print-tree.c (print_note): Print TREE_PRIVATE and
1695         TREE_PROTECTED.
1696         
1697         * dwarf2out.c (add_abstract_origin_attribute): Don't abort when
1698         the original die cannot be found.
1699
1700         * varray.h (varray_head_tag): Add elements_used.
1701         (VARRAY_PUSH): New macro.
1702         (VARRAY_POP): Likewise.
1703         (VARRAY_TOP): Likewise.
1704         Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
1705         types. 
1706         * varray.c (varray_init): Initialize elements_used.
1707         * Makefile.in (BASIC_BLOCK_H): Add varray.h.
1708         (INTEGRATE_H): New variable.
1709         (integrate.o): Depend on INTEGRATE_H.
1710         (unroll.o): Likewise.
1711         
1712         * function.h (insert_block_after_note): Declare.
1713         * function.c (insert_block_after_note): Split out from ...
1714         (retrofit_block): ... here.
1715
1716         * stmt.c (expand_fixup): Fix typo in comment.
1717
1718 Sat Dec  4 14:13:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
1719
1720         * regmove.c (copy_src_to_dest): Remove loop_depth parameter.
1721         (optimize_reg_copy_1): Remove REG_N_REFS updating code.
1722         (optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
1723         (regmove_optimize, fixup_match_1): Likewise.
1724
1725 1999-12-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1726
1727         * flow.c (flow_loops_dump): Add missing argument when calling
1728         flow_loop_nested_p.
1729
1730 1999-12-04  Geoffrey Keating  <geoffk@cygnus.com>
1731             Greg McGary  <gkm@gnu.org>
1732
1733         * c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
1734         (init_attributes): Add A_NO_LIMIT_STACK.
1735         (decl_attributes): Handle A_NO_LIMIT_STACK.
1736         * c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
1737         * explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
1738         Handle stack bounds checking.
1739         * flags.h (flag_stack_check): Use the word 'probe' rather than
1740         'check', because the flag doesn't actually cause any checking to
1741         be done.
1742         * function.c (expand_function_start): Set
1743         current_function_limit_stack.
1744         * function.h (struct function): Add limit_stack.
1745         (current_function_limit_stack): Define.
1746         * invoke.texi (Code Gen Options): Document new options.
1747         * rtl.h: Declare stack_limit_rtx.
1748         * toplev.c (stack_limit_rtx): New variable.
1749         (decode_f_option): Handle new options -fstack-limit-register=REG,
1750         -fstack-limit-symbol=IDENT, -fno-stack-limit.
1751         (main): Add stack_limit_rtx as GC root.
1752         * tree.h (DECL_NO_LIMIT_STACK): New macro.
1753         (struct tree_decl): New member no_limit_stack.
1754
1755         * config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
1756         stack_limit_rtx.
1757         * config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
1758         (conditional_trap+1): Get new mnemonic correct.
1759         (conditional_trap+2): New pattern for DImode traps.
1760
1761         * config/m68k/m68k.c (output_function_prologue): Handle
1762         stack_limit_rtx.
1763         * config/m68k/m68k.md (trap): New insn.
1764         (conditional_trap): New insn.
1765         * md.texi (Standard Names): Document `trap' and
1766         `conditional_trap'.
1767         * optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
1768         so a cc0 setter doesn't get emitted at some random place in the
1769         function.
1770
1771         * config/i960/i960.md (trap): New insn.
1772         (conditional_trap): New expander.
1773         (conditional_trap+1, conditional_trap+2): New insns for signed
1774         and unsigned cases.
1775         * config/i960/i960.c (i960_function_prologue): Use 
1776         STARTING_FRAME_OFFSET.  Handle stack_limit_rtx.
1777
1778 Thu Dec  2 21:22:45 1999  Greg McGary  <gkm@gnu.org>
1779                           Geoffrey Keating  <geoffk@cygnus.com>
1780
1781         * flags.h (warn_padded, warn_packed): Add global var decls.
1782         * toplev.c (warn_padded, warn_packed): Add global var defns.
1783         (W_options): Add warnings `-Wpacked' and `-Wpadded'.
1784         * stor-layout.c (layout_record): Add local variable `type'
1785         to hold often-used TREE_TYPE (field).  Add local variable
1786         `unpacked_align' to hold alignment that would be in force
1787         if no `packed' attribute were present.  Warn if `packed' attribute
1788         is unnecessary, or even harmful.  Warn when gcc inserts padding
1789         to satisfy alignment requirements of members.  Use NULL_TREE
1790         when checking whether var_size is set.
1791         * invoke.texi: Document new flags.
1792
1793 1999-12-03  Nathan Sidwell  <nathan@acm.org>
1794
1795         * frame.c (fde_split): Reimplement to avoid variable sized array.
1796
1797 Thu Dec  2 18:59:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1798
1799         * combine.c (try_combine): Before fixing up LOG_LINKS for the
1800         i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
1801
1802 1999-12-02  Gavin Romig-Koch  <gavin@cygnus.com>
1803
1804         * invoke.texi: Document the mips option -mno-crt0
1805
1806 1999-12-02  Mike Karr  <mkarr@mathworks.com>
1807
1808         * cccp.c (argdata): Added free_ptr member.
1809         (macroexpand): Initialize free_ptr of each argument. When an
1810         argument's buffers are freed, if the argument's free_ptr corresponds
1811         to a buffer on the input stack, then return the free_ptr to that stack
1812         frame, otherwise, free it.
1813         (macarg): If an argument begins and ends on the same input stack level,
1814         then transfer the free_ptr of that buffer to the argument in case
1815         the stack is popped during the processing of a subsequent argument.
1816
1817 1999-12-02  Bernd Schmidt  <bernds@cygnus.co.uk>
1818
1819         * loop.c (note_reg_stored): New function.
1820         (struct note_reg_stored_arg): New structure.
1821         (try_copy_prop): Change to be more conservative; only replace within
1822         one extended basic block and stop replacing if a store to the
1823         replacement reg is seen.
1824
1825 1999-12-02  Nick Clifton  <nickc@cygnus.com>
1826
1827         * config/fp-bit.c: Initialise all fields of the NAN
1828         constants. 
1829
1830         * c-lex.c (check_newline): Pass pragma_getc and pragma_ungetc
1831         to HANDLE_PRAGMA.
1832
1833 Wed Dec  1 18:16:38 1999  Jan Hubicka  <hubicka@freesoft.cz>
1834
1835         * i386.md (extend?f?f2): Force the input into a register, not
1836         the output.
1837
1838 1999-12-01  Jakub Jelinek  <jakub@redhat.com>
1839
1840         * config/sparc/sparc.md (movsf_const_intreg): Add constraints for
1841         regclass' sake.
1842         (movdf_const_intreg_sp32): Likewise. Prefer the memory load
1843         alternative because setting up 64bit constant is usually costly,
1844         especially when reload is in progress or completed.
1845         (movdf_const_intreg_sp64): Likewise.
1846         (movdf_const_intreg split): Fix building up constants when
1847         HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
1848
1849 Wed Dec  1 16:51:22 1999  Jeffrey A Law  (law@cygnus.com)
1850
1851         * combine.c (if_then_else_cond): Use const_true_rtx instead of
1852         const1_rtx for return values in EQ/NE comparison against (const_int 0)
1853         case.
1854
1855         * mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
1856         (asm_file_start): Emit .am33 into assembly file when compiling for
1857         the AM33.
1858         (print_operand_address): Handle POST_INC addresses.
1859         (can_use_return_insn, initial_offset): Check AM33 registers too.
1860         (expand_prologue): Check & save AM33 registers too.
1861         (expand_epilogue): Similarly.
1862         (secondary_reload_class): Handle AM33 specific secondary reloads.
1863         (output_tst): Emit efficient code for the AM33 too.
1864         * mn10300.h (CPP_SPEC, TARGET_AM33): Define.
1865         (TARGET_SWITCHES): Add -mam33 switch.
1866         (FIRST_PSEUDO_REGISTER): Handle new AM33 registers.
1867         (FIXED_REGISTERS, CALL_USED_REGISTERS): Likewise.
1868         (REG_ALLOC_ORDER, CONDITIONAL_REGISTER_USAGE): Likewise.
1869         (HARD_REGNO_MODE_OK, MODES_TIEABLE_P): Likewise.
1870         (enum reg_class, REG_CLASS_NAMES): Likewise.
1871         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
1872         (INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
1873         (REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
1874         (PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
1875         (REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
1876         (HAVE_POST_INCREMENT): Define.
1877         (GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
1878         (GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
1879         * mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
1880         (mulsi, andsi, iorsi, xorsi, notsi): Likewise.
1881         (ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
1882         (zero_extend to SI from QI/HI): Likewise.
1883         (sign_extend to SI from QI/HI): Likewise.
1884         (mulsidi3, umulsidi3): New patterns for the AM33.
1885         (tstsi with zero extension from QI/HI): Add AM33 variants.
1886         (movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
1887         (return_internal_regs, store_movm): Handle new AM33 registers.
1888         * t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
1889         (LIBGCC, INSTALL_LIBGCC): Likewise.
1890         * invoke.texi: Document new flags.
1891
1892 Fri Nov 26 10:59:12 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
1893
1894         * i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
1895         (addsi3_carry): Likewise.
1896         (sbbsi3_cc): Add "binary_operator_ok" to the condition.
1897         (sbbsi3_carry): Likewise.
1898         (mulsi3): Rewrite to expander, ensure that only one operand is memory.
1899         (mulhi3): Likewise.
1900         (test?i_1): Ensure that only one operand is memory.
1901         (conditional move patterns): likewise.
1902         (shift and rotate patterns): Rewrite to expander, add
1903         "binary_operator_ok" to the condition.
1904
1905         * i386.md (QImode patterns): Remove '*' before the 'r' constraints.
1906         * i386.h (procesor_costs): Add movzbl_load field.
1907         (HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
1908         non-Q registers, accept DImode registers anywhere.
1909         (Q_CLASS_P): New.
1910         (MEMORY_MOVE_COST): Calculate QImode moves correctly.
1911         * i386.c (*_cost): Set value for movxbl_load field.
1912
1913         * (addsi): New add to lea splitter.
1914         (ashlsi): Likewise.
1915         (lea to add/shift peep2): New.
1916
1917 1999-12-01  Mark Salter <msalter@cygnus.com>
1918
1919         * config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
1920         * config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
1921         * config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
1922
1923 Tue Nov 30 15:20:52 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
1924
1925         * i386.c (ix86_expand_move): Never add clobbers to move patterns.
1926         * i386.md (movsi_xor): New.
1927         (movsi_or): New.
1928         (movsi_1, movhi_1, movqi_1): Remove.
1929         (movsi_2): Rename to movsi_1.
1930         (movhi_2): Rename to movhi_1.
1931         (movqi_2): Rename to movqi_1.
1932         (movdi_1): Remove; remove splitter.
1933         (movdi_2): Rename to movdi_1.
1934         (divmodsi4 splitter): Do not emit clobbers for move patterns.
1935         (long move peep2): Do not create QI or HI mode mov0s
1936         (mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
1937
1938         * i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns,
1939         rewrite splitters.
1940
1941         * i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
1942         (abs?f2_if): Likewise.
1943
1944 1999-11-30  Alex Samuel  <samuel@codesourcery.com>
1945
1946         * ggc.h (ggc_test_and_set_mark): New macro.
1947         (ggc_mark_rtx): Use ggc_test_and_set_mark.
1948         (ggc_mark_tree): Likewise.
1949         (ggc_mark_rtvec): Likewise.
1950         * ggc-common.c (ggc_mark_rtx_children): Reduce recursion. 
1951
1952 1999-11-30  Jason Merrill  <jason@casey.cygnus.com>
1953
1954         * dwarf2out.c (scope_die_for): Only handle types.  Only search for
1955         containing types.
1956         (decl_scope_table): Just an array of trees now.
1957         (push_decl_scope): Simplify.
1958         (dwarf2out_init): Adjust.
1959         (local_scope_p): New fn.
1960         (gen_inlined_enumeration_type_die): Don't call scope_die_for.
1961         (gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
1962         (gen_typedef_die): Likewise.
1963         (gen_lexical_block_die): Don't call push/pop_decl_scope.
1964         (gen_inlined_subroutine_die): Likewise.
1965         (gen_abstract_function): Set current_function_decl temporarily.
1966         (gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
1967         Handle block extern declarations.  Don't call push/pop_decl_scope.
1968         (gen_decl_die): Fix logic for block externs.
1969
1970 1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1971
1972         * calls.c (special_function_p): Remove `realloc' and add `strdup'
1973         to the list of functions which have attribute malloc by default.
1974
1975 1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1976
1977         * c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
1978         integer constant does not match the traditional type, limit the
1979         warnings to cases where the base of the type is ten.
1980
1981         * invoke.texi (-Wtraditional): Document it.
1982
1983 Tue Nov 30 15:18:35 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1984
1985         * combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
1986         * rs6000.md: Only access a CONST_INT with INTVAL
1987
1988 Tue Nov 30 14:21:00 1999  Richard Henderson  <rth@cygnus.com>
1989
1990         * lcm.c (compute_laterin): Cast bb->aux to size_t not int.
1991         (compute_nearerout): Likewise.
1992         * ggc-page.c (ggc_page_print_statistics): Explicitly cast
1993         size_t to unsigned long for formatting.
1994
1995 1999-11-30  Jakub Jelinek  <jakub@redhat.com>
1996
1997         * config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
1998         Allow the user to override call-used/fixed state of %g2-5
1999         registers from the command line (with the exception of %g4 for
2000         embedded model).
2001         (REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
2002         there is a higher chance of having a leaf function.
2003         (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
2004         for ARCH64 which has %ccr register.
2005         * config/sparc/sparc.md (return_losum_si, return_losum_di): New
2006         patterns.
2007         * config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
2008         insn accept into delay slot any insn which does not use %[ol]
2009         registers.  Accept some LO_SUM and shift left by 1 for the normal
2010         restore case.
2011         (output_function_epilogue): Likewise.
2012         (epilogue_renumber): Added argument which inhibits any renumbering
2013         and just tests if the rtx does not use any %[ol] registers.
2014         (output_return): Reflect above change.
2015
2016 1999-11-30  Jakub Jelinek  <jakub@redhat.com>
2017
2018         * config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
2019         aggregate passing for sizes <= 16 bytes.
2020
2021 1999-11-30  Bernd Schmidt  <bernds@cygnus.co.uk>
2022
2023         * cse.c (FIXED_REGNO_P): Delete tests for OVERLAPPING_REGNO_P.
2024         * global.c (global_alloc): Delete [OVERLAPPING_REGNO_P] code.
2025         * reload.c (find_dummy_reload): Likewise.
2026         (find_equiv_reg): Likewise; also for INSN_CLOBBERS_REGNO_P.
2027         * reload1.c (reload_as_needed): Likewise.
2028         * stupid.c (stupid_find_reg): Likewise.
2029         * tm.texi (Obsolete Register Macros): Delete section.
2030         * gmicro.h: Remove all traces of the two macros.
2031         * i386.h: Likewise.
2032         * m88k.h: Likewise.
2033         * mips.h: Likewise.
2034
2035 1999-11-30  Brendan Kehoe  <brendan@cygnus.com>
2036
2037         * sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
2038         (TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
2039         (ROUND_TYPE_ALIGN): Use better value if -mfaster-structs.
2040         * sparc.md (sparclite86x_branch, sparclite86x_shift): New function
2041         units for the sparclite86x chip.
2042         (flush): Revert October 14th change; add SImode specifically.
2043         (flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
2044         * invoke.texi: Document it.
2045
2046 Tue Nov 30 14:58:14 1999  Nick Clifton  <nickc@cygnus.com>
2047
2048         * config/mn10200/mn10200.h (PREDICATE_CODES): Add
2049         psimode_truncation_operand.
2050
2051         * config/mn10200/mn10200.c (psimode_truncation_operand): New
2052         function.  Return true if the operand is either a MEM valid
2053         for a PSImode address or not a MEM at all.
2054
2055         * config/mn10200/mn10200.md (truncsipsi2): Use
2056         psimode_truncation_operand.
2057
2058 1999-11-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2059
2060         * flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
2061         (flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
2062         (flow_loop_exits_find, flow_loop_nodes_find): Likewise.
2063         (flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
2064         (flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
2065         (flow_loop_level_compute, low_loops_level_compute): Likewise.
2066         (flow_loops_find, flow_loop_outside_edge_p): Likewise.
2067         * basic-block.h: Protect from multiple inclusion.
2068         (flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
2069         (struct loops, struct loop): Define structures.
2070         * sbitmap.c (sbitmap_a_subset_b_p): New function.
2071         * sbitmap.h: Protect from multiple inclusion.
2072         (sbitmap_a_subset_b_p): Add prototype.
2073         * Makefile.in (LOOP_H): New macro.
2074         (stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
2075
2076 Tue Nov 30 01:34:47 1999  Philippe De Muyter  <phdm@macqel.be>
2077
2078         * cppinit.c (CAT): The argument list of this macro may not contain
2079         spaces !
2080
2081 1999-11-29  David S. Miller  <davem@redhat.com>
2082
2083         Move quantity tables and register equivalence chains into
2084         per-qty and per-register structure arrays respectively.
2085         * cse.c (qty_first_reg, qty_last_reg, qty_mode, qty_const,
2086         qty_const_insn, qty_comparison_code, qty_comparison_const,
2087         qty_comparison_qty): Delete, replace with...
2088         (qty_table): this structure table.
2089         (reg_next_eqv, reg_prev_eqv): Delete, replace with...
2090         (reg_eqv_table): this structure table.
2091         (make_new_qty): Add argument MODE.  Caller updated.
2092         Update to use qty_table and reg_eqv_table.
2093         (make_regs_eqv, delete_reg_equiv, insert_regs,
2094         insert, exp_equiv_p, cse_rtx_varies_p, canon_reg,
2095         fold_rtx, equiv_constant, record_jump_cond, cse_insn,
2096         cse_process_notes, cse_main, cse_basic_block): Likewise.
2097
2098 Mon Nov 29 16:56:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2099
2100         * fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
2101         operation if C is negative.
2102         (extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
2103         (extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
2104         law for some divisions if constant is negative and change other
2105         divisions to the opposite rounding.
2106
2107         * expr.c (store_constructor_field): If bit position is not multiple
2108         of alignment of TARGET's mode, use BLKmode.
2109
2110         * expr.c (expand_expr_unaligned): Add more code from full case
2111         that is needed when OP0 is in a register.
2112
2113 Mon Nov 29 18:09:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2114
2115         * dwarfout.c (field_byte_offset): Size can be zero if there was
2116         an error.
2117
2118 1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
2119
2120         * fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE.
2121         (associate_trees): Delete unused var TEM.
2122         (extract_muldiv): Delete unused var CANCEL_P.
2123                         
2124         * fold-const.c [TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT]
2125         (target_isinf, target_isnan, target_negative): Add return types to
2126         function definitions.
2127
2128 1999-11-29  Bruce Korb  <autogen@linuxbox.com>
2129
2130         * fixinc/fixincl.c(process): don't skip GLIBC files any more.
2131         * fixinc/hackshell.tpl: ditto
2132         * fixinc/fixtests.c(double_slash_test): more C++ header testing
2133         * fixinc/inclhack.def(AAB_fd_zero_glibc*): corrected spelling of mach
2134
2135 1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
2136
2137         * reload.c (push_reload): When looking for a register to put into
2138         reg_rtx, make sure all hard regs in a multi-reg register are in the
2139         right class and nonfixed.
2140
2141         * haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers,
2142         pending_read_insns, pending_write_insns, pending_read_mems,
2143         pending_write_mems, pending_list_length, last_pending_memory_flush,
2144         last_function_call, sched_before_next_call): Move static variables
2145         into a structure.
2146         (bb_ prefixed versions): Replace with single array bb_deps.
2147         (struct deps): New structure.
2148         (add_insn_mem_dependence, flush_pending_lists, sched_analyze_1,
2149         sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new
2150         argument of type "struct deps *"; use that instead of global
2151         variables.  All callers changed.
2152         (init_rgn_data_dependencies): Delete function.
2153         (init_rtx_vector): Delete function.
2154         (init_deps): New function.
2155
2156         (free_pending_lists): Simplify, we always use the bb_deps array even
2157         if only one basic block.
2158         (compute_block_backward_dependences): Likewise.
2159         (schedule_region): Likewise.
2160
2161         (propagate_deps): New function, broken out of
2162         compute_block_backward_dependences.
2163         (compute_block_backward_dependences): Use it.
2164
2165         * alpha.md: Delete useless patterns that tried to work around
2166         register elimination problems.
2167
2168         * unroll.c (loop_iterations): Don't abort if iteration variable
2169         was made by loop.
2170
2171         From Joern Rennecke:
2172         * reload1.c (reloads_conflict): Reverse test comparing operand
2173         numbers when testing for conflict between output/outaddr reloads.
2174
2175 1999-11-29  David S. Miller  <davem@redhat.com>
2176
2177         * config/sparc/sparc.c (init_cumulative_args): Fix type of third
2178         arg.
2179         * config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
2180
2181 1999-11-28  Robert Lipe  <robertl@cygnus.com>
2182
2183         * i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
2184         table from .fini into .dtor.                                
2185
2186 1999-11-28  Anthony Green  <green@cygnus.com>
2187
2188         * tree.h (struct tree_decl): Add malloc_flag.
2189         (DECL_IS_MALLOC): Define.
2190         * c-common.c (attrs): Add A_MALLOC attribute.
2191         (init_attributes): Add this attribute to the table.
2192         (decl_attributes): Handle malloc attribute.
2193         * calls.c (special_function_p): Check for the malloc attribute.
2194         * extend.texi (Function Attributes): Document malloc attribute.
2195
2196 Sun Nov 28 13:21:00 1999  Jeffrey A Law  (law@cygnus.com)
2197
2198         * pa.md (reload shift-add patterns): Remove.
2199
2200 1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2201
2202         * reorg.c (dbr_schedule) Print more statistics. Corrected
2203         problem when printing info when 3 delay slots are filled.
2204
2205 1999-11-28  Jakub Jelinek  <jakub@redhat.com>
2206
2207         * combine.c (setup_incoming_promotions): Pass an outgoing
2208         regno to FUNCTION_ARG_REGNO_P which it expects.
2209
2210 1999-11-28  Andreas Jaeger  <aj@suse.de>
2211
2212         * mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
2213
2214 Sun Nov 28 00:48:15 1999  Philippe De Muyter  <phdm@macqel.be>
2215
2216         * cccp.c (do_include): Avoid initialization of automatic variable.
2217
2218         * integrate.c (mark_stores): Function definition made void, to match
2219         previous declaration.
2220         * regclass.c (dump_regclass): Ditto.
2221         * Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
2222
2223 Sat Nov 27 08:38:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2224
2225         * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
2226         known to be multiple of divisor.
2227
2228         * expr.c (store_constructor): Don't clobber TARGET if CLEARED.
2229
2230         * combine.c (try_combine): Add code to try to merge a set of a
2231         two-word pseudo to a constant with a setting of one of those words
2232         to a constant.
2233
2234         * fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
2235         (split_tree): Completely rework to make more general.
2236         (make_range, fold): Call negate_expr.
2237         (fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
2238         (fold, associate): Call new split_tree and associate_trees.
2239         (fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
2240
2241 1999-11-26  Bernd Schmidt  <bernds@cygnus.co.uk>
2242
2243         * loop.c (try_copy_prop): Avoid GNU C extension.
2244
2245 1999-11-25  Mark Mitchell  <mark@codesourcery.com>
2246
2247         * except.c (init_eh_for_function): Still zero eh_return_context,
2248         eh_return_stack_adjust, and eh_return_handler.
2249
2250         * except.h (eh_status): Adjust documentation for x_protect_list.
2251         (begin_protect_partials): New function.
2252         * except.c (enqueue_eh_entry): Fix formatting.
2253         (get_first_handler): Add consistency check.
2254         (add_partial_entry): Adjust usage of protect_list.
2255         (emit_cleanup_handler): Save and restore ehqueue.
2256         (expand_start_all_catch): Add comment.
2257         (begin_protect_partials): New function.
2258         (end_protect_partials): Adjust usage of protect_list.
2259         (init_eh_for_function): Use xcalloc.
2260
2261 1999-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2262
2263         * c-common.c (check_format_info): Don't call a variadic function
2264         with a non-literal format string.
2265
2266         * c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
2267
2268         * c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
2269         pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
2270         Likewise.
2271
2272         * cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
2273         Likewise.
2274
2275         * collect2.c (collect_wait): Likewise.
2276
2277         * dbxout.c (dbxout_type): Likewise.
2278
2279         * gcc.c (do_spec_1): Likewise.
2280
2281         * genemit.c (gen_insn, gen_expand): Likewise.
2282
2283         * genrecog.c (write_switch, write_subroutine): Likewise.
2284
2285         * mips-tfile.c (catch_signal, botch): Likewise.
2286
2287         * print-rtl.c (print_rtx): Likewise.
2288
2289         * toplev.c (default_print_error_function, report_error_function,
2290         _fatal_insn): Likewise.
2291
2292 1999-11-25  Mark Mitchell  <mark@codesourcery.com>
2293
2294         * tree.c (unsave_expr_now): Handle NULL_TREE as input.
2295
2296 Wed Nov 24 17:08:09 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
2297
2298         * reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
2299         operations when needed.
2300         * i386.md (fop_?f_comm): New.
2301         (fop_?f_1): Do not accept commutative operands.
2302
2303 1999-11-25  Andreas Jaeger  <aj@suse.de>
2304
2305         * config/mips/mips.md (casesi_internal): Add missing brace.
2306
2307 1999-11-25  Jason Merrill  <jason@casey.cygnus.com>
2308
2309         * dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
2310         (splice_child_die): Handle moving a child DIE from the declaration
2311         DIE of a class to its specification.
2312         (gen_struct_or_union_type_die): Use 'complete' consistently.
2313         (gen_decl_die): Generate the virtual context DIE first.
2314         Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
2315
2316 1999-11-24  Gavin Romig-Koch  <gavin@cygnus.com>
2317
2318         * config/mips/mips.md (call_value_multiple_interanal1): New.
2319
2320 1999-11-24  Jason Merrill  <jason@casey.cygnus.com>
2321
2322         * dwarf2out.c (free_AT, free_die): New fns.
2323         (remove_children): Call them.
2324         (output_line_info): Disable removal of duplicate notes.
2325
2326         Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
2327         * dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
2328         means pretend the type isn't defined.
2329         Don't defer emitting types.
2330         (gen_type_die_for_member): New fn.
2331         (gen_decl_die): Call it.
2332         (splice_child_die): New fn.
2333         (gen_member_die): Call it rather than generate duplicate dies.
2334
2335         Defer emitting information for the abstract instance of an inline
2336         until we either inline it or emit an out-of-line copy.
2337         * dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
2338         from output_inline_function if DECL_ABSTRACT is also set.
2339         (block_ultimate_origin): Likewise.
2340         (gen_abstract_function): New fn.
2341         (gen_decl_die, gen_inlined_subroutine_die): Call it.
2342         (gen_subprogram_die):  An abstract instance is not a declaration
2343         just because it doesn't match current_function_decl.  Don't abort
2344         because DECL_DEFER_OUTPUT isn't set.  Do abort if a declaration
2345         has an abstract origin.
2346         * toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
2347         abstract instance here.
2348
2349 Wed Nov 24 18:39:18 1999  Andrew Haley  <aph@cygnus.com>
2350
2351         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
2352         where we need to reload fpul from a system register.
2353
2354 1999-11-24  Andreas Jaeger  <aj@suse.de>
2355
2356         * config/mips/linux.h (CPP_PREDEFINES): Added.
2357         (LINK_SPEC): Remove -Y since this is only needed on sparc.
2358
2359 1999-11-24  Andreas Jaeger  <aj@suse.de>
2360
2361         * config/mips/linux.h (TARGET_VERSION): Added.
2362         (HANDLE_SYSV_PRAGMA): Added.
2363         (DEFAULT_VTABLE_THUNKS): Added.
2364
2365 Wed Nov 24 14:12:15 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
2366
2367         * local-alloc.c (qty): New structure and static variable.
2368         (qty_phys_reg): Remove, all references changed to qty.
2369         (qty_n_refs): Likewise.
2370         (qty_min_class): Likewise.
2371         (qty_birth): Likewise.
2372         (qty_death): Likewise.
2373         (qty_size): Likewise.
2374         (qty_mode): Likewise.
2375         (qty_n_calls_crossed): Likewise.
2376         (qty_alternate_class): Likewise.
2377         (qty_changes_size): Likewise.
2378         (qty_first_reg): Likewise.
2379         (alloc_qty): Rename variable QTY to QTYNO.
2380         (finf_free_reg): Likewise.
2381         (local_alloc): Allocate qty, do not allocate the removed variables.
2382
2383 Wed Nov 24 17:26:05 1999  Geoffrey Keating  <geoffk@cygnus.com>
2384
2385         * config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
2386         when -membedded-pic is passed.
2387
2388         * config/mips/mips.md (casesi): Handle 64-bit case too.
2389         (casesi_internal_di): New insn.
2390
2391         * config/mips/mips.c (embedded_pic_offset): Always make the
2392         embedded-pic subtractions relative to the name of the current
2393         function by use of the magic string "..CURRENT_FUNCTION".
2394         * config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
2395
2396 1999-11-24  Geoffrey Keating  <geoffk@cygnus.com>
2397
2398         * config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
2399         of (const_int 0), when what we really care about is
2400         whether it's a zero constant anyway.
2401         (div_trap_mips16): Likewise.
2402
2403 1999-11-23  Mark Mitchell  <mark@codesourcery.com>
2404
2405         * loop.c (loop_optimize): Always find_loop_tree_blocks and
2406         unroll_block_trees when generating debuggable code.
2407
2408         * tree.h (unsave_expr_1): New function.
2409         (lang_unsave): New variable.
2410         (get_callee_fndecl): New function.
2411         * tree.c (unsave_expr_now_r): New function.
2412         (lang_unsave): Define.
2413         (unsave_expr_1): Likewise.
2414         (unsave_expr_now_r): Split out from unsave_expr_now.
2415         (unsave_expr_now): Call lang_unsave if it is non-NULL.  Otherwise,
2416         call unsave_expr_now_r.
2417         (get_callee_fndecl): Define.
2418
2419         * Makefile.in (gencheck): Don't depend on lang_tree_files.
2420         (gencheck.o): Do depend on lang_tree_files.
2421
2422         * integrate.h (copy_decl_for_inlining): New declaration.
2423         * integrate.c (copy_and_set_decl_abstract_origin): Remove.
2424         (copy_decl_for_inlining): New function.
2425         (integrate_parm_decls): Use it.
2426         (integrate_decl_tree): Likewise.
2427
2428 1999-11-23  Gavin Romig-Koch  <gavin@cygnus.com>
2429
2430         * config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split 
2431         the second two from the first.
2432         (CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
2433         * config/mips/mips.md (movcc,reload_incc,reload_outcc,
2434         conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than 
2435         ISA_HAS_FP4.
2436         * config/mips/mips.c (mips_move_1word,gen_conditional_branch,
2437         override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
2438         ISA_HAS_FP4.
2439
2440 Tue Nov 23 11:15:04 1999  Jeffrey A Law  (law@cygnus.com)
2441
2442         * pa.md (call_internal_symref, call_value_internal_symref): No mode
2443         needed on the address operand.
2444         * pa.c (call_operand_address): Check for the correct mode.
2445
2446 1999-11-23  Bernd Schmidt  <bernds@cygnus.co.uk>
2447
2448         * loop.c: Include "basic-block.h".
2449         (try_copy_prop, replace_loop_reg): New functions.
2450         (load_mems): Detect registers that just hold copies of the hoisted
2451         mem, and call try_copy_prop to eliminate them.
2452         * Makefile.in (loop.o): Update dependencies.
2453
2454 Tue Nov 23 01:03:29 1999  Hans-Peter Nilsson  <hp@axis.com>
2455
2456         * Makefile.in (gencheck.o): Depend on gencheck.h.
2457         (insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
2458         (insn-peep.o): Depend on except.h and function.h.
2459         (insn-attrtab.o): Depend on RECOG_H.
2460         (insn-output.o): Depend on toplev.h and flags.h.
2461         (gengenrtl.o): Depend on real.h.
2462         (gen-protos.o): Depend on cpplib.h and cpphash.h.
2463         Unify all dependencies to be on RECOG_H rather than recog.h.
2464
2465 Tue Nov 23 00:57:10 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2466
2467         From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
2468         * configure.in: Try building a bi-arch 32/64-bit compiler on
2469         sparc-*-solaris2.7 and higher.
2470         * configure: Rebuild.
2471
2472 Mon Nov 22 23:09:44 1999  David O'Brien  <obrien@FreeBSD.org>
2473
2474         * config/freebsd.h: New, FreeBSD architecture independent file.
2475         * config/i386/freebsd-elf.h: removed FreeBSD architecturally
2476         independent pieces.
2477         * config/i386/freebsd.h: include i386/perform.h via tm.h rather than
2478         directly by i386/freebsd.h.
2479         * configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
2480         independent configuration file.
2481         (*-*-freebsdelf): Include i386/perform.h via tm.h rather than
2482         directly by i386/freebsd.h.
2483         * configure: Rebuilt.
2484
2485         * xm-i386.h: Define `__i386__' if not defined, rather than `i386'
2486         which is in the user's namespace.
2487         * libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
2488         `i386' which is not in our namespace.
2489
2490 Mon Nov 22 22:58:01 1999  "R. Kelley Cook" <KelleyCook@attglobal.net>
2491
2492         * invoke.texi (ARM Options): Add in -mno-alignment-traps
2493
2494 1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
2495
2496         * dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
2497         (add_dwarf_attr, add_child_die): Just push onto the front.
2498         (reverse_die_lists): New fn.
2499         (add_sibling_attributes): Use it.
2500         (push_decl_scope): Reorganize.
2501         (add_name_and_src_coords_attributes): Don't set file and line for
2502         an artificial decl.
2503         (gen_subprogram_die): An artificial function doesn't need to match
2504         file and line.
2505         (gen_compile_unit_die): Return the generated die.  Only add 
2506         AT_comp_dir if the filename is relative.
2507         (remove_AT): Simplify loop.  Also free string values.
2508         (output_die): A DIE ref can't be null.
2509         (output_value_format, value_format): Take a dw_attr_ref.
2510         (dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
2511         (AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
2512         AT_addr, AT_lbl): New fns.
2513         (various): Use them.
2514         (various): Constify.
2515
2516 Mon Nov 22 23:53:50 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
2517
2518         * combine.c (combine_simplify_rtx): When handling a SUBREG,
2519         take SUBREG_WORD into account.
2520         (if_then_else_cond): Likewise.
2521
2522 1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
2523
2524         * gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising 
2525         clause from BSD license, pursuant with
2526
2527           ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
2528
2529 1999-11-22  Bernd Schmidt  <bernds@cygnus.co.uk>
2530
2531         * loop.c (load_mems): Reformat slightly.
2532         * basic-block.h (regset_head): New typedef.
2533         (INIT_REG_SET): New macro.
2534
2535 1999-11-22  Bruce Korb  <autogen@linuxbox.com
2536
2537         * fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe
2538         (mips-dec-bsd*): non-functional code
2539         (alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*"
2540
2541         * fixinc/inclhack.def(AAB_fd_zero_glibc_*):
2542         added three replacement fixes
2543         (no_double_slash): removed comments that are not (any longer) pertinent
2544         (bad_lval): this fix currently runs against many files.
2545         The comment seems to indicate that we should select for files
2546         containing 'pragma extern_prefix'.
2547
2548         * fixinc/fixinc.x86-linux-gnu: deleted
2549         * fixinc/inclhack.sh:  regen
2550         * fixinc/fixincl.x:  regen
2551         * fixinc/fixincl.sh:  regen
2552
2553 Fri Nov 12 14:08:40 1999  Andrew Haley  <aph@cygnus.com>
2554
2555         * emit-rtl.c (gen_sequence): Only return the pattern of an insn if
2556         its code is INSN and it has no notes.
2557
2558 1999-11-22  Andrew Haley  <aph@cygnus.com>
2559
2560         * varasm.c (function_defined): Remove.
2561         (make_function_rtl): Don't set function_defined.
2562         (make_decl_rtl): Remove global register warning.
2563         * regclass.c (no_global_reg_vars): New variable.
2564         (globalize_reg): Warn if function has already been defined.
2565         (regclass_init): Set no_global_reg_vars.
2566
2567 Mon Nov 22 14:42:22 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
2568
2569         * regclass.c (reg_pref): New structure and static variable
2570         (prefclass): Delete.
2571         (altclass): Delete.
2572         (all uses of prefclass and altclass): Use reg_pref instead.
2573
2574 1999-11-21  Nick Clifton  <nickc@cygnus.com>
2575
2576         * invoke.texi (ARM Options): Replace -mshort-load-bytes with
2577         -malignment-traps. 
2578         (arm.h): Replace -mshort-load-bytes with -malignment-traps.
2579         (arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
2580         (arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
2581
2582 Sun Nov 21 17:11:13 1999  Geoffrey Keating  <geoffk@cygnus.com>
2583
2584         * varasm.c (output_constructor): Solve problem with long long
2585         bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
2586
2587 Fri Nov 19 05:48:45 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
2588
2589         * global.c (allocno): New structure and static variable.
2590         (allocno_reg): Remove, all references replaced by allocno.
2591         (allocno_size): Likewise.
2592         (hard_reg_conflicts): Likewise.
2593         (hard_reg_preferences): Likewise.
2594         (hard_reg_copy_preferences): Likewise.
2595         (hard_reg_full_preferences): Likewise.
2596         (regs_someone_prefers): Likewise.
2597         (allocno_calls_crossed): Likewise.
2598         (allocno_n_refs): Likewise.
2599         (allocno_live_length): Likewise.
2600         (find_reg): Rename ALLOCNO to NUM.
2601
2602         * regclass.c (may_move_in_cost): Rename from may_move_cost, all
2603         references updated.
2604         (may_move_out_cost): New variable.
2605         (init_reg_sets_1): Initialize may_move_out_cost.
2606         (record_reg_classes): Use may_move_out_cost.
2607
2608         * regclass.c (dump_regclass): New function.
2609         (regclass): New parameter DUMP, call DUMP_REGCLASS.
2610         * toplev.c (rest_of_compilation): Open lreg dump file before regclass,
2611         pass rtl_dump_file to regclass.
2612         * rtl.h (regclass): Update prototype.
2613
2614 Fri Nov 19 06:32:19 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
2615
2616         * i386.md (neg, not and abs patterns): Revmap to use
2617         ix86_expand_unary_operator and ix86_unary_operator_ok.
2618         (add?f and sub?f expanders): Force operand 1 to register.
2619         * i386.c (ix86_expand_unary_operator): Rewrite.
2620         (ix86_unary_operator_ok): Ensure that memory operands
2621         match real opcode.
2622         (ix86_binary_operator_ok): Do not allow operand 1 to
2623         come into memory and operand 0 not.
2624         (ix86_expand_binary_operator): Ensure that
2625         src1 is not non-matching memory.
2626
2627         * i386.md (negs?2): Rewrite to expanders, new patterns and splitters
2628         to support integer registers and memory.
2629         (abss?2_integer): Likewise.
2630
2631         * i386.h (enum reg_class): Add FLOAT_INT_REGS.
2632         (REG_CLASS_NAMES): Likewise.
2633         (REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
2634         and GENERAL_REGS.
2635         * i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
2636         (movsf): Likewise; unify 4th and 5th alternative.
2637         (pushdf): Likewise.
2638         (movdf_1): Likewise; rename to movdf_integer.
2639         (pushxf): Likewise; rename to pushxf_integer; fix output template;
2640         remove redundant splitter.
2641         (movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
2642         (movdf_nointeger): New.
2643         (movxf_nointeger): New.
2644         (pushxf_nointeger): New.
2645
2646         * i386.md (extend?f?f): Split to expander and pattern, refuse two
2647         memory operands in patterns.
2648         (fop*): Refuse two memory operands.
2649
2650         * i386.md (ashrsi3_31): Allow cltd when optimizing for size even
2651         on !TARGET_USE_CLTD CPUs.
2652
2653 Fri Nov 19 10:41:15 GMT 1999  Nathan Sidwell  <nathan@acm.org>
2654
2655         * extend.texi: Document C++ restricted pointers and references. 
2656
2657 1999-11-19  Bernd Schmidt  <bernds@cygnus.co.uk>
2658
2659         * cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
2660         (invalidate_skipped_set): Call it unconditionally.
2661         (cse_set_around_loop): Likewise.
2662
2663 Thu Nov 18 17:29:34 MST 1999    Diego Novillo <dnovillo@cygnus.com>
2664
2665         * rtl.texi (mem): Add documentation for alias-set argument 
2666         to RTX `mem'.
2667
2668 Fri Nov 18 13:39:22 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
2669
2670         * i386.h (struct_processor_costs): New fields int_load, int_store,
2671         fp_move, fp_load and fp_store
2672         (REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of
2673         fp->int moves
2674         (MEMORY_MOVE_COST): New macro.
2675         * i386.c (386_cost): Define new fields.
2676         (i486_cost): Likewise.
2677         (pentium_cost): Likewise.
2678         (pentiumpro_cost): Likewise.
2679         (k6_cost): Likewise.
2680
2681 Fri Nov 19 11:11:55 1999  Greg McGary  <gkm@gnu.org>
2682                           Geoffrey Keating  <geoffk@cygnus.com>
2683
2684         * config/m68k/m68kelf.h: Suppress '/* within comment' warning.
2685
2686         * config/m68k/m68k.h (MASK_PCREL): Don't use same value as
2687         MASK_ALIGN_INT.
2688         
2689         * config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
2690         (TARGET_STRICT_ALIGNMENT): New macro.
2691         (TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
2692         (STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
2693         * invoke.texi (M680x0 Options): Document -mstrict-align.
2694
2695 Thu Nov 18 11:10:03 1999  Jan Hubicka  <hubicka@freesoft.cz>
2696                           Richard Henderson  <rth@cygnus.com>
2697
2698         * i386-protos.h (split_xf, ix86_split_movdi): Remove.
2699         (ix86_split_long_move): Declare.
2700         * i386.c (split_xf, ix86_split_movdi): Remove.
2701         (ix86_split_to_parts, ix86_split_long_move): New.
2702         * i386.md (dimode move splitters): Use ix86_split_long_move.
2703         (dfmode move splitters): Likewise.
2704         (xfmode move splitters): Likewise.
2705         (movsf_1): Allow F->r.
2706         (movdf_1, movxf_1): Allow F->ro.
2707
2708 1999-11-17  Mark Mitchell  <mark@codesourcery.com>
2709
2710         * except.h (struct eh_entry): Add goto_entry_p.
2711         (eh_region_from_symbol): Remove prototype.
2712         * except.c (find_func_region_from_symbol): New function.
2713         (emit_cleanup_handler): Likewise.
2714         (eh_region_from_symbol): Make it static.
2715         (add_new_handler): Verify the argument.
2716         (find_func_region): Update comment.
2717         (expand_eh_region_end): Expand handlers here, rater than waiting
2718         until expand_leftover_cleanups or start_all_catch.
2719         (expand_leftover_cleanups): Don't expand here.
2720         (expand_start_all_catch): Or here.
2721         (expand_rethrow): Check the return value from find_func_region.
2722         * function.c (expand_function_end): Emit the catch_clauses.
2723         
2724 1999-11-18  Gavin Romig-Koch  <gavin@cygnus.com>
2725
2726         * integrate.c (expand_inline_function): Add necessary check for NULL.
2727
2728 1999-11-18  Nick Clifton  <nickc@cygnus.com>
2729
2730         * toplev.c (main): Correctly detect an unrecognised option.
2731
2732         * cppinit.c (cpp_handle_option): Do not claim to have consumed
2733         a -f option if it has not been recognised.
2734
2735 Thu Nov 18 00:59:11 1999  Michael Gschwind  <mikeg@alagoas.watson.ibm.com>
2736
2737         * basic-block.h (update_life_extent): Remove trailing comma on
2738         enumeration type list.
2739
2740 1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2741
2742         * varasm.c (output_constructor) Solved problem with long long
2743         bitfields. Corrected calculating this_time and shift. Also
2744         corrected calculating mask when BITS_PER_UNIT == 32 (c4x).
2745
2746 Wed Nov 17 23:46:14 1999  Jeffrey A Law  (law@cygnus.com)
2747
2748         * flow.c (split_edge): Take looping structure into account when
2749         determining where to put the new block note.
2750
2751 Wed Nov 17 20:42:43 1999  Jeff Holcomb  <jeffh@cygnus.com>
2752
2753         * Makefile.in (ggc-none.o): Provide host specific version if
2754         needed.
2755
2756 Wed Nov 17 16:51:23 1999  Richard Henderson  <rth@cygnus.com>
2757
2758         * cse.c (delete_trivially_dead_insns): Identify no-op insns
2759         containing subregs too.
2760
2761 Wed Nov 17 17:39:48 MST 1999    Diego Novillo <dnovillo@cygnus.com>
2762
2763         * invoke.texi: Add documentation for -muninit-const-in-rodata.
2764         * config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define.
2765         (TARGET_UNINIT_CONST_IN_RODATA): Define.
2766         (text_section): Add switches -munint-const-in-rodata and
2767         -mno-uninit-const-in-rodata.
2768         (ASM_OUTPUT_COMMON): Remove.
2769         (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized
2770         const objects should be placed in read-only data. Otherwise declare
2771         them in common.
2772
2773 Wed Nov 17 16:38:32 1999  Richard Henderson  <rth@cygnus.com>
2774
2775         * jump.c (jump_optimize_1): Revert last change.
2776
2777 Wed Nov 17 15:18:30 1999  Richard Henderson  <rth@cygnus.com>
2778
2779         * jump.c (jump_optimize_1): Don't try to duplicate the loop exit
2780         test if optimizing for size.
2781
2782 1999-11-17  Mark Mitchell  <mark@codesourcery.com>
2783
2784         * Makefile.in (toplev.o): Depend on except.h.
2785         (dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
2786
2787 Mon Nov 15 22:45:39 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
2788
2789         * i386.md (divmodsi4): Rewrite to expander.
2790         (*divmodsi4_nocltd): New.
2791         (*divmodsi4_cltd): New.
2792         (divmodsi4 splitter): Handle the case when input comes in edx.
2793         (udivmodhi4): Do not use constraints in exander.
2794         (ashrsi3_31): Conditionize by TARGET_USE_CLTD.
2795
2796 1999-11-17  Jason Merrill  <jason@yorick.cygnus.com>
2797
2798         * dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
2799         for the common case.
2800
2801 1999-11-16  Jakub Jelinek  <jakub@redhat.com>
2802
2803         * explow.c (hard_function_value): Add outgoing argument.
2804         * expr.h (hard_function_value): Declare it.
2805         * calls.c (expand_call, emit_library_call_value): Update callers.
2806         * function.c (aggregate_value_p): Ditto.
2807         (diddle_return_value): Must look at the outgoing registers
2808         on archs with register windows.
2809
2810 Mon Nov 15 20:46:45 1999  Richard Henderson  <rth@cygnus.com>
2811
2812         * alpha.c (alpha_build_va_list): Use make_lang_type and
2813         initialize TYPE_NAME for the va_list record.
2814
2815         * flow.c (calculate_global_regs_live): Zero bb->aux to begin.
2816
2817         * ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
2818         for printing.
2819         * ggc.h (struct ggc_statistics): Rearrange elements for better
2820         packing on 64-bit hosts.
2821         * lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
2822         (compute_nearerout): Likewise.
2823
2824 Tue Nov 16 14:37:52 1999  Geoffrey Keating  <geoffk@cygnus.com>
2825
2826         * config/rs6000/rs6000.c (first_reg_to_save): Save
2827         PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
2828
2829 1999-11-15  Jason Merrill  <jason@casey.cygnus.com>
2830
2831         * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
2832         notion of nesting to find the DIE for a type or function.
2833         DIEs can go in limbo even if we got a context_die.
2834         (push_decl_scope): Our context doesn't need to be in decl_scope_table.
2835         (gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
2836         for local type.
2837         (gen_decl_die): Ignore NAMESPACE_DECLs for now.
2838         (gen_type_die): Writing out the context doesn't cause member class
2839         template instantiations to be written out as well.
2840
2841 Mon Nov 15 15:33:18 1999  Richard Henderson  <rth@cygnus.com>
2842
2843         * rs6000.h (ASM_OUTPUT_DEF): New.
2844         Based on proposed addition from David Edelsohn.
2845
2846 1999-11-15  Robert Lipe  <RobertLipe@usa.net>
2847             Bruce Korb  <autogen@linuxbox.com>
2848
2849         * fixinc/inclhack.def
2850         (AAB_svr4_replace_byteorder): added.  Takes advantage of GCC features
2851         (unixware7_byteorder_fix): added.  Removes conflicts for new defs
2852                 in net/inet.h.
2853         (svr5_mach_defines): added.  Like svr4_mach_defines, with new syntax
2854         (svr4_endian): enabled with SVR5
2855         (svr4_mkdev): simplified syntax and enabled with SVR5
2856
2857 Sun Nov 14 18:49:37 1999  David O'Brien  <obrien@FreeBSD.org>
2858
2859         * configure.in: Handle libgcc2 threads support on FreeBSD platforms.
2860         * configure: Rebuilt.
2861         * config/t-freebsd-thread: New file.
2862
2863 Sun Nov 14 23:11:05 1999  Jeffrey A Law  (law@cygnus.com)
2864
2865         * i386.c (ix86_decompose_address): Verify the base is a REG
2866         before trying to examine its register number.
2867
2868         * basic-block.h: Remove all #defines and prototypes related to
2869         integer lists.
2870         (free_bb_mem, compute_preds_succs): Remove prototype.
2871         * rtl.h (free_bb_mem): Remove prototype.
2872         * flow.c (alloc_int_list_node); Remove function.
2873         (add_inst_list_node, free_int_list, add_pred_succ): Likewise.
2874         (compute_preds_succs, free_bb_mem): Likewise.
2875         * gcse.c (gcse_main): Do not call free_bb_mem anymore.
2876         * toplev.c (rest_of_compilation): Likewise.
2877         * haifa-sched.c (build_control_flow): Use flow generated edge
2878         list to build the haifa specific edge list.
2879         (find_rgns): Use new CFG data structures instead of pred/succ lists.
2880         (schedule_insns): Do not build pred/succ lists anymore.  Instead
2881         build the edge table.
2882
2883         * basic-block.h (dump_bb_data): Remove declaration.
2884         * flow.c (dump_bb_data): Remove function.
2885         * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
2886         (sbitmap_union_of_predsucc): Likewise.
2887
2888         * gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
2889         argument.  All callers changed.
2890         (delete_null_pointer_checks_1): No longer need to compute the
2891         pred/succ lists.
2892
2893         * gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
2894         All callers changed.
2895         (pre_expr_reaches_here_p_work): Likewise.
2896         (pre_edge_insert): No longer call pre_expr_reaches_here_p.
2897         * lcm.c (compute_laterin): Fix initialization of LATER.
2898         (compute_nearerout): Similarly for NEARER.
2899
2900 Sun Nov 14 12:41:57 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2901
2902         * cse.c (set_nonvarying_address_components): Delete unused function.
2903         (refers_to_p): Likewise.
2904
2905 Fri Nov 12 20:53:22 1999  Jeffrey A Law  (law@cygnus.com)
2906
2907         * function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
2908         needed.
2909
2910 Sat Nov 13 16:20:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2911
2912         * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
2913         definition in do while (0).
2914
2915 Fri Nov 12 16:26:25 1999  Jim Wilson  <wilson@cygnus.com>
2916
2917         * stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
2918
2919 Fri Nov 12 12:43:49 1999  Richard Henderson  <rth@cygnus.com>
2920
2921         * unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
2922
2923 Fri Nov 12 15:14:19 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
2924
2925         * i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
2926         (FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
2927         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
2928         (INITIAL_FRAME_POINTER_OFFSET): Remove it.
2929
2930         * i960.c (i960_function_prologue): Don't allocate space for g8-g11
2931         saved on the stack.  Output more accurate stack frame statistics
2932         into assembler file.
2933
2934 1999-11-12 11:47 -0800  Zack Weinberg  <zack@bitmover.com>
2935
2936         * genextract.c (record_insn_name): New function.
2937         (get_insn_name): No longer a stub.
2938         (main): Call record_insn_name for each insn.  After each label
2939         written, print the insn name in a comment.
2940
2941 Fri Nov 12 13:45:02 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2942
2943         * output.h (const_section, init_section, fini_section): Add
2944         prototypes.
2945
2946         * alpha/elf.h (const_section): Delete declaration.
2947
2948         * svr4.h (const_section): Likewise.
2949
2950 Fri Nov 12 08:54:22 1999  Mark Mitchell  <mark@codesourcery.com>
2951
2952         * tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
2953         * tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
2954         (unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
2955         expressions.
2956         * stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
2957         variable-sized array bounds.
2958         
2959 Fri Nov 12 08:04:45 1999  Catherine Moore  <clm@cygnus.com>
2960
2961         * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME):  Use
2962         ASM_OUTPUT_LABEL.
2963
2964 Fri Nov 12 13:31:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2965
2966         * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
2967         addresses the same way GO_IF_LEGITIMATE_INDEX does. 
2968
2969 Fri Nov 12 12:36:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2970
2971         * cse.c (hash_arg_in_struct): Delete.
2972         (struct table_elt): Delete elt in_struct.
2973         (struct set): Delete elt src_in_struct.
2974         (merge_equiv_classes): Don't set either hash_arg_in_struct or
2975         the corresponding in_struct elts.
2976         (canon_hash): Likewise.
2977         (safe_hash): Likewise.
2978         (find_best_addr): Likewise.
2979         (record_jump_cond): Likewise.
2980         (cse_insn): Likewise.
2981
2982 Thu Nov 11 19:45:24 1999  Jim Wilson  <wilson@cygnus.com>
2983
2984         * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back.
2985
2986         * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large
2987         unsigned types.
2988
2989 Thu Nov 11 18:54:24 1999  Jeffrey A Law  (law@cygnus.com)
2990
2991         * function.c (diddle_return_value): Put back check that the DECL_RTL
2992         for the function is a register.
2993
2994         * function.c (diddle_return_value): Use hard_function_value to
2995         get an rtx suitable for use in the USE/CLOBBER insn.
2996
2997         * global.c (global_conflicts): Update comments.
2998         (record_conflicts): No need to record conflicts between pseudos here.
2999
3000 1999-11-11  Bruce Korb  <autogen@linuxbox.com>
3001
3002         * fixinc/fixincl.c: Added verbose levels for status messages
3003
3004 Thu Nov 11 13:23:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
3005
3006         * jump.c (jump_optimize_1): Avoid passing an rtx that is not an
3007         operand as argument to expand_and or expand_binop.
3008
3009 Thu Nov 11 02:21:16 1999  Rodney Brown <RodneyBrown@pmsc.com>
3010
3011         * xcoffout.c (xcoffout_source_file): Change ggc_add_root to
3012         gcc_add_string_root.
3013
3014 Wed Nov 10 21:24:19 1999  Jason Eckhardt  <jle@cygnus.com>
3015
3016         * config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4.
3017
3018 Wed Nov 10 15:56:16 1999  Jeffrey A Law  (law@cygnus.com)
3019
3020         * flow.c (compute_flow_dominators): Initially put all blocks on
3021         the worklist.
3022         * lcm.c (compute_antinout_edge, compute_available): Similarly.
3023         * gcse.c (compute_cprop_avinout): Remove.
3024         (compute_cprop_data): Use compute_available.
3025         (delete_null_pointer_checks_1): Use compute_available.
3026
3027         * basic-block.h (compute_available): Returns a void now.
3028         * gcse.c (one_classic_gcse_pass): Do not expect compute_available
3029         to return a value anymore.
3030         * lcm.c (compute_available, compute_antinout_edge): Revamp to use
3031         worklists.  Fix boundary cases. Compute maximal solutions.
3032         (compute_laterin, compute_nearerout): Similarly.
3033
3034         * dwarf2out.c (add_AT_location_description): Allow
3035         (mem (plus (pseudo) (...)) too.
3036
3037 Wed Nov 10 10:52:42 1999  Tom Tromey  <tromey@cygnus.com>
3038
3039         * gcc.c (do_spec_1): Support text between `%u' and `%O'.
3040
3041 Wed Nov 10 12:43:21 1999  Philippe De Muyter  <phdm@macqel.be>
3042                           Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3043
3044         * cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
3045
3046         * gansidecl.h: Likewise.
3047
3048         * rtl.c: Likewise.
3049
3050         * rtl.h: Likewise.
3051
3052         * toplev.h: Likewise.
3053
3054         * tree.c: Likewise.
3055
3056         * tree.h: Likewise.
3057
3058         * varray.c: Likewise.
3059
3060         * varray.h: Likewise.
3061
3062 Wed Nov 10 10:57:22 1999  Clinton Popetz  <cpopetz@cygnus.com>
3063
3064         * gcov.c (struct arcdata): Add hits and total, remove prob.
3065         (output_branch_counts): New.
3066         (process_args): Set output_branch_counts if -c.
3067         (calculate_branch_probs): Store hits and total instead of
3068         percentage.
3069         (output_data): Emit counts if output_branch_counts is true.
3070         * gcov.texi (Invoking Gcov): Document -c switch..
3071
3072 Wed Nov 10 01:10:41 1999  Philippe De Muyter  <phdm@macqel.be>
3073
3074         * genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and
3075         `INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type.
3076
3077 Wed Nov 10 00:51:41 1999  Hans-Peter Nilsson  <hp@axis.se>
3078
3079         * invoke.texi (C Dialect Options): Add missing builtins from
3080         c-common.c to list.
3081         * extend.texi (Other Builtins): Copy to this list.
3082
3083 Wed Nov 10 04:58:09 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
3084
3085         * Makefile.in (recog.o): Use BASIC_BLOCK_H macro.
3086         (print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise.  Remove
3087         redundant bitmap.h.
3088
3089 Wed Nov 10 00:02:53 1999  Jeffrey A Law  (law@cygnus.com)
3090
3091         * flow.c (compute_flow_dominators): No longer treat basic block 0
3092         or (n_basic_blocks - 1) specially.  Clear the AUX field before
3093         starting computation of doms/pdoms.  Fix initial state for pdoms.
3094
3095 Wed Nov 10 03:58:08 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
3096
3097         * Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to
3098         match rtl.o's: added ggc.h and toplev.h
3099         ($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h.
3100         ($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h.
3101         ($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H).
3102
3103 Tue Nov  9 10:30:08 1999  Tom Tromey  <tromey@cygnus.com>
3104
3105         * config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed
3106         from HAVE_DOS_BASED_FILESYSTEM.
3107         * gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not
3108         HAVE_DOS_BASED_FILESYSTEM.
3109         (main): Likewise.
3110         (split_directories): Only special-case DOS file names if
3111         HAVE_DOS_BASED_FILE_SYSTEM is defined.  Use IS_DIR_SEPARATOR
3112         instead of explicit tests.  Conditionalize on !VMS.
3113         (make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit
3114         tests.  Conditionalize on !VMS.
3115         (process_command): Only use make_relative_prefix if !VMS.
3116         (free_split_directories): Conditionalize on !VMS.
3117         (DIR_UP): Conditionalize on !VMS.
3118
3119 Wed Jun  9 16:57:11 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3120
3121         * gcc.c (STANDARD_BINDIR_PREFIX): Provide default.
3122
3123 Fri Feb  5 14:22:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3124
3125         * gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX
3126         case.
3127
3128 Mon Nov  8 14:16:57 1999  Michael Meissner  <meissner@cygnus.com>
3129
3130         * invoke.texi (Environment Variables): Document relative path
3131         lookup.
3132         * gcc.c (DIR_UP): If not defined, define as "..".
3133         (standard_bindir_prefix): New static, holds target location to
3134         install binaries.
3135         (split_directories): New function to split a filename into
3136         component directories.
3137         (free_split_directories): New function, release memory allocated
3138         by split_directories.
3139         (make_relative_prefix): New function, make a relative pathname if
3140         the compiler is not in the expected location.
3141         (process_command): If GCC_EXEC_PREFIX was not specified, see if we
3142         can figure out an appropriate prefix from argv[0].
3143         * Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of
3144         STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX.  Define
3145         STANDARD_BINDIR_PREFIX.
3146
3147 Wed Nov 10 11:47:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3148
3149         * config/c4x/c4x-protos.h: New file.  Prototypes for functions defined
3150         in c4x.c.
3151         * config/c4x/c4x.h: Moved prototypes to c4x.h.
3152         * config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class,
3153         c4x_secondary_memory_needed) Delete.
3154         (fp_zero_operand): Add mode argument.
3155
3156 Thu Nov  4 15:52:35 1999  Andrew Haley  <aph@cygnus.com>
3157
3158         * reload1.c (reload_reg_free_for_value_p): Don't use a register
3159         that is in reload_reg_used.
3160
3161 Tue Nov  9 16:43:00 1999  Nick Clifton  <nickc@cygnus.com>
3162
3163         * config/arm/arm-protos.h: New file: Prototypes for functions
3164         defined in arm.c and pe.c.
3165         * config/arm/arm.h: Fix compile time warnings.
3166         * config/arm/arm.c: Fix compile time warnings.
3167         * config/arm/pe.h: Fix compile time warnings.
3168         * config/arm/aout.h: Fix compile time warnings.
3169
3170 Tue Nov  9 14:55:44 1999  Nick Clifton  <nickc@cygnus.com>
3171
3172         * config/m32r/m32r-protos.h: New file: Prototypes for functions
3173         defined in m32r.c
3174         
3175         * config/m32r/m32r.h: Move prototypes to m32r-protos.h
3176         Add support for subtargets.
3177         Add prototypes for new predicates.
3178         Add scheduling macros.
3179         
3180         * config/m32r/m32r.c: Fix compile time warnings.
3181         (int8_operand): New predicate function.
3182         (reg_or_cmp_int16_operand): New predicate function.
3183         (extend_operand): New predicate function.
3184         (m32r_adjust_code): New scheduling function.
3185         (m32r_adjust_priorty): New scheduling function.
3186         (m32r_sched_init): New scheduling function.
3187         (m32r_sched_reorder): New scheduling function.
3188         (m32r_sched_variable_issue): New scheduling function.
3189         (direct_return): New codegen function.
3190         (m32r_not_same_reg): New rtl testsing function.
3191         
3192         * config/m32r/m32r.md: Fix compile time warnings.
3193         Add support for pre decrement and post increment memory
3194         references.
3195         Add S<cc> patterns.
3196         Add fabs patterns.
3197         
3198 Mon Nov  8 22:20:13 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3199
3200         * global.c (EXECUTE_IF_CONFLICT): Don't define.
3201         (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
3202         (find_reg): Likewise.
3203
3204 Mon Nov  8 13:16:46 1999  Jason Eckhardt  <jle@cygnus.com>
3205
3206         * config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0
3207         to avoid assembler errors.
3208
3209 Mon Nov  8 15:38:41 1999  Nick Clifton  <nickc@cygnus.com>
3210
3211         * config/v850/v850-protos.h: New file: Prototypes for functions
3212         defined in v850.c
3213         * config/v850/v850.h: Move prototypes to v850-protos.h
3214         * config/v850/v850.c: Move prototypes to v850-protos.h
3215         * config/v850/v850.md: Fix compile time warnings.
3216
3217         * config/fr30/fr30-protos.h: New file: Prototypes for functions
3218         defined in fr30.c
3219         * config/fr30/fr30.h: Move prototypes to fr30-protos.h
3220         * config/fr30/fr30.c: Fix compile time warnings.
3221         * config/fr30/fr30.md: Fix compile time warnings.
3222
3223 Mon Nov  8 07:25:37 1999  Mark Mitchell  <mark@codesourcery.com>
3224
3225         * tree.h (get_containing_scope): Declare it.
3226         * tree.c (get_containing_scope): New fucntion.
3227         (decl_function_context): Use it.
3228         * toplev.c (rest_of_compilation): Use get_containing_scope.
3229
3230 aMon Nov  8 03:03:07 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
3231
3232         * Makefile.in (rtl.o): Depend on toplev.h.
3233
3234 Sun Nov  7 20:55:14 1999  Mark Mitchell  <mark@codesourcery.com>
3235
3236         * cse.c (delete_trivially_dead_insns): Replace alloca with
3237         xmalloc/xcalloc.
3238         * except.c (update_rethrow_references): Likewise.
3239         (init_eh_nesting_info): Likewise.
3240         * function.c (identify_blocks): Likewise.
3241         * gcse.c (dump_hash_table): Likewise.
3242         * graph.c (print_rtl_graph_with_bb): Likewise.
3243         * loop.c (combine_movables): Likewise.
3244         (move_movables): Likewise.
3245         (count_loop_regs_set): Likewise.
3246         (strength_reduce): Likewise.
3247         * profile.c (compute_branch_probabilities): New function, split
3248         out from ...
3249         (branch_prob): Here.  Replace alloca with xmalloc/xcalloc.
3250         * regclass.c (regclass): Likewise.
3251         * regmove.c (regmove_optimize): Likewise.
3252         * toplev.c (compile_file): Likewise.
3253         (main): Don't mess with the stack rlimit.
3254         
3255 Sun Nov  7 19:41:17 1999  Catherine Moore  <clm@cygnus.com>
3256
3257         * config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define.
3258         (ASM_DECLARE_FUNCTION_SIZE): Conditionally define.
3259
3260 Sun Nov  7 10:23:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
3261
3262         * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns.
3263
3264 Sun Nov  7 02:58:48 1999  Jeffrey A Law  (law@cygnus.com)
3265
3266         * global.c (EXECUTE_IF_CONFLICT): Undo Robert's change.
3267         (EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in
3268         macro expansion.
3269
3270 Sat Nov  6 23:48:30 1999  Robert Lipe  (robertlipe@usa.net)
3271
3272         * global.c (EXECUTE_IF_CONFLICT): Correct quoting typo.
3273
3274 Sat Nov  6 17:34:39 1999  Jeffrey A Law  (law@cygnus.com)
3275
3276         * gcse.c (post_dominators): Kill.
3277         (alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators.
3278         (compute_code_hoist_data): Use compute_flow_dominators.  Do not
3279         pass in a pdom array since we do not need pdoms.
3280         * haifa-sched.c (schedule_insns): Similarly.
3281         * flow.c (compute_dominators): Remove dead function.
3282         (compute_flow_dominators): Do not compute doms or pdoms if the
3283         caller does not request them.  Split up loop to build doms and
3284         pdoms.  Use a worklist to compute doms and pdoms.
3285         * basic-block.h (compute_dominators): Remove prototype.
3286
3287 Sat Nov  6 11:38:39 1999  Richard Henderson  <rth@cygnus.com>
3288
3289         * haifa-sched.c (struct haifa_insn_data, h_i_d): New.
3290         (insn_luid, insn_priority, insn_costs, insn_units): Remove.
3291         (insn_reg_weight, insn_depend, insn_dep_count): Remove.
3292         (insn_blockage, insn_ref_count, line_note, insn_tick): Remove.
3293         (cant_move, fed_by_spec_load, is_load_insn): Remove.
3294         (schedule_region): Remove unused variable.
3295         (schedule_insns): Allocate h_i_d, and not all the separate arrays.
3296
3297 Sat Nov  6 10:00:34 1999  Mark Mitchell  <mark@codesourcery.com>
3298
3299         * local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca.
3300         (update_equiv_regs): Likewise.
3301         (block_alloc): Likewise.
3302         * reg-stack.c (reg_to_stack): Likewise.
3303         (convert_regs_2): Likewise.
3304         * reload1.c (reload_as_needed): Likewise.
3305         
3306 Sat Nov  6 09:57:59 1999  Mark Mitchell  <mark@codesourcery.com>
3307
3308         * Makefile.in (dbxout.o): Depend on ggc.h.
3309         (dwarf2out.o): Likewise.
3310         (xcoffout.o): Likewise.
3311         * dbxout.c: Include ggc.h.
3312         (dbxout_init): Register lastfile as a root.
3313         * dwarf2out.c: Include ggc.h.
3314         (dwarf2out_line): Register lastfile as a root.
3315         * xcoffout.c: Include ggc.h.
3316         (xcoffout_source_line): Register xcoff_lastfile as a root.
3317
3318 Sat Nov  6 09:52:09 1999  Richard Henderson  <rth@cygnus.com>
3319
3320         * i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
3321
3322 Sat Nov  6 07:48:59 1999  Catherine Moore  <clm@cygnus.com>
3323
3324         * config/svr4.h (ASM_DECLARE_FUNCTION): Check if already
3325         defined.
3326         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
3327
3328 Fri Nov  5 18:33:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3329
3330         * global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro.
3331         (EXECUTE_IF_CONFLICT): Likewise.
3332         (ALLOCNO_LIVE_P): Avoid signed division.
3333         (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise.
3334         (prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT.
3335         (record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET.
3336
3337 Fri Nov  5 12:04:02 1999  Richard Henderson  <rth@cygnus.com>
3338
3339         * haifa-sched.c (schedule_block): Don't crash if there's no
3340         next insn for an interblock movement.
3341         (add_branch_dependences): Don't allow clobber insns to move either.
3342
3343 Fri Nov  5 10:18:11 1999  Richard Henderson  <rth@cygnus.com>
3344
3345         * i386.c (split_xf): New.
3346         * i386-protos.h: Declare it.
3347         * i386.md (movxf_1): Add general regs alternatives.
3348         (movxf_1+1): New splitter for same.
3349
3350 Fri Nov  5 12:05:52 1999  Nick Clifton  <nickc@cygnus.com>
3351
3352         * function.c (purge_addressof_1): Add missing return values.
3353
3354 Fri Nov  5 10:07:25 1999  Nick Clifton  <nickc@cygnus.com>
3355
3356         * function.c (is_addressof): New function.  Returns true if
3357         the given piece of RTL is an ADDRESSOF.
3358         (purge_addressof_1): Make boolean.  Return false if the
3359         ADDRESSOFs could not be purged.
3360         (purge_addressof): If ADDRESSOFs could not be purged from the
3361         notes attached to an insn, remove the offending note(s),
3362         unless they are attached to a libcall.
3363
3364 1999-11-05  Andreas Jaeger  <aj@suse.de>
3365
3366         * genoutput.c (null_operand =): Initialize all fields.
3367
3368         * errors.h: Add extern to prototypes.
3369
3370 Fri Nov  5 01:44:09 1999  Jeffrey A Law  (law@cygnus.com)
3371
3372         * configure.in (m68k-next-nextstep4): Handle Openstep 4.2.
3373         * configure: Rebuilt.
3374
3375 Fri Nov  5 01:24:37 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3376
3377         * global.c (CONFLICTP, SET_CONFLICT): Avoid signed division.
3378         (mirror_conflicts): New function.
3379         (global_alloc): Call it.
3380         (expand_preferences): Remove redundant CONFLICTP test.
3381         (find_reg, dump_conflicts): Likewise.
3382         (prune_preferences): Process conflicts one word at a time.
3383
3384 Fri Nov  5 01:05:21 1999  Richard Henderson <rth@cygnus.com>
3385
3386         * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP
3387         instead of an explicit loop.
3388
3389 Thu Nov  4 23:07:14 1999  Jim Wilson  <wilson@cygnus.com>
3390
3391         * cse.c (cse_insn): Revert Oct 31 change.  When computing src_elt,
3392         if REG_RETVAL check succeeds, then put classp in src_elt.
3393
3394 Thu Nov  4 23:48:14 1999  Jeffrey A Law  (law@cygnus.com)
3395
3396         * function.c (pad_to_arg_alignment): Only update argument_pad
3397         if the argument's alignment is greater than STACK_BOUNDARY.
3398
3399 Thu Nov  4 16:44:53 1999  Richard Henderson  <rth@cygnus.com>
3400
3401         * bitmap.h (BITMAP_XFREE): New.
3402         * flow.c (life_analysis): Use it.
3403         (life_analysis_1): Free blocks.
3404
3405         * combine.c (undo_commit): New.
3406         (try_combine): Use it.  Don't zap undobuf.undos.
3407         (combine_instructions): Don't zap undobuf.undos; free the
3408         undobuf.frees list.
3409
3410         * local-alloc.c (local_alloc): Free qty_phys_num_sugg.
3411
3412         * stmt.c (cost_table_): New.
3413         (estimate_case_costs): Use it instead of xmalloc.
3414
3415         * toplev.c (compile_file): Reuse dumpname memory instead
3416         of strdup'ing it.
3417
3418 Thu Nov  4 16:36:44 1999  Richard Henderson  <rth@cygnus.com>
3419
3420         * reg-stack.c (convert_regs_1): Initialize target_stack->top
3421         after verifying an EH edge.
3422
3423         * haifa-sched.c (init_rgn_data_dependences): Correctly
3424         size bb_pending_lists_length when zeroing.
3425
3426 Thu Nov  4 16:36:36 1999  Richard Henderson  <rth@cygnus.com>
3427
3428         * function.c (diddle_return_value): New.
3429         (expand_function_end): Use it.
3430         * stmt.c (expand_null_return): Likewise.
3431         (expand_value_return): Likewise.
3432
3433         * reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level.
3434
3435         * reload1.c (reload): Don't remove return value clobbers.
3436
3437 Thu Nov  4 13:33:46 1999  Richard Henderson  <rth@cygnus.com>
3438
3439         * rtl.c (read_rtx): Use fatal_with_file_and_line not fatal.
3440
3441 Thu Nov  4 12:49:52 1999  Richard Henderson  <rth@cygnus.com>
3442
3443         * cse.c (cse_main): Use xmalloc, not alloca.
3444         (cse_basic_block): Likewise.
3445         * local-alloc.c (local_alloc): Likewise.
3446
3447 Thu Nov  4 14:22:12 1999  David Billinghurst  <David.Billinghurst@riotinto.com.au>