OSDN Git Service

* pe.c (arm_pe_unique_section): Const-ify.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * pe.c (arm_pe_unique_section): Const-ify.
4         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5         (switch_to_section): Add static prototype.
6
7         * output.h (drectve_section): Prototype.
8
9 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10
11         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
12         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
13         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
14         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
15         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
16         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
17         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
18         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
19         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
20         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
21         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
22         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
23         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
24         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
25         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
26         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
27         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
28         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
29         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
30         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
31         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
32         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
33         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
34         cris-*-none, cris-*-linux*: Update ${tmfile} list.
35         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
36         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
37         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
38         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
39         v850-*-*): Delete superflous ${cpu_type} setting.
40         * config/linux.h: Delete svr4.h include.
41         (SET_ASM_OP): Delete.
42         * config/netware.h (INT_ASM_OP): Undef before define.
43         * config/ptx4.h: Delete elfos.h include.
44         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
45         * config/svr4.h: Delete elfos.h include. Update commentary.
46         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
47         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
48         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
49         config/v850/v850.h: Delete svr4.h include.
50         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
51         config/m68k/m68kv4.h, config/m88k/sysv4.h,
52         config/sparc/sysv4.h: Update includes.
53         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
54         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
55         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
56         config/m88k/dguxbcs.h: Delete includes.
57         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
58         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
59         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
60         it.
61         * config/m88k/dgux.h: Delete include.
62         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
63         defining it.
64         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
65         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
66         * config/sh/elf.h: Update include.
67         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
68         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
69
70 2001-10-19  Catherine Moore  <clm@redhat.com>
71
72         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
73         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
74         base and count fields.
75         (stormy16_expand_builtin_va_start):  last_reg_count changed to
76         size_of_reg_args.  Use count + size in first comparison.
77
78 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
79
80         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
81         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
82         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
83         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
84         Set alignment from type if INDIRECT_REF.
85         (adjust_address_1, offset_address): Simplify alignment compuitation.
86         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
87         here; done by set_mem_attributes.
88
89 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
90
91         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
92         * arm-protos.h (rdata_section, zero_init_section, common_section):
93         Prototype.
94         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
95         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
96         traditional mode stringification.
97         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
98         in macros controling its use.
99         * rtlanal.c: Include tm_p.h.
100         * varasm.c (asm_output_aligned_bss): Mark parameter with
101         ATTRIBUTE_UNUSED.
102         (assemble_constant_align, assemble_start_function, assemble_align,
103         assemble_variable, assemble_trampoline_template,
104         output_constant_def_contents): Wrap potentially empty if-stmt body
105         in brackets.
106
107 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
108
109         * a29k-protos.h (literal_section): Prototype.
110         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
111         * a29k.md: Ensure function pointers are prototyped.
112         * genattrtab.c (write_eligible_delay): Mark parameter with
113         ATTRIBUTE_UNUSED.
114
115 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
116
117         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
118         * 1750a.c (print_operand): Fix format specifier warning.
119         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
120         * 1750a.md: Likewise.
121         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
122         * genemit.c (output_add_clobbers): Mark parameter with
123         ATTRIBUTE_UNUSED.
124         * genrecog.c (write_subroutine): Likewise.
125         * integrate.c (expand_inline_function): Delete unused variable.
126         * varasm.c (remove_from_pending_weak_list): Wrap with
127         ASM_WEAKEN_LABEL.
128
129 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
130
131         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
132         field is different to previous argument's neg field.
133
134         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
135
136 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
137
138         * final.c (get_decl_from_op): New function.
139         (output_asm_insn): Call it; write "*" when item with decl is address.
140
141 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
142
143         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
144         about 64-bit support from the 3.0_branch version.
145
146 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
147
148         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
149         USE_INCLUDED_LIBINTL when appropriate.
150         * configure, config.in: Regenerate.
151         * Makefile.in (datadir): Set to @datadir@.
152         (intl.o): Also depend on $(CONFIG_H) and system.h.
153
154         * intl.c: Factor out common gettext initialization sequence.
155         (gcc_init_libintl):  New function.
156         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
157         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
158         off NLS.  Add multiple include guard.  No need to #ifdef-guard
159         an #undef.  Prototype gcc_init_libintl here.
160
161         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
162         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
163         Use gcc_init_libintl.
164
165 2001-10-19  Catherine Moore  <clm@redhat.com>
166
167         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
168
169         * config/stormy16/stormy16.c (stormy16_split_move):  Make
170         sure that REG_INC notes are present for auto_inc operands.
171
172 2001-10-19  Andreas Jaeger  <aj@suse.de>
173
174         * configure: Regenerated.
175         * configure.in: Add x86_64 to switch statements.
176
177 2001-10-18  Richard Henderson  <rth@redhat.com>
178
179         * config/alpha/alpha.md (sibcall_osf_1): Load destination
180         address into $27 explicitly.
181         (sibcall_value_osf_1): Likewise.
182
183 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
184
185         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
186         (offset_address): New function.
187         (free_emit_status): Free regno_decl.
188         (init_emit): Pass proper number of elements to xcalloc.
189         Allocate regno_decl.
190         (mark_emit_status): Mark regno_decl values.
191         * expr.c (highest_pow2_factor): New function.
192         (expand_assigment): Use it and offset_address.
193         Properly handle ptr_mode vs. Pmode in offset calculation.
194         (store_constructor, expand_expr_unaligned): Likewise.
195         (expand_expr, case COMPONENT_EXPR): Likewise.
196         * expr.h (offset_address): New decl.
197         * function.h (struct emit_status): Add regno_decl.
198         (REGNO_DECL): New macro.
199         * final.c (output_asm_name): Move in file and don't conditionalize
200         on flag_print_asm_name.
201         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
202         Output names of operands, if known.
203         * function.c (assign_parms): Set REGNO_DECL.
204         * integrate.c (integrate_decl_tree): Likewise.
205         * stmt.c (expand_decl): Likewise.
206         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
207
208 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
209
210         * attribs.c (handle_noinline_attribute): New function.
211         (handle_used_attribute): Likewise.
212         (c_common_attribute_table): Added noinline and used.
213         * doc/extend.texi (Function Attributes): Document them.
214         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
215         Warn when merging inline with attribute noinline.
216         (start_decl, start_function): Warn if inline and attribute
217         noinline appear in the same declaration.
218
219 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
220
221         * config.gcc: Update c4x and i370 for C front end-specific
222         dependencies.
223         * config/c4x/c4x-c.c: New.
224         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
225         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
226         New declarations.
227         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
228         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
229         Make extern.
230         (c4x_init_pragma): Remove.
231         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
232         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
233         c4x_pr_ignored): Move to c4x-c.c.
234         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
235         * config/c4x/t-c4x: Update.
236         * config/i370/i370-c.c: New.
237         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
238         (i370_pr_map): Move to i370-c.c.
239         * config/i370/t-i370: New.
240
241         * doc/tm.texi: Update.
242
243 2001-10-17  Stan Shebs  <shebs@apple.com>
244
245         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
246         typo fixes throughout.
247         (machopic_output_stub): Remove some dead code.
248
249 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
250
251         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
252         leak.
253
254 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
255
256         * Makefile.in (print-rtl.o): Depend on TREE_H.
257         * alias.c (get_alias_set): Make two passes over objects to first
258         see if inner object is access via restricted pointer.
259         Defer allocating alias set for restricted pointer until here.
260         Call find_placeholder with second arg nonzero.
261         Minor cleanups.
262         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
263         set for restricted pointer types.
264         * emit-rtl.c (set_mem_attributes): Set more attributes.
265         (set_mem_align, change_address, adjust_address_1): New functions.
266         (change_address_1): Now static.
267         (adjust_address, adjust_address_nv): Deleted.
268         (replace_equiv_address): Call change_address_1.
269         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
270         (find_placeholder): Get starting point from PLIST arg.
271         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
272         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
273         (adjust_address, adjust_address_nv): New macros.
274         * print-rtl.c (tree.h): New include.
275         (print_rtx, case MEM): Print all memory attributes.
276
277 2001-10-17  Richard Henderson  <rth@redhat.com>
278
279         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
280
281 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
282
283         * c-tree.texi: Eliminate duplicated word.
284         * cpp.texi: Likewise.
285         * install.texi: Likewise.
286         * invoke.texi: Likewise.
287         * tm.texi: Likewise.
288
289 2001-10-17  Michael Collison  <collison@isisinc.net>
290
291         * dsp16xx.c: Fix comment formatting to match GNU standards.
292         (dsp16xx_output_function_prologue): Change type of 'size'
293         parameter from 'int' to HOST_WIDE_INT.
294         (dsp16xx_output_function_epilogue): Change type of 'size'
295         parameter from 'int' to HOST_WIDE_INT.
296
297 2001-10-16  Richard Henderson  <rth@redhat.com>
298
299         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
300         * configure, config.in: Rebuild.
301
302         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
303         (ix86_output_addr_diff_elt): New.
304         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
305         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
306         (JUMP_TABLES_IN_TEXT_SECTION): New.
307         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
308         * config/i386/i386-protos.h: Update.
309
310         * config/i386/386bsd.h, config/i386/beos-elf.h,
311         config/i386/freebsd-aout.h, config/i386/freebsd.h,
312         config/i386/i386-interix.h, config/i386/i386elf.h,
313         config/i386/linux.h, config/i386/netbsd-elf.h,
314         config/i386/netbsd.h, config/i386/openbsd.h,
315         config/i386/ptx4-i.h, config/i386/rtemself.h,
316         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
317         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
318
319 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
320
321         * stmt.c (expand_asm_operands): Update commentary.
322
323 2001-10-16  Stan Shebs  <shebs@apple.com>
324
325         * config/darwin.h (GCC_NAME): Remove, no longer used.
326         (NO_MATH_LIBRARY): Ditto.
327         (MATH_LIBRARY): Define to emptiness.
328         (DWARF2_DEBUGGING_INFO): Define.
329         (PREFERRED_DEBUGGING_TYPE): Define.
330         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
331         (EXCEPTION_SECTION): Define.
332         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
333         * config/darwin.c (darwin_encode_section_info): Handle case of
334         DECL_INITIAL being error_mark_node.
335
336 2001-10-16  Richard Henderson  <rth@redhat.com>
337
338         * alpha.c (current_file_function_operand): Don't fail for profiling.
339         (direct_call_operand): New.
340         * alpha-protos.h: Declare it.
341         * alpha.h (EXTRA_CONSTRAINT): Use it.
342         (PREDICATE_CODES): Add it.
343         (ASM_OUTPUT_MI_THUNK): Remove.
344         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
345         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
346
347 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
348
349         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
350         (JUMP_TABLES_IN_TEXT_SECTION): Define.
351
352 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
353
354         * cfg.c (free_edge): Break out from ....
355         (remove_edge): ... here.
356         (clear_edges): Use free_edge.
357
358         * att.h (ASM_QUAD): Add comment.
359         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
360
361 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
362
363         * i386.c (split_ti): New function.
364         (ix86_split_to_parts): Support TImodes.
365         * i386.h (VALID_INT_MODE_P): Add TImode.
366         * i386.md (movdi splitter): Fix.
367         (movti): Support 64bit integer registers.
368         (movti_rex64): New function and splitter.
369
370         * i386.c (*_cost): Add movsx/movzx cost.
371         * i386.h (struct processor_costs): Add movsx/movzx fields.
372         (RTX_COSTS): Handle zero/sign extend + avoid believing that
373         64bit operations require split on 64bit machine.
374         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
375
376         * i386.c (ix86_setup_incomming_varargs): Fix mode of PLUS.
377         (ix86_expand_move): Avoid pushes of memory if size does not match;
378         move long constants to register.
379         (x86_initialize_trampoline): Fix mode.
380         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
381         Use ASM_QUAD on 64bit.
382         * i386.md (test pattern): Disallow impossible constants.
383         (tablejump PIC expander): Fix emitting of sum.
384         (movdicc_rex64): Rename to movdicc.
385         * linux64.h (LINK_SPEC): Add missing '%'.
386
387 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
388
389         * tree-inline.c (inlinable_function_p): Leave it up to the
390         front-end to turn -finline-functions into DECL_INLINE set for all
391         functions.
392
393 2001-10-16  Stan Shebs  <shebs@apple.com>
394
395         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
396
397 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
398
399         * recog.c: Formatting and comment typo fixes.
400
401         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
402         version in single tree build.
403         * configure: Regenerate.
404
405 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
406
407         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
408         MODE arguments to gen_rtx and compare operand with const0_rtx.
409
410 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
411
412         * system.h: Poison old unused target macros.
413         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
414         * config/stormy16/stormy16.c: Update references to obsolete macros.
415         * config/stormy16/stormy16.h: Similarly.
416         * config/stormy16/stormy16.md: Similarly.
417         * config/cris/cris.h: Similarly.
418
419 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
420
421         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
422         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
423         cpp_register_pragma): Update accordingly.
424
425 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
426
427         * c-pragma.h (cpp_register_pragma_space): Remove.
428         * cpplib.h (cpp_register_pragma_space): Remove.
429         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
430         (cpp_register_pragma_space): Remove.
431         (cpp_register_pragma): Simplify using lookup_pragma_entry,
432         add sanity checks.
433         (do_pragma): Similarly.
434         (_cpp_init_internal_pragmas): Don't register namespaces.
435
436         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
437         Don't register namespaces.
438         * cp/lex.c (init_cp_pragma): Similarly.
439         * doc/tm.texi: Update.
440
441 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
442
443         PR c/4157
444         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
445
446 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
447
448         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
449         add scheduling support.
450         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
451         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
452         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
453
454
455 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
456
457         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
458         missing CONSTANT_P test in core GCC.
459
460 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
461
462         * cppmain.c (struct printer): New member source.
463         (scan_translation_unit): Fix spacing at start of lines.
464         (cb_line_change): Update.
465
466         * gcc.dg/cpp/spacing2.c: New test.
467
468 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
469
470         * config/cris/arit.c: Use __builtin_labs, not abs.
471
472         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
473
474         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
475         misplaced sprintf and fprintf argument.
476
477 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
478
479         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
480         * configure.in, Makefile.in: Take out obsolete check-po logic.
481         * configure, config.in: Regenerate.
482
483 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
484
485         * objc/objc-act.c (finish_objc): Correct precondition for emitting
486         symtab declarations.
487
488 2001-10-12  Stan Shebs  <shebs@apple.com>
489
490         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
491         declarations of arguments and local variables.
492
493 2001-10-12  Christopher Faylor  <cgf@redhat.com>
494
495         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
496         ENDFILE_SPEC definition.
497
498 2001-10-12  Kazu Hirata  <kazu@hxi.com>
499
500         * gthr-dce.h: Fix comment formatting.
501         * gthr-posix.h: Likewise.
502         * gthr-single.h: Likewise.
503         * gthr-solaris.h: Likewise.
504         * gthr-vxworks.h: Likewise.
505         * gthr-win32.h: Likewise.
506
507 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
508
509         * final.c (output_asm_insn): Make sure assembly dialects are
510         terminated, not nested.  Output `|' and `}' characters if they
511         don't appear inside assembly dialect selection.
512         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
513         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
514         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
515         strsetsi_rex_1): Add {} braces.
516
517 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
518
519         * toplev.c (compile_file): Ignore return value from yyparse.
520         Always pop any nested binding levels after yyparse returns.
521
522 2001-10-11  Richard Henderson  <rth@redhat.com>
523
524         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
525
526 2001-10-11  Richard Henderson  <rth@redhat.com>
527
528         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
529         fall back to add_AT_long_long for large CONST_INT.
530
531 2001-10-11  Richard Henderson  <rth@redhat.com>
532
533         * config/i386/i386.md (setcc splitters): Add four splitters to
534         simplify compound compares that simplify_comparison can't handle.
535
536 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
537
538         * cpplex.c (digraph_spellings, token_spellings): Make static.
539
540 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
541
542         * unroll.c (loop_iterations): Fixup last patch.
543
544 2001-10-11  Richard Henderson  <rth@redhat.com>
545
546         * rtl.h (REG_VTABLE_REF): New.
547         * rtl.c (reg_note_name): Add it.
548         * combine.c (distribute_notes): Handle it.
549         * final.c (final_scan_insn): Handle it.
550         * tree.def (VTABLE_REF): New.
551         * expr.c (expand_expr): Handle it.
552         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
553         * output.h: Declare them.
554
555 2001-10-11  Richard Henderson  <rth@redhat.com>
556
557         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
558         for a DECL_INITIAL.
559
560 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
561
562         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
563         available in 64-bit mode.
564
565 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
566
567         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
568         cris-*-linux* cases.
569         * config/cris/cris-protos.h: New file.
570         * config/cris/cris.c: New file.
571         * config/cris/cris.h: New file.
572         * config/cris/cris.md: New file.
573         * config/cris/linux.h: New file.
574         * config/cris/aout.h: New file.
575         * config/cris/arit.c: New file.
576         * config/cris/cris_abi_symbol.c: New file.
577         * config/cris/mulsi3.asm: New file.
578         * config/cris/t-aout: New file.
579         * config/cris/t-cris: New file.
580         * config/cris/t-elfmulti: New file.
581         * config/cris/t-linux: New file.
582         * doc/invoke.texi: Add CRIS options.
583         * doc/install.texi (Specific): Add blurb for CRIS.
584
585 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
586
587         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
588         before using it.
589         * config/float/i32.h: Likewise.
590         * config/float-i386.h: Likewise.
591         * config/float-i64.h: Likewise.
592         * config/float-m68k.h: Likewise.
593         * config/float-sh.h: Likewise.
594         * config/float-sparc.h: Likewise.
595
596 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
597
598         * doc/contrib.texi: Add note about CRIS port to my entry.
599
600 2001-10-11  Kazu Hirata  <kazu@hxi.com>
601
602         * basic-block.h: Fix formatting.
603         * bitmap.h: Likewise.
604         * cpplib.h: Likewise.
605         * c-tree.h: Likewise.
606         * diagnostic.h: Likewise.
607         * flags.h: Likewise.
608         * ggc.h: Likewise.
609         * longlong.h: Likewise.
610         * real.h: Likewise.
611         * reload.h: Likewise.
612         * rtl.h: Likewise.
613         * tree.h: Likewise.
614
615 2001-10-10  Richard Henderson  <rth@redhat.com>
616
617         * c-parse.in (asm_operand): Allow named operands.
618         * genconfig.c (max_recog_operands): Set to 29.
619         * local-alloc.c (requires_inout): Skip multiple digits.
620         * recog.c (asm_operand_ok): Likewise.
621         (preprocess_constraints): Use strtoul for matching constraints.
622         (constrain_operands): Likewise.
623         * regmove.c (find_matches): Likewise.
624         * reload.c (find_reloads): Likewise.
625         * stmt.c (parse_output_constraint): Don't reject in-out
626         constraint on operands > 9.  Reject '[' in constraint.
627         (expand_asm_operands): Handle named operands.  Use strtoul
628         for matching constraints.
629         (check_operand_nalternatives): Split out from expand_asm_operands.
630         (check_unique_operand_names): New.
631         (resolve_operand_names, resolve_operand_name_1): New.
632
633         * doc/extend.texi (Extended Asm): Document named operands.
634         * doc/md.texi (Simple Constraints): Document matching constraints
635         on operands > 9.
636
637 2001-10-10  Richard Henderson  <rth@redhat.com>
638
639         * combine.c (try_combine): Handle a SEQUENCE of one insn.
640
641         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
642         (jcc splitters): Add two splitters to simplify compound compares
643         that simplify_comparison can't handle.
644
645 2001-10-10  Richard Henderson  <rth@redhat.com>
646
647         * langhooks.c: Include langhooks.h.
648         * Makefile.in (langhooks.o): Depend on it.
649
650 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
651
652         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
653         should not be considered as a no-op.
654         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
655
656 2001-10-10  Stan Shebs  <shebs@apple.com>
657
658         * alias.c: Remove uses of "register" specifier in declarations
659         of arguments and local variables.
660         * c-common.c: Ditto.
661         * c-convert.c: Ditto.
662         * c-decl.c: Ditto.
663         * c-format.c: Ditto.
664         * c-semantics.c: Ditto.
665         * c-typeck.c: Ditto.
666         * caller-save.c: Ditto.
667         * calls.c: Ditto.
668         * cfg.c: Ditto.
669         * cfgbuild.c: Ditto.
670         * cfgrtl.c: Ditto.
671         * collect2.c: Ditto.
672         * combine.c: Ditto.
673         * convert.c: Ditto.
674         * cppexp.c: Ditto.
675         * cppfiles.c: Ditto.
676         * cse.c: Ditto.
677         * dbxout.c: Ditto.
678         * defaults.h: Ditto.
679         * df.c: Ditto.
680         * dwarf2out.c: Ditto.
681         * dwarfout.c: Ditto.
682         * emit-rtl.c: Ditto.
683         * explow.c: Ditto.
684         * expmed.c: Ditto.
685         * expr.c: Ditto.
686         * final.c: Ditto.
687         * fix-header.c: Ditto.
688         * floatlib.c: Ditto.
689         * flow.c: Ditto.
690         * fold-const.c: Ditto.
691         * function.c: Ditto.
692         * gcc.c: Ditto.
693         * gcse.c: Ditto.
694         * gen-protos.c: Ditto.
695         * genattrtab.c: Ditto.
696         * gencheck.c: Ditto.
697         * genconfig.c: Ditto.
698         * genemit.c: Ditto.
699         * genextract.c: Ditto.
700         * genflags.c: Ditto.
701         * gengenrtl.c: Ditto.
702         * genoutput.c: Ditto.
703         * genpeep.c: Ditto.
704         * genrecog.c: Ditto.
705         * gensupport.c: Ditto.
706         * global.c: Ditto.
707         * gmon.c: Ditto.
708         * graph.c: Ditto.
709         * haifa-sched.c: Ditto.
710         * hard-reg-set.h: Ditto.
711         * hash.c: Ditto.
712         * integrate.c: Ditto.
713         * jump.c: Ditto.
714         * lists.c: Ditto.
715         * local-alloc.c: Ditto.
716         * loop.c: Ditto.
717         * mips-tdump.c: Ditto.
718         * mips-tfile.c: Ditto.
719         * optabs.c: Ditto.
720         * prefix.c: Ditto.
721         * print-rtl.c: Ditto.
722         * read-rtl.c: Ditto.
723         * real.c: Ditto.
724         * recog.c: Ditto.
725         * reg-stack.c: Ditto.
726         * regclass.c: Ditto.
727         * regmove.c: Ditto.
728         * reload.c: Ditto.
729         * reload1.c: Ditto.
730         * reorg.c: Ditto.
731         * resource.c: Ditto.
732         * rtl.c: Ditto.
733         * rtlanal.c: Ditto.
734         * scan.c: Ditto.
735         * sched-deps.c: Ditto.
736         * sched-rgn.c: Ditto.
737         * sdbout.c: Ditto.
738         * simplify-rtx.c: Ditto.
739         * stmt.c: Ditto.
740         * stor-layout.c: Ditto.
741         * toplev.c: Ditto.
742         * tradcif.y: Ditto.
743         * tradcpp.c: Ditto.
744         * tree.c: Ditto.
745         * unroll.c: Ditto.
746         * varasm.c: Ditto.
747         * xcoffout.c: Ditto.
748
749 2001-10-10  Richard Henderson  <rth@redhat.com>
750
751         * rtl.h (can_reverse_comparison_p): Remove.
752
753 2001-10-10  Christopher Faylor <cgf@redhat.com>
754
755         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
756         used.
757
758 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
759
760         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
761         (Thanks to Chris Faylor for suggesting macro name).
762         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
763         WIN32 defines.
764         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
765         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
766         (MATH_LIBRARY): Undef before definition.
767         (OUTPUT_QUOTED_STRING): Likewise.
768         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
769
770 2001-10-10  Richard Henderson  <rth@redhat.com>
771
772         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
773         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
774         a tristate comparison value.
775         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
776
777 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
778
779         PR c++/4512
780         * unroll.c (loop_iterations): Ignore insns generated by loop
781         unrolling.
782
783         * config.gcc (mips*-*-gnu*): Delete support.
784         * config/mips/gnu.h: Remove.
785
786 2001-10-10  Kazu Hirata  <kazu@hxi.com>
787
788         * calls.c: Fix formatting.
789         * c-decl.c: Likewise.
790         * cfgcleanup.c: Likewise.
791         * combine.c: Likewise.
792         * cppfiles.c: Likewise.
793         * cpplib.c: Likewise.
794         * cppmacro.c: Likewise.
795         * crtstuff.c: Likewise.
796         * cse.c: Likewise.
797         * dwarf2out.c: Likewise.
798         * expmed.c: Likewise.
799         * expr.c: Likewise.
800         * fold-const.c: Likewise.
801         * function.c: Likewise.
802         * gcse.c: Likewise.
803         * genattrtab.c: Likewise.
804         * ggc-page.c: Likewise.
805         * integrate.c: Likewise.
806         * libgcc2.c: Likewise.
807         * loop.c: Likewise.
808         * optabs.c: Likewise.
809         * profile.c: Likewise.
810         * protoize.c: Likewise.
811         * real.c: Likewise.
812         * recog.c: Likewise.
813         * reload1.c: Likewise.
814         * reload.c: Likewise.
815         * reorg.c: Likewise.
816         * resource.c: Likewise.
817         * sched-rgn.c: Likewise.
818         * sdbout.c: Likewise.
819         * stmt.c: Likewise.
820         * toplev.c: Likewise.
821         * varasm.c: Likewise.
822
823 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
824
825         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
826         * Makefile.in (langhooks.o): Add dependencies.
827
828 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
829
830         * rs6000.c (rs6000_emit_load_toc_table): Don't
831         strdup the toc label.
832         (create_TOC_reference): Likewise.
833
834 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
835
836         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
837         version default.
838
839 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
840
841         * config/i386/i386.c (ix86_attribute_table): Correct
842         min_len, max_len fields for dllimport, dllexport and shared.
843
844 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
845
846         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
847         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
848         Consistently use "nonzero" instead of "non-zero".
849
850 2001-10-09  Kazu Hirata  <kazu@hxi.com>
851
852         * acconfig.h: Fix comment formatting.
853         * c-dump.h: Likewise.
854         * c-tree.h: Likewise.
855         * conditions.h: Likewise.
856         * expr.h: Likewise.
857         * function.h: Likewise.
858         * gthr.h: Likewise.
859         * hwint.h: Likewise.
860         * integrate.h: Likewise.
861         * intl.h: Likewise.
862         * loop.h: Likewise.
863         * optabs.h: Likewise.
864
865 2001-10-09  Kazu Hirata  <kazu@hxi.com>
866
867         * c-common.h: Fix comment formatting.
868         * c-dump.c: Likewise.
869         * cfg.c: Likewise.
870         * diagnostic.h: Likewise.
871         * except.c: Likewise.
872         * gcc.h: Likewise.
873         * gcov-io.h: Likewise.
874         * genattrtab.c: Likewise.
875         * output.h: Likewise.
876         * predict.h: Likewise.
877         * reload1.c: Likewise.
878         * reload.h: Likewise.
879         * resource.h: Likewise.
880         * scan.h: Likewise.
881         * system.h: Likewise.
882         * tree.h: Likewise.
883         * tree-inline.c: Likewise.
884         * tsystem.h: Likewise.
885         * varasm.c: Likewise.
886         * xcoffout.h: Likewise.
887
888 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
889
890         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
891
892 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
893
894         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
895         config/i386/i386elf.h, config/i386/netbsd-elf.h,
896         config/i386/netware.h, config/mcore/gfloat.h,
897         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
898         config/netware.h, gccbug.in: Update FSF address.
899
900 2001-10-09  Kazu Hirata  <kazu@hxi.com>
901
902         * c-common.c: Fix comment typos.
903         * cfgrtl.c: Likewise.
904         * collect2.c: Likewise.
905         * cpplex.c: Likewise.
906         * doloop.c: Likewise.
907         * dwarf2out.c: Likewise.
908         * dwarfout.c: Likewise.
909         * expr.c: Likewise.
910         * fold-const.c: Likewise.
911         * gcc.c: Likewise.
912         * gcov.c: Likewise.
913         * gcse.c: Likewise.
914         * global.c: Likewise.
915         * ifcvt.c: Likewise.
916         * loop.c: Likewise.
917         * optabs.c: Likewise.
918         * protoize.c: Likewise.
919         * regclass.c: Likewise.
920         * reorg.c: Likewise.
921         * rtl.h: Likewise.
922         * stmt.c: Likewise.
923         * tree.h: Likewise.
924         * doc/cpp.texi: Likewise.
925         * doc/c-tree.texi: Likewise.
926         * doc/extend.texi: Likewise.
927         * doc/invoke.texi: Likewise.
928         * doc/objc.texi: Likewise.
929         * doc/tm.texi: Likewise.
930
931 2001-10-08  Richard Henderson  <rth@redhat.com>
932
933         * varasm.c (set_named_section_flags): Initialize "declared".
934
935 2001-10-08  Robert Lipe  <robertlipe@usa.net>
936
937         * varasm.c (struct in_named_entry): Add declared.
938         (named_section_first_declaration): New function.
939         (default_elf_asm_named_section): Use it.
940         * output.h (named_section_first_declaration): New.
941
942 2001-10-08  Richard Henderson  <rth@redhat.com>
943
944         * i386.md (movsi_xor): Export.
945         (setcc peep2): Use it when available; add an alternative to
946         match zero_extendhisi2_and.
947
948 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
949
950         * romp-protos.h (romp_initialize_trampoline): New function.
951         * romp.c (romp_initialize_trampoline): Likewise.
952         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
953         romp_initialize_trampoline.
954
955 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
956
957         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
958         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
959         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
960         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
961
962 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
963
964         * unroll.c (loop_iterations): Extend check for multiple back edges.
965
966 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
967
968         * langhooks.h: New file.
969         * Makefile.in (OBJS): Added langhooks.o.
970         (c-lang.o): Depend on langhooks.h.
971         (c-common.o): Don't depend on tree-inline.h.
972         (tree-inline.o): Depend on toplev.h.
973         (langhooks.o): New rule.
974         * c-common.c: Don't include tree-inline.h.
975         (c_mark_lang_decl): Mark argument c as unused.
976         (c_common_lang_init): Don't initialize hooks here.
977         * c-lang.c: Include langhooks.h, then override some macros.
978         (lang_hooks): Initialize with macros in langhooks.h.
979         (c_init): Don't initialize hooks here.
980         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
981         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
982         * tree-inline.c: Include toplev.h.  Don't define hook variables.
983         * tree-inline.h: Don't define hook types nor declare hook
984         variables.  Move macros to...
985         * langhooks.c: ... new file, as functions.  Adjust all callers.
986
987 2001-10-08  Jeffrey A Law  <law@cygnus.com>
988
989         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
990         purge_mem_unchanging_flag on all instructions, not just on those
991         before NOTE_INSN_FUNCTION_BEG.
992
993 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
994
995         * cppmacro.c (_cpp_create_definition): Leave comments off.
996
997         * doc/cpp.texi: Update.
998
999 2001-10-08  DJ Delorie  <dj@redhat.com>
1000
1001         * c-decl.c (grokfield): Make sure the only unnamed fields
1002         we're allowing are either structs or unions.
1003         * doc/extend.texi: Add documentation for the unnamed field
1004         extension.
1005
1006 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
1007
1008         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
1009         * configure.in: Use it.
1010         * configure: Regenerated.
1011         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
1012         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
1013
1014 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1015
1016         * cppfiles.c (open_file): Don't mark zero-length files
1017         never-reread here.  Don't output diagnostics here either.
1018         (stack_include_file): Mark them never-reread here.
1019         (_cpp_read_file): Update.
1020
1021 2001-10-08  Richard Henderson  <rth@redhat.com>
1022
1023         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
1024
1025 2001-10-08  Richard Henderson  <rth@redhat.com>
1026
1027         * expr.c (store_expr): When converting a CONST_INT for storage
1028         in a SUBREG, convert it to both SUBREG modes before stripping
1029         the SUBREG.
1030
1031 2001-10-08  Richard Henderson  <rth@redhat.com>
1032
1033         * varasm.c (restore_varasm_status): New.
1034         * function.h: Declare it.
1035         * function.c (pop_function_context_from): Call it.
1036
1037 2001-10-08  Richard Henderson  <rth@redhat.com>
1038
1039         * c-common.h (struct c_lang_decl): Add declared_inline.
1040         * c-tree.h (DECL_DECLARED_INLINE_P): New.
1041         * c-lang.c (c_disregard_inline_limits): Use it.
1042         * c-decl.c (duplicate_decls): Likewise.
1043         (pushdecl, redeclaration_error_message): Likewise.
1044         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
1045         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
1046         Set DECL_INLINE if -finline-functions.
1047         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
1048
1049 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1050
1051         * cppmacro.c (funlike_invocation_p): Move some logic to caller
1052         in enter_macro_context.  Create a padding token in its own context
1053         if necessary when the search for '(' fails.
1054         (enter_macro_context): Update.
1055
1056 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1057
1058         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
1059         genmultilib, toplev.c: Fix spelling errors of "separate" as
1060         "seperate", and corresponding spelling errors of related words.
1061
1062 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1063
1064         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
1065         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
1066         Likewise.
1067         * c-dump.c (dump_option_value_info): Likewise.
1068         * c-format.c (format_length_info, format_char_info,
1069         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
1070         * collect2.c (names): Likewise.
1071         * cppdefault.h (default_include): Likewise.
1072         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
1073         * flow.c (life_analysis): Likewise.
1074         * gcc.c (dir_separator_str, modify_target, option_map,
1075         target_option_translations, spec_list_1, extra_specs_1,
1076         init_spec): Likewise.
1077         * gcov.c (gcov_version_string): Likewise.
1078         * genattr.c (write_units): Likewise.
1079         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
1080         * gengenrtl.c (rtx_definition, defs): Likewise.
1081         * genrecog.c (pred_table): Likewise.
1082         * global.c (global_alloc): Likewise.
1083         * lcm.c (optimize_mode_switching): Likewise.
1084         * local-alloc.c (find_free_reg): Likewise.
1085         * params.h (param_info): Likewise.
1086         * predict.c (predictor_info): Likewise.
1087         * protoize.c (unexpansion_struct): Likewise.
1088         * real.c (bmask): Likewise.
1089         * recog.h (insn_operand_data, insn_data): Likewise.
1090         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
1091         * stmt.c (expand_nl_goto_receiver): Likewise.
1092         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
1093         target_switches, target_options): Likewise.
1094         * tradcif.y (token, tokentab2, yylex): Likewise.
1095         * tree.h (attribute_spec): Likewise.
1096
1097         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
1098         Likewise.
1099         * arc.c (arc_output_function_epilogue): Likewise.
1100         * arm.c (processors, all_cores, all_architectures,
1101         arm_override_options, isr_attribute_arg, isr_attribute_args,
1102         arm_isr_value): Likewise.
1103         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
1104         Likewise.
1105         * c4x.c (c4x_int_reglist): Likewise.
1106         * d30v.c (override_options): Likewise.
1107         * h8300.c (shift_insn): Likewise.
1108         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
1109         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
1110         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
1111         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
1112         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
1113         * i386.h (processor_costs, ix86_cost): Likewise.
1114         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
1115         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
1116         * m68k.c (codes_68881, codes_FPA): Likewise.
1117         * m88k.c (mode_from_align, max_from_align, all_from_align,
1118         best_from_align, m_options): Likewise.
1119         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
1120         * mcore.c (mode_from_align): Likewise.
1121         * mips/elf64.h (UNIQUE_SECTION): Likewise.
1122         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
1123         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
1124         * mips.h (mips_regno_to_class): Likewise.
1125         * ns32k.c (scales): Likewise.
1126         * pa.c (import_string, magic_milli): Likewise.
1127         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
1128         * sparc.c (leaf_reg_remap, sparc_override_options,
1129         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
1130         Likewise.
1131         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
1132
1133 2001-10-07  Dale Johannesen  <dalej@apple.com>
1134
1135         * reload1.c (reload_reg_free_p): Teach register interference
1136         checking that multiple output reloads are emitted in
1137         reverse order.
1138         reload1.c (reload_reg_reaches_end_p):  Ditto.
1139         reload1.c (reloads_conflict):  Ditto.
1140
1141 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1142
1143         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
1144         NULL_TREE inside @code.
1145
1146 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1147
1148         * doc/gcc.texi: Document consistent style of "32-bit",
1149         "Objective-C", and "@code{NULL}".
1150
1151 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
1152
1153         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
1154         (cpp_token_len, cpp_spell_token, cpp_output_token,
1155         _cpp_equiv_tokens): Handle it.
1156         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
1157         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
1158         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
1159         error messages.
1160
1161 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1162
1163         * gcc.c (default_compilers): Remove .ada.
1164
1165 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1166
1167         * doc/cppinternals.texi: Update.
1168
1169 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
1170
1171         * gcc.c (main): Set this_file_error if the appropriate
1172         compiler for a language has not been installed.
1173
1174 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
1175
1176         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
1177
1178 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
1179
1180         * gccbug.in (CATEGORIES): Add ada.
1181
1182 2001-10-05  Catherine Moore  <clm@redhat.com>
1183
1184         * config/stormy16/stormy-abi:  Document abi changes.
1185         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
1186         (ICALL_REGS): New register class.
1187         (NUM_ARGUMENT_REGISTERS): Now 6.
1188         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
1189         in registers.
1190         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
1191         * config/stormy16.md (call_internal, call_value_internal,
1192         indirect_jump): Use new 'z' constraint.
1193
1194 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1195
1196         * doc/cppinternals.texi: Update.
1197
1198 2001-10-05  Richard Henderson  <rth@redhat.com>
1199
1200         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
1201         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
1202         the gas section-name-as-label feature.
1203
1204 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1205
1206         * doc/cppinternals.texi: Update.
1207
1208 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1209
1210         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
1211         to ensure valid SImode constants.
1212
1213 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
1214
1215         * Makefile.in (c-decl.o): Depend on tree-inline.h.
1216         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
1217         * c-decl.c: Include tree-inline.h.
1218         (c_expand_body): Call optimize_inline_calls. Determine whether
1219         a function is inlinable upfront, and only clear
1220         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
1221         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
1222         (c_disregard_inline_limits): New function.
1223         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
1224         (c_post_options): Enable tree inlining if inlining is enabled.
1225         Don't inline trees when instrumenting functions.
1226         (c_init): Initialize lang_disregard_inline_limits and
1227         lang_cannot_inline_tree_fn.
1228         * tree-inline.c (initialize_inlined_parameters): Handle calls
1229         with fewer arguments than declared parameters, and fewer
1230         parameters than passed arguments.  Don't assume value is a
1231         DECL.
1232         (declare_return_variable): Convert return value back to the
1233         original type, if it was promoted.
1234         (tree_inlinable_function_p): New function.
1235         (inlinable_function_p): Don't look at DECL_INLINE if we're
1236         inlining all functions.  Make it work with a NULL id.
1237         Re-check DECL_UNINLINABLE after language-specific checks.
1238         * tree-inline.h (tree_inlinable_function_p): Declare it.
1239         * integrate.c (save_for_inline): Don't bother to prepare argvec
1240         when not inlining.
1241         * cse.c (check_for_label_ref): Don't check deleted labels.
1242
1243         * Makefile.in (tree-inline.o): Depend on newly-included headers.
1244         * tree-inline.c: Include headers needed for the functions moved in.
1245         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
1246         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
1247         (copy_body, initialize_inlined_parameters): Likewise.
1248         (declare_return_variable, inlinable_function_p): Likewise.
1249         (expand_call_inline, expand_calls_inline): Likewise.
1250         (optimize_inline_calls, clone_body): Likewise.
1251         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
1252         (copy_tree_r, remap_save_expr): Likewise.
1253
1254 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
1255
1256         * Makefile.in (OBJS): Added tree-inline.o.
1257         (c-common.o): Depend on tree-inline.h.
1258         (tree-inline.o): New target.
1259         * c-common.c: Include tree-inline.h.
1260         (c_mark_lang_decl): Don't mark saved_tree.
1261         (c_common_lang_init): Set lang_anon_aggr_type_p.
1262         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
1263         (struct c_lang_decl): Moved saved_tree to tree_decl.
1264         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
1265         * integrate.h (function_attribute_inlinable_p): Declare it.
1266         * integrate.c (function_attribute_inlinable_p): Export it.
1267         * tree-inline.c: New file.  Define variables declared in...
1268         * tree-inline.h: New file.  Declare functions to be moved to
1269         tree-inline.c.  Define macros and declare types and hooks for
1270         language-specific tree inlining.
1271         (flag_inline_trees): Moved definition from cp/decl2.c.
1272         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
1273         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
1274         (struct tree_decl): Moved saved_tree from c_lang_decl and
1275         inlined_fns from C++'s lang_decl.
1276
1277 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
1278
1279         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
1280         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
1281
1282 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1283
1284         * doc/cppinternals.texi: Update.
1285
1286 2001-10-04  Eric Christopher  <echristo@redhat.com>
1287
1288         * config/mips/mips.c (init_cumulative_args): Remember to set
1289         cum->prototype.
1290         * config.gcc: Redo linux configuration. Add target_cpu_default
1291         of soft-float to all mipsisa32 combinations and tx39.
1292         * config/mips/linux.h: Remove include of mips.h.
1293
1294 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
1295
1296         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
1297         HOST_LDFLAGS and HOST_CPPFLAGS.
1298
1299 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
1300
1301         * c-parse.in (objc_inherit_code, objc_pq_context,
1302         objc_public_flag): Make static.
1303         (objc_interface_context, objc_implementation_context,
1304         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
1305         global tree array in objc/objc-act.[ch].
1306         (methoddef): Remove unnecessary code.
1307
1308         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
1309         Hoist struct definitions to objc-act.h.
1310         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
1311         cat_count): Place declaration in objc-act.h.
1312         (objc_tree_index): Move enumeration to objc-act.h.
1313         (objc_global_trees): Place declaration and macro accessors in
1314         objc-act.h.
1315         (implementation_context): Remove duplicate; use
1316         objc_implementation_context instead:
1317         (method_context): Remove duplicate; use objc_method_context
1318         instead.
1319         (objc_ellipsis_node, objc_method_prototype_template,
1320         implemented_classes, function_type): Move global vars to
1321         objc_global_trees.
1322         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
1323         (build_message_expr): Move actual construction of ObjC message
1324         send nodes to finish_message_expr.
1325         (finish_message_expr): New routine, contains code formerly in
1326         build_message_expr.
1327         * objc/objc-act.h (finish_message_expr): New prototype.
1328         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
1329         declarations; these vars are now part of objc_global_trees.
1330         (objc_tree_index, objc_global_trees): Move definitions from
1331         objc-act.c.
1332         * objc/objc-tree.def: Update copyright info.
1333
1334 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
1335
1336         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
1337         op is NULL.
1338         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
1339         only if TARGET_ARCH64.
1340
1341 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
1342
1343         * doc/extend.texi: Fix some problems with previous checkin.
1344         * doc/invoke.texi: Likewise.
1345
1346 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1347
1348         * cpphash.h: Update comments.
1349         (cpp_context): Update.
1350         (spec_nodes): Remove n__Pragma.
1351         * cppinit.c (cpp_create_reader): Update.
1352         (builtin_array): Add _Pragma.
1353         * cpplib.h: Update comments.
1354         (NODE_DISABLED, BT_PRAGMA): New.
1355         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
1356         * cppmacro.c (struct cpp_macro): Remove disabled.
1357         (builtin_macro): Return int, handle _Pragma, push the new token
1358         on the context stack.
1359         (funlike_invocation_p): Unconstify, update.
1360         (enter_macro_context): Handle builtins here.
1361         (replace_args, push_token_context, push_ptoken_context):
1362         Update for prototype changes.
1363         (_cpp_pop_context): Update.
1364         (cpp_get_token): Don't handle buitins, nor _Pragma here.
1365         (cpp_sys_macro_p): Update.
1366         (_cpp_free_definition): Clear disabled flag.
1367         (_cpp_create_definition): Upate.
1368         * cppmain.c: Update comments.
1369
1370 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
1371                                Andreas Jaeger <aj@suse.de>,
1372                                Jan Hubicka    <jh@suse.cz>
1373
1374         * doc/invoke.texi (i386 Options): Document x86-64 options.
1375         (i386 and x86-64 Options): Rename i386 options section.
1376
1377         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
1378         (TARGET_SWITCHES): Add -munwind-info.
1379         (MASK_NO_UNWIND_INFO): New.
1380         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
1381         biarch compilation.
1382         (ASM_OUTPUT_DOUBLE_INT): New.
1383
1384         * config/i386/linux64.h: New spec file for Linux x86-64 support.
1385         * config.gcc: Fix tm_file settings for x86-64.
1386         * config/i386/x86-64.h: New file with OS independent x86-64
1387         definitions.
1388         * config/i386/biarch64.h: New file used to configure compiler
1389         to biarch/64bit compilation.
1390
1391         * config/i386/i386.c: (override_options): Set flags default
1392         for 64bit compilation.
1393
1394 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
1395
1396         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
1397         (ix86_expand_int_movcc): Optimize DImode conditional moves with
1398         constants on x86_64.
1399         (ix86_attr_length_immediate_default): Support MODE_DI.
1400         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
1401         condition.
1402         (indirect_jump, tablejump): Turn into expander.
1403
1404 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1405
1406         * c-common.c (c_format_attribute_table): Make format and
1407         format_arg attributes apply to function types rather than to
1408         decls.
1409         (is_valid_printf_arglist): Construct an attribute list and pass
1410         that to check_function_format rather than a name.
1411         * c-common.h (check_function_format): Adjust prototype.
1412         * c-decl.c (duplicate_decls): Preserve attributes from type of
1413         built-in decl when allowing for harmless conflict in types.
1414         * c-format.c (record_function_format,
1415         record_international_format, function_format_list,
1416         international_format_info, international_format_list): Remove.
1417         (function_format_info): Remove next, name and assembler_name.
1418         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
1419         (decode_format_attr): New.
1420         (handle_format_attribute): Handle receiving a type rather than a
1421         decl.  Call decode_format_attr.  Store format information in a
1422         function_format_info.
1423         (handle_format_arg_attribute): Correct comment.  Handle receiving
1424         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
1425         arg_num.
1426         (check_format_info_recurse, check_format_info_main): Take argument
1427         numbers as unsigned HOST_WIDE_INT.
1428         (check_function_format): Take a list of attributes from the
1429         function type rather than a name or assembler name.  Check for
1430         format attributes in that list and the attributes on the type of
1431         the current function rather than looking through
1432         function_format_list.
1433         (check_format_info): Use unsigned HOST_WIDE_INT for argument
1434         numbers.
1435         (check_format_info_recurse): Take format_arg attributes from the
1436         type of the function calls rather than using
1437         international_format_list.  Allow for multiple format_arg
1438         attributes.
1439         * c-typeck.c (build_function_call): Pass type attributes to
1440         check_function_format rather than name or assembler name.  Don't
1441         require there to be a name or assembler name to check formats.
1442
1443 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1444
1445         * attribs.c (decl_attributes): Possibly call
1446         insert_default_attributes to insert default attributes on
1447         functions in a lazy manner.
1448         * builtin-attrs.def: New file; define the default format and
1449         format_arg attributes.
1450         * c-common.c (c_format_attribute_table): Move to earlier in the
1451         file.
1452         (c_common_nodes_and_builtins): Initialize format_attribute_table.
1453         (enum built_in_attribute, built_in_attributes,
1454         c_attrs_initialized, c_init_attributes,
1455         c_common_insert_default_attributes): New.
1456         (c_common_lang_init): Don't initialize format_attribute_table.  Do
1457         call c_init_attributes.
1458         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
1459         * c-common.h (init_function_format_info): Don't declare.
1460         (c_common_insert_default_attributes): Declare.
1461         * c-decl.c (implicitly_declare, builtin_function): Call
1462         decl_attributes.
1463         (init_decl_processing): Don't call init_function_format_info.
1464         (insert_default_attributes): New.
1465         * c-format.c (handle_format_attribute,
1466         handle_format_arg_attribute): Be quiet about inappropriate
1467         declaration when applying default attributes.
1468         (init_function_format_info): Remove.
1469         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
1470         (insert_default_attributes): Declare.
1471
1472 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1473
1474         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
1475
1476 2001-10-01  Jim Wilson  <wilson@redhat.com>
1477
1478         * sched-deps.c (add_dependence): When elide conditional dependence,
1479         check that insn doesn't modify cond2.
1480
1481 2001-10-01  Dale Johannesen  <dalej@apple.com>
1482
1483         * config/rs6000/rs6000.h (enum processor_type): Add support
1484         for 7400 (G4) and 7450.
1485         (RTX_COSTS): Ditto.
1486         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
1487         (rs6000_issue_rate): Ditto.
1488         (rs6000_adjust_cost): Fix cycle counts for compares.
1489         (debug_stack_info):  Fix an obvious typo.
1490         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
1491         * doc/invoke.texi: Document.
1492         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
1493         for Darwin.
1494         (PROCESSOR_DEFAULT): Ditto.
1495
1496 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
1497
1498         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
1499         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
1500         later recursive make invocation.
1501
1502 2001-10-01  Hans Boehm  <boehm@acm.org>
1503
1504         * optabs.c (emit_libcall_block): When using non-call exceptions,
1505         don't add REG_LIBCALL reg notes to trapping calls.
1506
1507 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
1508
1509         * flow.c (propagate_block_delete_libcall): Remove unused first arg
1510         (propagate_one_insn):  Update for above change
1511
1512 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
1513
1514         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
1515         _Unwind_GetTextRelBase): Argument is unused.
1516
1517 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1518
1519         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
1520         Loop through NOPs, placeholders, and components.
1521         Don't go through NOPs if change mode.
1522         (record_alias_subset): Do nothing if SUBSET and SET are the same.
1523         * emit-rtl.c (set_mem_alias_set): Enable check.
1524         * expr.c (find_placeholder): New function.
1525         (expand_expr, case PLACEHOLDER_EXPR): Use it.
1526         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
1527         to modify it and avoid unneeded copies.
1528         * expr.h (expand_expr): Always define.
1529         (find_placeholder): New declaration.
1530
1531 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1532
1533         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
1534         operand 2 is the stack pointer.
1535         ("addr-peephole"): Fix address computation peephole when operand 2
1536         is the stack pointer.
1537
1538 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1539
1540         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
1541         (ix86_setup_incoming_varargs): Likewise.
1542
1543 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
1544
1545         * stor-layout.c (layout_type): Don't complain about too-large
1546         array here.
1547
1548 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1549
1550         * function.c (keep_stack_depressed): Don't use delete_insn.
1551
1552         * expr.h (set_mem_alias_set): Move decl to here.
1553         * rtl.h (mem_attrs): New typedef and struct.
1554         (union rtunion_def): Add field for mem_attrs.
1555         (X0MEMATTR, MEM_ATTRS): New macros.
1556         (MEM_ALIAS_SET): Use MEM_ATTRS.
1557         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
1558         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
1559         (set_mem_alias_set): Delete decl from here.
1560
1561         * alias.c (set_mem_alias_set): Delete from here.
1562         * emit-rtl.c (mem_attrs_htab): New variable.
1563         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
1564         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
1565         (mem_attrs_mark, get_mem_attrs): Likewise.
1566         (gen_rtx_MEM): Clear MEM_ATTRS.
1567         (set_mem_attributes): Move to here.
1568         (set_mem_alias_set): Likewise, and call get_mem_attrs.
1569         (init_emit_once): const_int_htab now deletable htab.
1570         Initialize mem_attrs_htab.
1571         * explow.c (set_mem_attributes): Delete from here.
1572         * function.c (put_var_into_stack): Clear MEM_ATTRS.
1573         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
1574         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
1575         * reload1.c (reload): Rework changing REG to MEM.
1576
1577 2001-09-30  H.J. Lu <hjl@gnu.org>
1578
1579         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
1580         * config.in: Rebuild.
1581
1582 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1583
1584         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
1585         ("tsthi_1"): Avoid allocation in register y.
1586         ("*movqi_68hc12"): Reorganize and fix constraints.
1587         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
1588         ("addqi3"): Likewise.
1589         ("addhi3"): Fix constraints.
1590         ("*logicalhi3_zexthi"): Disparage soft registers.
1591
1592 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1593
1594         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
1595         to tmp reg.
1596
1597 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1598
1599         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
1600         that we use setjmp/longjmp exceptions.
1601
1602 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1603
1604         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
1605         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
1606         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
1607         _cpp_pool_alloc, _cpp_next_chunk): Remove.
1608         (_cpp_extend_buff, BUFF_ROOM): Update.
1609         (_cpp_append_extend_buff): New.
1610         (struct cpp_reader): Remove macro_pool, add a_buff.
1611         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
1612         macro_pool.
1613         (cpp_destroy): Free a_buff instead of macro_pool.
1614         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
1615         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
1616         _cpp_pool_alloc, ): Remove.
1617         (parse_number, parse_string): Update use of _cpp_extend_buff.
1618         (_cpp_extend_buff): Update.
1619         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
1620         * cpplib.c (glue_header_name, parse_answer):
1621         Update use of _cpp_extend_buff.
1622         (cpp_register_pragma, cpp_register_pragma_space): Use
1623         _cpp_aligned_alloc.
1624         (do_assert, do_unassert): Check for EOL, update.
1625         * cppmacro.c (stringify_arg, collect_args): Update to use
1626         _cpp_extend_buff and _cpp_append_extend_buff.
1627         (save_parameter, parse_params, alloc_expansion_token,
1628         _cpp_create_definition): Rework memory management.
1629
1630 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
1631
1632         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
1633         update md_exec_prefix.
1634         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
1635         to string constant.
1636
1637 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
1638
1639         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
1640         (SELECT_CC_MODE): Use s390_select_ccmode.
1641         * config/s390/s390-protos.h (s390_select_ccmode): Add.
1642         * config/s390/s390.c (s390_select_ccmode): New.
1643         (s390_match_ccmode): Add CCLmode.
1644         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
1645         (output_branch_condition, output_inverse_branch_condition): Removed.
1646         (print_operand): Use s390_branch_condition_mnemonic.
1647         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
1648         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
1649         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
1650
1651         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
1652         when converting conditional branches to far branches.
1653         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
1654         cmpint_di): Use CCSmode instead of CCUmode.
1655
1656         * config/s390/s390.c (legitimate_la_operand_p): New.
1657         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
1658         * config/s390/s390.md (movsi): Convert load address patterns to
1659         arithmetic operations when necessary.
1660         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
1661         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
1662         (*do_la_reg_0): Don't use before reload.
1663
1664         * config/s390/s390.c (legitimize_address): Make more efficient
1665         use of two-register addressing mode.
1666
1667         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
1668         with -mno-backchain in some corner cases.
1669
1670         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
1671
1672 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
1673
1674         * reload.c (find_reloads): Mark new USE insns with QImode.
1675         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
1676         find_reloads_subreg_address): Likewise.
1677         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
1678         encountered.
1679         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
1680         CLOBBERs.
1681         (reload): Make sure there are no USEs with mode other than
1682         VOIDmode.  At the end, remove those marked with QImode.
1683
1684 2001-09-29  Per Bothner  <per@bothner.com>
1685
1686         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
1687         * Makefile.in (includedir):  Rename to local_includedir.
1688         (includedir):  Define as $(prefix)/include.
1689         * config.in (PREFIX_INCLUDE_DIR):  New variable.
1690         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
1691
1692 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
1693
1694         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
1695         storehps builtins.
1696         * doc/extend.texi (Vector Extensions): New node.
1697         * doc/invoke.texi (Machine Dependent Options): Add documentation for
1698         i386 -mmmx, -msse, -m3dnow.
1699
1700 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
1701
1702         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
1703
1704 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
1705
1706         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
1707
1708         * doc/invoke.texi (Optimize Options): Delete spurious @table.
1709
1710 2001-09-28  Richard Henderson  <rth@redhat.com>
1711
1712         * varasm.c (assemble_integer): Bound alignment check by
1713         BIGGEST_ALIGNMENT.
1714
1715         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
1716
1717 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1718
1719         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
1720
1721 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
1722
1723         Mostly from Graham Stott  <grahams@redhat.com>
1724         * c-common.c (type_for_mode): Add support for V2SFmode.
1725         * tree.c (build_common_tree_nodes_2): Likewise.
1726         * tree.h (enum tree_index, global_trees): Likewise.
1727         * config/i386/i386.c (x86_3dnow_a): New variable.
1728         (override_options): Support 3Dnow extensions.
1729         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
1730         Athlon's version of 3Dnow.
1731         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
1732         (ix86_expand_builtin): Handle them.
1733         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
1734         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
1735         TARGET_3DNOW_A): New macros.
1736         (TARGET_SWITCHES): Add 3Dnow switches.
1737         (VALID_MMX_REG_MODE_3DNOW): New macro.
1738         (VECTOR_MODE_SUPPORTED_P): Use it.
1739         (enum ix86_builtins): Add entries for 3Dnow builtins.
1740         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
1741         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
1742         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
1743         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
1744         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
1745         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
1746         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
1747         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
1748         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
1749         sfence_insn, prefetch): Make these available if TARGET_SSE or
1750         TARGET_3DNOW_A.
1751
1752 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
1753
1754         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
1755         ix86_va_start, ix86_build_va_list): Declare.
1756         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
1757         ix86_va_start, ix86_build_va_list): New global functions.
1758         * i386.md (sse_prologue_save_insn): New insn.
1759         (sse_prologue_save): New expander.
1760         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
1761         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
1762
1763 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
1764
1765         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
1766         Use size_t everywhere, make definitions consistent with
1767         prototypes.
1768
1769 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
1770
1771         * gcse.c (replace_store_insn): Use delete_insn.
1772         * loop.c (move_movables): Likewise; avoid delete_insn
1773         from clobbering notes moved elsewhere.
1774         (check_dbra_loop): Use delete_insn.
1775         * ssa.c (convert_from_ssa): Likewise.
1776         * cse.c (cse_insn): Use delete_insn.
1777
1778 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
1779
1780         * cpphash.h (struct cpp_buff): Make unsigned.
1781         (_cpp_get_buff): Take length of size_t.
1782         (_cpp_unaligned_alloc): New.
1783         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
1784         (struct cpp_reader): Remove ident_pool.  Add u_buff.
1785         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
1786         (cpp_destroy): Destroy u_buff, not ident_pool.
1787         * cpplex.c (parse_number, parse_string, save_comment,
1788         cpp_token_as_text): Update to use the unaligned buffer.
1789         (new_buff): Make unsigned.
1790         (_cpp_unaligned_alloc): New.
1791         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
1792         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
1793         Similarly.
1794         (collect_args): Make unsigned.
1795
1796 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
1797
1798         * cpplex.c (cpp_output_token): Use a putc loop for
1799         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
1800
1801         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
1802         * configure, config.in: Regenerate.
1803         * system.h: Replace fwrite and fprintf with their unlocked
1804         variants if available.
1805
1806 2001-09-27  Richard Henderson  <rth@redhat.com>
1807
1808         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
1809         in favour of .eh_frame.
1810
1811 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
1812
1813         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
1814         to macros.
1815         (LIBCALL_VALUE): Likewise.
1816
1817 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1818
1819         * cpphash.h: Update comment.
1820         * cpplex.c: Update comments.
1821         (_cpp_can_paste): Remove.
1822         * cpplib.h (_cpp_can_paste): Remove.
1823         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
1824         lexer rather than _cpp_can_paste.
1825
1826 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1827
1828         * doc/cppinternals.texi: Update.
1829
1830 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1831
1832         * cpphash.h (struct cpp_pool): Remove locks and locked.
1833         (struct cpp_context): Add member buff.
1834         (struct cpp_reader): Remove member argument_pool.
1835         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
1836         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
1837         * cpplex.c (chunk_suitable): Remove pool argument.
1838         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
1839         (new_buff, _cpp_extend_buff): Update.
1840         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
1841         which buffer is returned.
1842         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
1843         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
1844         * cppmacro.c (lock_pools, unlock_pools): Remove.
1845         (push_ptoken_context): Take a _cpp_buff.
1846         (enter_macro_context): Pool locking removed.
1847         (replace_args): Use a _cpp_buff for the replacement list with
1848         arguments replaced.
1849         (push_token_context): Clear buff.
1850         (expand_arg): Use _cpp_pop_context.
1851         (_cpp_pop_context): Free a context's buffer, if any.
1852
1853 2001-09-26  DJ Delorie  <dj@redhat.com>
1854
1855         * c-typeck.c (digest_init): Check for sizeless arrays.
1856
1857 2001-09-26  Richard Henderson  <rth@redhat.com>
1858
1859         * optabs.c (init_one_libfunc): Create a dummy function type
1860         instead of using error_mark_node.
1861
1862 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1863
1864         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
1865         _cpp_extend_buff, _cpp_free_buff): New.
1866         (struct cpp_reader): New member free_buffs.
1867         * cppinit.c (cpp_destroy): Free buffers.
1868         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
1869         _cpp_extend_buff, _cpp_free_buff): New.
1870         * cpplib.h (struct cpp_options): Remove unused member.
1871         * cppmacro.c (collect_args): New.  Combines the old parse_arg
1872         and parse_args.  Use _cpp_buff for memory allocation.
1873         (funlike_invocation_p, replace_args): Update.
1874
1875 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1876
1877         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
1878
1879 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
1880
1881         * except.c (sjlj_mark_call_sites): Change address inside sequence.
1882
1883 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
1884
1885         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
1886         glibc.
1887
1888 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
1889             Jim Wilson  <wilson@redhat.com>
1890
1891         * doc/install.texi (Specific, ia64-*-linux): Document.
1892
1893 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
1894
1895         * Makefile.in (cfgrtl.o): Add.
1896         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
1897         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
1898         free_aux_for_edge): Declare.
1899         * cfg.c
1900         (HAVE_return): Undefine.
1901         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
1902         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
1903         free_aux_for_edge): New global functions.
1904         (first_delete_block): New static variable.
1905         (init_flow): Clear first_delete_block.
1906         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
1907          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
1908          try_redirect_by_replacing_jump, last_loop_beg_note,
1909          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
1910          delete_insn, delete_insn_chain, create_basic_block_structure,
1911          create_basic_block, flow_delete_block, compute_bb_for_insn,
1912          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
1913          set_block_for_new_insns, split_block, merge_blocks_nomove,
1914          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
1915          redirect_edge_and_branch, force_nonfallthru_and_redirect,
1916          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
1917          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
1918          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
1919          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
1920          purge_all_dead_edges): Move to ....
1921         * cfgrtl.c: New file; .... Here.
1922
1923         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
1924         (reroder_basic_block): Use alloc_aux_for_blocks.
1925         * predict.c (estimate_bb_frequencies): Likewise; use
1926         alloc_aux_for_edges.
1927         * profile.c (compute_branch_probabilities): Likewise.
1928         (branch_prob): Likewise.
1929         * reg-stack.c (reg_to_stack): Likewise.
1930
1931         * emit-rtl.c (emit_insns_after): Never return NULL.
1932
1933         * basic-block.h (set_block_for_new_insns): Delete.
1934         * cfgrtl.c (set_block_for_new_insns): Delete.
1935
1936         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
1937         calls when crossjumping.
1938
1939         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
1940         * unroll.c (copy_loop_body): Use delete_insn.
1941
1942         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
1943         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
1944         keep_stack_depressed): Likewise.
1945         * gcse.c (cprop_cc0_jump): Likewise.
1946         * local-alloc.c (update_equiv_regs): Likewise.
1947         * loop.c (scan_loop, loop_delete_insns): Likewise.
1948         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
1949         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
1950         delete_output_reload, delete_address_reloads_1,
1951         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
1952         Likewise.
1953         * sibcall.c (replace_call_placeholder): Likewise.
1954         * cse.c (cse_insn): Likewise.
1955
1956 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
1957
1958         From Graham Stott  <grahams@redhat.com>
1959         (def_builtin): Only define builtins appropriate for target_flags.  All
1960         callers changed.
1961         (builtin_decsription): Add new field mask which is used to determine
1962         when to define the builtin via the macro def_builtin.
1963
1964         (bdesc_comi): Initialise new mask fields.
1965         (bdesc_2srg): Likewise.
1966         (bdesc_1arg): Likewise.
1967
1968         * config/i386/i386.c (ix86_init_builtins): Correct return type
1969         building v4hi_ftype_v4hi_int_int tree node.
1970         (ix86_expand_sse_comi): Fix typo swapping operands.
1971         Don't swap comparision condition, it is already swapped.
1972         (ix86_expand_sse_compare): Before swapping operands
1973         move operand 1 into new rtx and not the target rtx.
1974         Don't swap comparison condition, it is already swapped.
1975         Always check whether we need to create a new TARGET.
1976
1977         * config/i386/i386.md: (sse_comi) Fix typos.
1978         (sse_ucomi): Likewise.
1979         (cvtss2si): Fix operand 0 contraint.
1980         (cvttss2si): Likewise.
1981         (sse_unpckhps): Fix mode for operand 2.
1982         (sse_unpcklps): Likewise.
1983
1984 2001-09-25  Graham Stott  <grahams@redhat.com>
1985
1986         * sibcall.c (skip_copy_to_return_value): Tighten return value
1987         copy check.
1988
1989 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
1990
1991         * rs6000.c (lwa_operand): Address must be word aligned.
1992
1993 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1994
1995         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
1996         number has been set.
1997         (type_hash_mark): Mark type itself.
1998
1999 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
2000
2001         * c-lex.c (cb_def_pragma): Update.
2002         (c_lex): Update, and skip padding.
2003         * cppexp.c (lex, parse_defined): Update, remove unused variable.
2004         * cpphash.h (struct toklist): Delete.
2005         (union utoken): New.
2006         (struct cpp_context): Update.
2007         (struct cpp_reader): New members eof, avoid_paste.
2008         (_cpp_temp_token): New.
2009         * cppinit.c (cpp_create_reader): Update.
2010         * cpplex.c (_cpp_temp_token): New.
2011         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
2012         (cpp_output_token): Don't print leading whitespace.
2013         (cpp_output_line): Update.
2014         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
2015         do_include_common, do_line, do_ident, do_pragma,
2016         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
2017         parse_assertion): Update.
2018         (get_token_no_padding): New.
2019         * cpplib.h (CPP_PADDING): New.
2020         (AVOID_LPASTE): Delete.
2021         (struct cpp_token): New union member source.
2022         (cpp_get_token): Update.
2023         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
2024         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
2025         replace_args, quote_string, stringify_arg, parse_arg, next_context,
2026         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
2027         _cpp_backup_tokens, _cpp_create_definition): Update.
2028         (push_arg_context): Delete.
2029         (padding_token, push_token_context, push_ptoken_context): New.
2030         (make_string_token, make_number_token): Update, rename.
2031         (cpp_get_token): Update to handle tokens as pointers to const,
2032         and insert padding appropriately.
2033         * cppmain.c (struct printer): New member prev.
2034         (check_multiline_token): Constify.
2035         (do_preprocessing, cb_line_change): Update.
2036         (scan_translation_unit): Update to handle spacing.
2037         * scan-decls.c (get_a_token): New.
2038         (skip_to_closing_brace, scan_decls): Update.
2039         * fix-header.c (read_scan_file): Update.
2040
2041         * doc/cpp.texi: Update.
2042
2043 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2044
2045         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
2046         leak by passing malloc'ed pointer to reconcat, not concat.
2047
2048 2001-09-24  DJ Delorie  <dj@redhat.com>
2049
2050         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
2051
2052 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
2053
2054         * flow.c (delete_dead_jumptables): Delete jumptable if the only
2055         reference is from the literal pool.
2056
2057 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
2058
2059         * doc/install.texi (Final install): Request additional information
2060         in mail about successful builds.
2061
2062 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2063
2064         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
2065         initial value of return pointer register instead of value in frame-20.
2066         Revise comments.
2067
2068 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2069
2070         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
2071         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
2072         the libcall if there isn't a referenced identifier for the symbol.
2073
2074 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2075
2076         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
2077         non 64-bit machines.  Use these as a plabel for the trampoline.
2078         (TRAMPOLINE_SIZE): Adjust size for new words.
2079         (INITIALIZE_TRAMPOLINE): Initialize new words.
2080         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
2081         pointer to the plabel in the trampoline.
2082
2083 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2084
2085         * pa.c (function_arg): Pass floating arguments in both general and
2086         floating registers in indirect (dynamic) calls when generating code
2087         for the 32 bit ABI and the HP assembler.
2088
2089 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2090
2091         * doc/install.texi: Markup fixes.
2092         Use Solaris 2, SunOS 4 as appropriate.
2093         (Specific, *-*-solaris2*): Explain this.
2094         Unconditionally warn against /usr/ucb tools.
2095         Remove Sun as warning, obsolete.
2096         Move X11 header bug workaround here, update patches.
2097         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
2098         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
2099
2100 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
2101
2102         * errors.h (warning, error, fatal, internal_error): Don't mark
2103         with ATTRIBUTE_PRINTF_n.
2104         * toplev.h (internal_error, fatal_io_error, warning, error,
2105         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
2106         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
2107         Likewise.
2108
2109 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2110
2111         * function.c (pop_function_context_from): var_refs_queue
2112         and temp slots now in GC memory.
2113         (mark_function_status, free_after_compilation): Likewise;
2114         also struct function now in GC memory.
2115         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
2116         (combine_temp_slots): Likewise.
2117         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
2118         (prepare_function_start): Use GC memory for struct function.
2119         (mark_temp_slot): Deleted.
2120         (gcc_mark_struct_function): struct function now in GC memory.
2121
2122         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
2123         code for division, not modulus.
2124
2125         * rtl.def (MEM): Remove obsolete part of comment.
2126
2127 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2128
2129         * c-format.c (init_function_format_info): Check __builtin_printf
2130         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
2131         in gnu89 mode.
2132
2133 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2134
2135         * c-common.c (format_attribute_table): Remove decl.
2136         * tree.h (format_attribute_table, lang_attribute_table): New decls.
2137         (lang_attribute_common): Likewise.
2138
2139         * function.c (fix_lexical_address): Use set_mem_alias_set.
2140         (expand_function_start): Likewise.
2141         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
2142
2143         * varasm.c (output_constant): Fix unused variable warning.
2144
2145         * attribs.c: New file, from c-common.c.
2146         (attribute_tables): Now four elements.
2147         (format_attribute_table, lang_attribute_common): New variables.
2148         (init_attributes): Reflect above changes.
2149         (handle_mode_attribute): Delete check for wider than uintmax.
2150         * c-common.c: Delete parts moved to attribs.c.
2151         (enum attrs): Deleted; unused.
2152         (c_format_attribute_table): New variable.
2153         (c_common_lang_init): Initialize format_attribute_table with it.
2154         * c-common.h (decl_attributes): Remove decl.
2155         * tree.h (decl_attribute): Move it to here.
2156         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
2157         (attribs.o): New rule.
2158
2159 2001-09-22  Andreas Jaeger  <aj@suse.de>
2160
2161         * builtins.c (c_getstr): Remove unused variable.
2162
2163 2001-09-21  Richard Henderson  <rth@redhat.com>
2164
2165         * reload1.c (reload): Use delete_insn instead of splatting
2166         NOTE_INSN_DELETED.
2167
2168 2001-09-21  Richard Henderson  <rth@redhat.com>
2169
2170         * reload.c (push_secondary_reload): Don't check for "=" in output
2171         constraint after ""->ALL_REGS check.
2172
2173 2001-09-21  Richard Henderson  <rth@redhat.com>
2174
2175         * predict.c (expected_value_to_br_prob): Use pc_set.
2176
2177         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
2178         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
2179
2180 2001-09-21  Richard Henderson  <rth@redhat.com>
2181
2182         * rtl.h (LCT_RETURNS_TWICE): New.
2183         * calls.c (emit_call_1): Set current_function_calls_setjmp for
2184         ECF_RETURNS_TWICE.
2185         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
2186         to ECF_RETURNS_TWICE.
2187         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
2188         call to setjmp.
2189
2190         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
2191
2192         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
2193         (JMP_BUF_SIZE): New.
2194
2195 2001-09-21  Richard Henderson  <rth@redhat.com>
2196
2197         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
2198         to R8_REGS.
2199
2200 2001-09-21  Richard Henderson  <rth@redhat.com>
2201
2202         * tree.def (FDESC_EXPR): New.
2203         * expr.c (expand_expr): Handle it.
2204         * varasm.c (initializer_constant_valid_p): Likewise.
2205         (output_constant): Likewise.
2206         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
2207         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
2208         (ASM_OUTPUT_FDESC): New.
2209         * doc/tm.texi: Document the new macros.
2210
2211 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
2212
2213         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
2214         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
2215         once merging is complete.
2216
2217 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2218
2219         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
2220
2221 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
2222
2223         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
2224         that would be invalid after a merge.
2225
2226 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
2227
2228         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
2229         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
2230         remove some labels.
2231         (flow_delete_insn): This one.
2232         (delete_insn_chain): Rename from ...; do not care labels.
2233         (flow_delete_insn_chain): ... this one.
2234         (flow_delete_block): Remove the insns one BB has been expunged.
2235         (merge_blocks_nomove): Likewise.
2236         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
2237         updating BB boundaries.
2238         (tidy_fallthru_edge): Likewise.
2239         (commit_one_edge_insertion): Likewise.
2240         * cfgbuild.c (find_basic_block): Likewise.
2241         (find_basic_blocks_1): Likewise.
2242         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
2243         (try_crossjump_to_edge): Likewise.
2244         (try_optimize_cfg): Likewise.
2245         * cse.c (delete_trivially_dead_insns): Likewise.
2246         * df.c (df_insn_delete): Likewise.
2247         * doloop.c (doloop_modify): Use delete_related_insns.
2248         * emit-rtl.c (try_split): Likewise.
2249         (remove_insn): Update BB boundaries.
2250         * expect.c (connect_post_landing_pads): Use delete_related_insns.
2251         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
2252         updating BB boundaries.
2253         (propagate_block_delete_insn): Likewise.
2254         (propagate_block_delete_libcall): Likewise.
2255         * function.c (delete_handlers): Use delete_related_insns.
2256         (thread_prologue_and_epilogue_insns): Likewise.
2257         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
2258         * genpeep.c (gen_peephole): Use delete_related_insns.
2259         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
2260         BB boundaries.
2261         (find_cond_trap): Likewise.
2262         * integrate.c (save_for_inline): Use delete_related_insns.
2263         (copy_insn_list): Likewise.
2264         * jump.c (pruge_linie_number_notes): Likewise.
2265         (duplicate_loop_exit_test): Likewise.
2266         (delete_computation): Likewise.
2267         (delete_related_insn): Rename from ...; use delete_insn
2268         (delete_insn): ... this one.
2269         (redirect_jump): Use delete_related_insns.
2270         * loop.c (scan_loop): Likewise.
2271         (move_movables): Likewise.
2272         (find_and_verify_loops): Likewise.
2273         (check_dbra_loop): Likewise.
2274         * recog.c (peephole2_optimize): Likewise.
2275         * reg-stack.c (delete_insn_for_stacker): Remove.
2276         (move_for_stack_reg): Use delete_insn.
2277         * regmove.c (combine_stack_adjustments_for_block): Likewise.
2278         * reload1.c (delete_address_reloads): Use delete_related_insns.
2279         (fixup_abnormal_edges): Use delete_insn.
2280         * recog.c (emit_delay_sequence): Use delete_related_insns.
2281         (delete_from-delay_slot): Likewise.
2282         (delete_scheduled_jump): likewise.
2283         (optimize_skip): Likewise.
2284         (try_merge_delay_insns): Likewise.
2285         (full_simple_delay_slots): Likewise.
2286         (fill_slots_from_thread): Likewise.
2287         (relax_delay_slots): Likewise.
2288         (make_return_insns): Likewise.
2289         (dbr_schedule): Likewise.
2290         * rtl.h (delete_insn): Rename to delete_related_insns.
2291         (delete_insn, delete_insn_chain): New prototypes.
2292         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
2293         by df_insn_delete already.
2294         * ssa-dce.c (delete_insn_bb): Use delete_insn.
2295         * ssa.c (convert_from_ssa): Use delete_related_insns.
2296         * unroll.c (unroll_loop): Likewise.
2297         (calculate_giv_inc): Likewise.
2298         (copy_loop_body): Likewise.
2299
2300         * i386-protos.h (ix86_libcall_value, ix86_function_value,
2301         ix86_function_arg_regno_p, ix86_function_arg_boundary,
2302         ix86_return_in_memory, ix86_function_value): Declare.
2303         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
2304         new static valurables.
2305         (x86_64_reg_class): New enum
2306         (x86_64_reg_class_name): New array.
2307         (classify_argument, examine_argument, construct_container,
2308          merge_classes): New static functions.
2309         (optimization_options): Enable flag_omit_frame_pointer and disable
2310         flag_pcc_struct_return on 64bit.
2311         (ix86_libcall_value, ix86_function_value,
2312         ix86_function_arg_regno_p, ix86_function_arg_boundary,
2313         ix86_return_in_memory, ix86_function_value): New global functions.
2314         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
2315         (function_arg_advance): Handle x86_64 passing conventions.
2316         (function_arg): Likewise.
2317         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
2318         (RETURN_IN_MEMORY): Move offline.
2319         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
2320         (FUNCTION_VALUE_REGNO_P): New macro.
2321         (FUNCTION_ARG_REGNO_P): Move offline.
2322         (struct ix86_args): Add maybe_vaarg.
2323         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
2324         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
2325
2326 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
2327
2328         * s390.md: Changed attributes for scheduling.
2329         * s390.c: (s390_adjust_cost, s390_adjust_priority)
2330         Changed scheduling
2331
2332 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
2333
2334         Table-driven attributes.
2335         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
2336         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
2337         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
2338         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
2339         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
2340         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
2341         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
2342         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
2343         * tree.h (struct tree_decl): Change machine_attributes to
2344         attributes.
2345         * doc/c-tree.texi: Document that all attributes are now attached
2346         to decls and types.
2347         * c-common.c (add_attribute, attrtab, attrtab_idx,
2348         default_valid_lang_attribute, valid_lang_attribute): Remove.
2349         (attribute_tables, attributes_initialized,
2350         c_common_attribute_table, default_lang_attribute_table): New
2351         variables.
2352         (handle_packed_attribute, handle_nocommon_attribute,
2353         handle_common_attribute, handle_noreturn_attribute,
2354         handle_unused_attribute, handle_const_attribute,
2355         handle_transparent_union_attribute, handle_constructor_attribute,
2356         handle_destructor_attribute, handle_mode_attribute,
2357         handle_section_attribute, handle_aligned_attribute,
2358         handle_weak_attribute, handle_alias_attribute,
2359         handle_no_instrument_function_attribute,
2360         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
2361         handle_no_limit_stack_attribute, handle_pure_attribute): New
2362         functions.
2363         (init_attributes, decl_attributes): Rewrite to implement
2364         table-driven attributes.
2365         * c-common.h (enum attribute_flags): Move to tree.h.
2366         * c-format.c (decl_handle_format_attribute,
2367         decl_handle_format_arg_attribute): Rename to
2368         handle_format_attribute and handle_format_arg_attribute.  Update
2369         for table-driven attributes.
2370         * c-common.h (decl_handle_format_attribute,
2371         decl_handle_format_arg_attribute): Remove prototypes.
2372         (handle_format_attribute, handle_format_arg_attribute): Add
2373         prototypes.
2374         * c-decl.c (grokdeclarator): Handle attributes nested inside
2375         declarators.
2376         * c-parse.in (setattrs, maybe_setattrs): Remove.
2377         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
2378         Update to handle nested attributes properly.
2379         (maybe_resetattrs, after_type_declarator,
2380         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
2381         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
2382         properly.
2383         (make_pointer_declarator): Update to handle nested attributes
2384         properly.
2385         * doc/extend.texi: Update documentation of limits of attributes
2386         syntax.  Warn about problems with attribute semantics in C++.
2387         * target.h (struct target): Remove valid_decl_attribute and
2388         valid_type_attribute.  Add attribute_table and
2389         function_attribute_inlinable_p.
2390         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
2391         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
2392         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
2393         Add.
2394         (TARGET_INITIALIZER): Update.
2395         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
2396         definition.
2397         (function_attribute_inlinable_p): New function.  Check for the
2398         presence of any machine attributes before using
2399         targetm.function_attribute_inlinable_p.
2400         (function_cannot_inline_p): Update.
2401         * Makefile.in (integrate.o): Update dependencies.
2402         * doc/tm.texi: Update documentation of target attributes and
2403         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
2404         * tree.c (default_valid_attribute_p, valid_machine_attribute):
2405         Remove.
2406         (default_target_attribute_table,
2407         default_function_attribute_inlinable_p): New.
2408         (lookup_attribute): Update comment to clarify handling of multiple
2409         attributes with the same name.
2410         (merge_attributes, attribute_list_contained): Allow multiple
2411         attributes with the same name but different arguments to appear in
2412         the same attribute list.
2413         * tree.h (default_valid_attribute_p): Remove prototype.
2414         (struct attribute_spec): New.
2415         (default_target_attribute_table): Declare.
2416         (enum attribute_flags): Move from c-common.h.  Add
2417         ATTR_FLAG_TYPE_IN_PLACE.
2418         (default_function_attribute_inlinable_p): Declare.
2419         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
2420         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
2421         (TARGET_ATTRIBUTE_TABLE): Define.
2422         (vms_attribute_table): New.
2423         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
2424         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
2425         (TARGET_ATTRIBUTE_TABLE): Define.
2426         (arc_attribute_table, arc_handle_interrupt_attribute): New.
2427         * config/arm/arm.c (arm_valid_type_attribute_p,
2428         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
2429         Remove.
2430         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
2431         define.
2432         (TARGET_ATTRIBUTE_TABLE): Define.
2433         (arm_attribute_table, arm_handle_fndecl_attribute,
2434         arm_handle_isr_attribute): New.
2435         * config/avr/avr.c (avr_valid_type_attribute,
2436         avr_valid_decl_attribute): Remove.
2437         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
2438         define.
2439         (TARGET_ATTRIBUTE_TABLE): Define.
2440         (avr_attribute_table, avr_handle_progmem_attribute,
2441         avr_handle_fndecl_attribute): New.
2442         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
2443         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
2444         (TARGET_ATTRIBUTE_TABLE): Define.
2445         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
2446         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
2447         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
2448         (TARGET_ATTRIBUTE_TABLE): Define.
2449         (h8300_attribute_table, h8300_handle_fndecl_attribute,
2450         h8300_handle_eightbit_data_attribute,
2451         h8300_handle_tiny_data_attribute): New.
2452         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
2453         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
2454         Remove prototypes.
2455         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
2456         declarations.
2457         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
2458         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
2459         define.
2460         (TARGET_ATTRIBUTE_TABLE): Define.
2461         (ix86_attribute_table, ix86_handle_cdecl_attribute,
2462         ix86_handle_regparm_attribute): New.
2463         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
2464         i386_pe_valid_type_attribute_p): Remove.
2465         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
2466         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
2467         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
2468         (TARGET_ATTRIBUTE_TABLE): Define.
2469         (ia64_attribute_table): New.
2470         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
2471         interrupt_ident2, model_ident1, model_ident2): Remove.
2472         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
2473         (TARGET_ATTRIBUTE_TABLE): Define.
2474         (init_idents): Update.
2475         (m32r_attribute_table, m32r_handle_model_attribute): New.
2476         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
2477         Remove.
2478         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
2479         (TARGET_ATTRIBUTE_TABLE): Define.
2480         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
2481         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
2482         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
2483         (TARGET_ATTRIBUTE_TABLE): Define.
2484         (mcore_attribute_table, mcore_handle_naked_attribute): New.
2485         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
2486         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
2487         (TARGET_ATTRIBUTE_TABLE): Define.
2488         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
2489         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
2490         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
2491         (TARGET_ATTRIBUTE_TABLE): Define.
2492         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
2493         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
2494         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
2495         (TARGET_ATTRIBUTE_TABLE): Define.
2496         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
2497         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
2498         New.
2499         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
2500         Remove.
2501         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
2502         (TARGET_ATTRIBUTE_TABLE): Define.
2503         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
2504         New.
2505         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
2506         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
2507         (TARGET_ATTRIBUTE_TABLE): Define.
2508         (v850_attribute_table, v850_handle_interrupt_attribute,
2509         v850_handle_data_area_attribute): New.
2510         * config/v850/v850-c.c (mark_current_function_as_interrupt):
2511         Return void.  Call decl_attributes instead of
2512         valid_machine_attribute.
2513
2514 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
2515
2516         * sh-protos.h (sh_pr_n_sets): Declare.
2517         * sh.c (calc_live_regs): If the initial value for PR has been copied,
2518         look at the copy to determine if PR needs to be saved.
2519         sh_pr_n_sets: New function.
2520         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
2521         (ALLOCATE_INITIAL_VALUE): Define.
2522
2523         * sh.c (initial_elimination_offset):
2524         Fix RETURN_ADDRESS_POINTER_REGNUM case.
2525
2526 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
2527
2528         * integrate.c (allocate_initial_values): New function.
2529         * integrate.h (allocate_initial_values): Declare.
2530         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
2531         here...
2532         * reload1.c (reload): And initialization of reg_equiv_memory_loc
2533         from here...
2534         * toplev.c (rest_of_compilation): To here.
2535         Call allocate_initial_values.
2536         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
2537
2538 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2539
2540         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
2541
2542 2001-09-20  DJ Delorie  <dj@redhat.com>
2543
2544         * c-typeck.c (really_start_incremental_init): Discriminate
2545         between zero-length arrays and flexible arrays.
2546         (push_init_level): Detect zero-length arrays and handle them
2547         like fixed-sized arrays.
2548         * expr.c (store_constructor): Handle zero-length arrays and
2549         flexible arrays correctly.
2550         * doc/extend.texi: Update zero-length array notes.
2551
2552 2001-09-20  Jim Wilson  <wilson@redhat.com>
2553
2554         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
2555         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
2556         for issue port conflicts.
2557         (cycle_end_fill_slots): TYPE_L instructions take two slots.
2558
2559 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
2560
2561         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
2562         on ia64.
2563
2564 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2565
2566         * fold-const.c (hashtab.h): Include.
2567         (int_const_binop): Remove FORSIZE arg and compute from type; all
2568         callers changed.
2569         Call size_int_type_wide for all single-word constants.
2570         (size_htab_hash, size_htab_eq): New functions.
2571         (size_int_type_wide): Rework to use hash table.
2572         * ggc-common.c (hashtab.h): Include.
2573         (struct d_htab_root): New struct.
2574         (d_htab_roots): New variable.
2575         (ggc_add_deletable_htab, ggc_htab_delete): New functions
2576         (ggc_mark_roots): Handle deletable htabs.
2577         * ggc-page.c (ggc_marked_p): New function.
2578         * ggc-simple.c (ggc_marked_p): Likewise.
2579         * ggc.h: Reformatting throughout.
2580         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
2581         * tree.c (init_obstacks): Make type_hash_table a deletable root.
2582         (type_hash_add): Allocate struct type_hash from GC memory.
2583         (mark_hash_entry, mark_type_hash): Deleted.
2584         (type_hash_marked_p, type_hash_mark): New functions.
2585         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
2586
2587 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
2588
2589         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
2590         than SImode.
2591
2592 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2593
2594         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
2595         array-too-large test for signed sizetype.
2596
2597 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
2598
2599         * i386.md (indirect_jump): Allow Pmode operand.
2600         (tablejump): LIkewise; perform expansion to 64bit mode.
2601         * i386.c (symbolic_operand): Allow 64bit PIC references.
2602         (pic_symbolic_operand): Likewise.
2603         (ix86_find_base_term): Strip the 64bit PIC references.
2604         (legitimate_pic_address_disp_p): Handle 64bit PIC.
2605         (legitimize_pic_address): Likewise.
2606         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
2607         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
2608
2609 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
2610
2611         * stringpool.c (get_identifier_with_length): New function.
2612         * tree.h (get_identifier_with_length): New prototype.
2613
2614 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
2615             David Edelsohn  <edelsohn@gnu.org>
2616
2617         Revert:
2618         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
2619         already sign-extended.
2620
2621         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
2622         * config/rs6000/rs6000.c (logical_operand): Always compare op as
2623         HOST_WIDE_INT.
2624         (rs6000_emit_set_long_const): Avoid unnecessary shift.
2625         (output_profile_hook): Declare label_name const.
2626         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
2627         to match constraints.
2628
2629 2001-09-19  Stan Shebs  <shebs@apple.com>
2630
2631         * alias.c: Fix typos in comments.
2632         * sched-rgn.c (init_ready_list): Ditto.
2633         * unwind-dw2.c (uw_frame_state_for): Ditto.
2634         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
2635         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
2636         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
2637
2638 2001-09-19  Richard Henderson  <rth@redhat.com>
2639
2640         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
2641         to the exit block.
2642         * Makefile.in (cfg.o): Depend on TM_P_H.
2643
2644 2001-09-19  Richard Henderson  <rth@redhat.com>
2645
2646         * config/alpha/alpha.c (local_symbol_p): Split out from ...
2647         (local_symbolic_operand): ... here.
2648         (small_symbolic_operand): Check mode.
2649         (global_symbolic_operand): New.
2650         (input_operand): Reject symbolics if explicit relocs.
2651         (call_operand): Tidy.
2652         (alpha_legitimize_address): Use movdi_er_high_g.
2653         (alpha_expand_mov): Likewise.
2654         * config/alpha/alpha-protos.h: Update.
2655         * config/alpha/alpha.h (PREDICATE_CODES): Update.
2656         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
2657         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
2658         (UNSPECV_LDGP2): Remove.
2659         (all call patterns): Use 's' not 'i' for symbolic constraint.
2660         (call_osf call_value_osf): Use call_operand.
2661         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
2662         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
2663         (prologue_ldgp_1_er): Remove.
2664         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
2665         (builtin_setjmp_receiver_er patterns): Use them.
2666         (exception_receiver_er): Likewise.
2667
2668 2001-09-19  Richard Henderson  <rth@redhat.com>
2669
2670         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
2671
2672         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
2673         and NON_LOCAL_GOTO notes.
2674         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
2675         copy over CALL_INSN_FUNCTION_USAGE.
2676
2677 2001-09-18  Catherine Moore  <clm@redhat.com>
2678
2679         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
2680         Define as 0.
2681
2682 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
2683
2684         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
2685         new-style tm_file specification.  Specify correct tm_p_file,
2686         md_file, and out_file for s390x.
2687
2688         * config/s390/linux.h, linux64.h:  Don't include other target
2689         macro header files.  Now handled via tm_file.
2690
2691         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
2692         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
2693         are defined before use.
2694
2695 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
2696
2697         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
2698         code generation only for Gnu assembler.
2699
2700 2001-09-18  Catherine Moore  <clm@redhat.com>
2701
2702         * config/stormy16 (LIB_SPEC): Remove -lnosys.
2703
2704 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
2705
2706         * config/mips/mips.c (mips_frame_set): New.
2707         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
2708         a parallel frame-related expression with a set for each register.
2709
2710 2001-09-18  Philip Blundell  <philb@gnu.org>
2711
2712         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
2713         header files.
2714
2715 2001-09-17  Dale Johannesen  <dalej@apple.com>
2716
2717         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
2718         * config/rs6000/aix.h (FIXED_R2): Define.
2719         * config/rs6000/darwin.h (FIXED_R2): Define.
2720         * config/rs6000/sysv4.h (FIXED_R2): Define.
2721
2722 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
2723
2724         * except.c (dw2_build_landing_pads): New local
2725         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
2726         barrier after clobbers.  Fixes c++/4012.
2727
2728 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2729
2730         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
2731
2732 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
2733
2734         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
2735         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
2736
2737 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2738
2739         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
2740         alloca/strcpy.
2741
2742 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2743
2744         * cpphash.h (_cpp_lex_direct): New.
2745         * cpplex.c (_cpp_lex_token): Update.
2746         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
2747         and increment that pointer.
2748         * cppmacro.c (alloc_expansion_token): New.
2749         (lex_expansion_token): Lex macro expansion directly into
2750         macro storage.
2751
2752 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
2753
2754         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
2755
2756 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
2757
2758         * basic-block.h (free_bb_for_insn): Declare.
2759         * bb-reorder.c (label_for_bb): Use block_label.
2760         (emit_jump_to_block_after): Remove.
2761         (insert_intra_1): Do not update block_for_insn.
2762         (insert_inter_bb_scope_notes): Likewise; update bb->end
2763         * cfg.c (free_bb_for_insn): New.
2764         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
2765         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
2766         (commit_one_edge_insertion): Likewise.
2767         (commit_one_edge_insertion): Do not update BB boundary.
2768         (commit_edge_insertions): Do not call compute_bb_for_insn.
2769         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
2770         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
2771         (merge_blocks_move_successor_nojumps): Likewise.
2772         (try_crossjump_to_edge): Do not update block_for_insn.
2773         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
2774         * df.c (df_pattern_emit_later): Do not update BB boundary.
2775         (df_jump_pattern_emit_after): Likewise.
2776         (df_insn_move_before): Use emit_insn_before.
2777         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
2778          properly.
2779         (add_insn_after, add_insn_before, emit_insns_after): Update BB
2780         boundaries and basic_block_for_insn.
2781         (reorder_insns_nobb): Rename from reorder_insns.
2782         (reorder_insns): New.
2783         (emit_block_insn_before, emit_block_insn_after): Kill.
2784         * flow.c (check_function_return_warnings): Do not call
2785         compute_bb_for_insn; Do not free basic_block_for_insn.
2786         (attempt_auto_inc): Do not update basic_block_for_insn.
2787         * function.c (emit_return_into_block): Likewise;
2788         do not update BB boundaries.
2789         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
2790         (insert_insn_end_bb): Use emit_insn_before; Likewise.
2791         (pre_insert_copy_insn): Likewise.
2792         (update_ld_motion_notes): Likewise.
2793         (insert_insn_start_bb): Likewise.
2794         (replace_store_insn): Likewise.
2795         * ifcvt.c (noce_process_if_block): Likewise.
2796         (if_convert): Do not call compute_bb_for_insn.
2797         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
2798         Use emit_insn_before and emit_insn_after.
2799         * recog.c (split_all_insns): Do not update BB boundaries;
2800         Do not call compute_bb_for_insn.
2801         (peephole2_optimize): Do not update BB boundaries.
2802         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
2803         emit_insn_before.
2804         (emit_swap_insn): Likewise.
2805         (convert_regs_1): Likewise.
2806         * reload1.c (reload): Call compute_bb_for_insn.
2807         * rtl.h (reorder_insns_nobb): Declare.
2808         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
2809         * toplev.c (rest_of_compilation): Call free_bb_for_insn
2810         at places CFG is invalidated; do not call compute_bb_for_insn.
2811
2812         * cfg.c (expunge_block): Invalidate BB structure.
2813
2814         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
2815         array.
2816
2817         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
2818
2819 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2820
2821         * cpphash.h (_cpp_lex_token): Update prototype.
2822         * cpplex.c (_cpp_lex_token): New prototype.
2823         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
2824         lex_macro_node, read_flag, do_pragma_poison): Update.
2825         * cppmacro.c (cpp_get_token, parse_params,
2826         lex_expansion_token): Update.
2827
2828 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2829
2830         * cppmain.c (scan_translation_unit): Don't worry about
2831         putting a space after hashes.
2832         * cpplib.c (directive_diagnostics): New.
2833         (_cpp_handle_directive): Update to use directive_diagnostics.
2834         (run_directive): Don't toggle prevent_expansion.
2835         (do_line): Backup in case of the line extension.
2836         * cpplib.h (cpp_lexer_pos): Remove.
2837         * cppmacro.c (_cpp_create_definition): Precede a leading #
2838         with whitespace.
2839
2840 2001-09-15  Richard Henderson  <rth@redhat.com>
2841
2842         * c-typeck.c (comptypes): Handle zero-length arrays properly.
2843
2844 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
2845
2846         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
2847
2848 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2849
2850         PR preprocessor/3571
2851         * tradcpp.c (handle_directive): Skip non-vertical space.
2852
2853 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2854
2855         * cppmain.c (setup_callbacks): Set line callback only
2856         if outputting preprocessed source.
2857
2858 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2859
2860         * collect2.c (main): Const-ification.
2861         * gcc.c (translate_options, process_command): Use xstrdup in
2862         lieu of xmalloc/strcpy.
2863         (main): Use concat in lieu of xmalloc/strcpy/strcat.
2864
2865 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
2866
2867         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
2868         example.
2869
2870 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2871
2872         * scan-decls.c (scan_decls): Fix typo.
2873
2874 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2875
2876         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
2877         Split mlstring_pos into mls_line and mls_col.
2878         * cppinit.c (cpp_create_reader): Initialize line to 1.
2879         (cpp_destroy): Free tokenruns.
2880         (push_include): Don't update lexer_pos.
2881         * cpplex.c (unterminated, parse_string): Update.
2882         (lex_token): Don't update lexer_pos, update.
2883         * cpplib.c (if_stack): Save line instead of line + col.
2884         (start_directive, _cpp_do__Pragma, do_else, do_elif,
2885         push_conditional, _cpp_pop_buffer): Update.
2886         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
2887         (_cpp_create_definition): Update.
2888
2889 2001-09-15  Eric Christopher  <echristo@redhat.com>
2890
2891         * config/mips/abi64.h: Add support for MEABI.
2892
2893 2001-09-15  Eric Christopher  <echristo@redhat.com>
2894
2895         * config/mips/mips.md: Add unspec #2.
2896         (reload_indi): Use.
2897         (reload_outdi): Ditto.
2898         (reload_outsi): Ditto.
2899         (HILO_delay): New.
2900
2901 2001-09-15  Eric Christopher  <echristo@redhat.com>
2902             Jason Eckhardt  <jle@redhat.com>
2903
2904         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
2905         * config/mips/isa32-linux.h: New file.
2906         * config/mips/isa3264.h: Ditto.
2907         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
2908         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
2909         (output_block_mode): Support MEABI.
2910         (function_arg): Ditto. Fix floating point arg passing.
2911         (mips_va_start): Ditto.
2912         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
2913         processors.
2914         (mips_asm_file_start): Add new section to pass abi to gdb.
2915         (function_arg_pass_by_reference): Support MEABI.
2916         (mips_parse_cpu): Support mips32 and mips64 processors.
2917         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
2918         TARGET_MIPS5KC.  Support isa32 and isa64.
2919         (processor_type): Add r4kc, r5kc, r20kc.
2920         (GENERATE_MULT3_SI): New.
2921         (GENERATE_MULT3_DI): Ditto.
2922         (GENERATE_MULT3): Remove.
2923         (ISA_HAS_64BIT_REGS): Add isa == 64.
2924         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
2925         (ISA_HAS_MADD_MSUB): New.
2926         (ISA_HAS_CLZ_CLO): Ditto.
2927         (ISA_HAS_DCLZ_DCLO): Ditto.
2928         (ABI_GAS_ASM_SPEC): New.
2929         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
2930         (ASM_SPEC): Ditto.
2931         (LINK_SPEC): Ditto.
2932         (SUBTARGET_CC1_SPEC): Ditto.
2933         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
2934         (PAD_VARARGS_DOWN): Support MEABI.
2935         (HARD_REGNO_NREGS): Move to mips.c.
2936         (ASM_OUTPUT_IDENT): Add #undef.
2937         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
2938         (mulsi3): Use GENERATE_MULT3_SI.
2939         (mulsi3_mult3): Ditto.  Support mips32, mips64.
2940         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
2941         (mul_sub_si): New pattern.
2942         (unnamed splitters): New.
2943         (muldi3): Use GENERATE_MULT3_DI.
2944         (muldi3_internal2): Ditto.
2945         (movdicc): Support mips32.
2946         * config/mips/t-isa3264: New file.
2947
2948 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
2949
2950         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
2951         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
2952         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
2953
2954         * reorg.c (fill_slots_from_thread): After call to
2955         steal_delay_list_from_target, update own_thread as new_thread may
2956         have branched.
2957
2958 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2959
2960         * cpperror.c (print_location): Take line and column, for
2961         default positioning use the previously lexed token.
2962         (_cpp_begin_message): Take line and column.
2963         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
2964         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
2965         * cpphash.h (_cpp_begin_message): Update prototype.
2966         * cppinit.c (push_include): Don't set output line.
2967         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
2968         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
2969         (do_pragma): Kludge for front ends.  Don't expand macros at all.
2970         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
2971         (struct cpp_token): Remove output_line.
2972         (struct cpp_callbacks): New member line_change.
2973         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
2974         cpp_get_token): Preserve BOL flag.
2975         (cpp_get_line): Remove.
2976         (_cpp_backup_tokens): Remove useless abort().
2977         * cppmain.c (cb_line_change): New.
2978         (scan_translation_unit): Don't worry about starting new lines here.
2979         * scan-decls.c (scan_decls): Update.
2980         * c-lex.c (c_lex, init_c_lex): Update.
2981         (cb_line_change, src_lineno): New.
2982
2983 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
2984
2985         * tree.c (append_random_chars): Generate the random
2986         characters in a reproducable fashion.
2987
2988 2001-09-14  Richard Henderson  <rth@redhat.com>
2989
2990         * config/i386/i386.c (internal_label_prefix): New.
2991         (internal_label_prefix_len): New.
2992         (override_options): Set them.
2993         (local_symbolic_operand): New.
2994         (legitimate_pic_address_disp_p): Use it.
2995         (legitimize_pic_address): Likewise.
2996
2997 2001-09-14  Marc Espie <espie@openbsd.org>
2998
2999         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
3000         correctly.
3001
3002 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
3003
3004         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
3005         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
3006
3007 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
3008
3009         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
3010         invocation of SUBREG_REGNO_OFFSET.
3011
3012         * haifa-sched.c: Fix typo in FSF copyright statement.
3013         * sched-deps.c: Fix typo in FSF copyright statement.
3014         * sched-ebb.c: Fix typo in FSF copyright statement.
3015         * sched-rgn.c: Fix typo in FSF copyright statement.
3016         * sched-vis.c: Fix typo in FSF copyright statement.
3017
3018         * config.gcc: Move inclusion of arm elf specific header files
3019         from the files themselves into the tm_file variable.  Make
3020         sure that elfos.h is included before target specific elf
3021         headers.
3022         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
3023         already defined.
3024         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
3025         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
3026         ASM_OUTPUT_CASE_LABEL): Protect definition.
3027         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
3028         not already defined.
3029         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
3030         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
3031         Remove duplicate definition.
3032         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
3033         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
3034         (RDATA_SECTION_FUNCTION): Remove redundant definition.
3035         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
3036         Remove inclusion of arm/elf.h.
3037         * config/arm/unknown-elf.h: as for conix-elf.h.
3038         (STARTFILE_SPEC): Include crti.o and crtn.o.
3039         * config/arm/linux-elf.h: as for conix-elf.h.
3040         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
3041         * config/arm/strongarm-elf.h: Remove inclusion of
3042         unknown-elf.h.
3043         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
3044         * config/arm/unknown-elf-oabi.h: Remove inclusion of
3045         unknown-elf.h and elf.h.
3046         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
3047         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
3048         ASM_WEAKEN_LABEL): Remove redundant definition.
3049         * config/arm/elf.h: Test for inclusion of elfos.h
3050         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
3051         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
3052         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
3053         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
3054         redundant definition.
3055         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
3056         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
3057         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
3058         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
3059         Add rules to build crti.o and crtn.o
3060         * crti.asm: New file.
3061         * crtn.asm: New file.
3062
3063 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3064
3065         * c-parse.in (_yylex): Use _cpp_backup_tokens.
3066         * cpphash.h (struct tokenrun): Add prev.
3067         (struct lexer_state): Remove bol.
3068         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
3069         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
3070         : Remove.
3071         * cppinit.c (cpp_create_reader): Don't set bol.
3072         (cpp_destroy): Don't free lookaheads.
3073         * cpplex.c (lex_directive): Remove.
3074         (next_tokenrun): Update.
3075         (_cpp_lex_token): Clean up logic.
3076         (lex_token): Update to return a pointer to lexed token, since it
3077         can move to the start of the buffer.  Simpify newline handling.
3078         * cpplib.c (SEEN_EOL): Update.
3079         (skip_rest_of_line): Remove lookahead stuff.
3080         (end_directive): Line numbers are already incremented.  Revert
3081         to start of lexed token buffer if we can.
3082         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
3083         parse_answer): Use _cpp_backup_tokens.
3084         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
3085         instead.  Don't check for EOL.
3086         (do_include_common, do_line, do_pragma_system_header): Use
3087         skip_rest_of_line.
3088         * cpplib.h (BOL, _cpp_backup_tokens): New.
3089         * cppmacro.c (save_lookahead_token, take_lookahead_token,
3090         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
3091         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
3092         (builtin_macro): Don't use cpp_get_line.
3093         (cpp_get_line): Short term kludge.
3094         (parse_arg): Handle directives in arguments here.  Back up when
3095         appropriate.  Store EOF at end of argument list.
3096         (funlike_invocation_p): Use _cpp_backup_tokens.
3097         (push_arg_context): Account for EOF at end of list.
3098         (cpp_get_token): Remove lookahead stuff.  Update.
3099
3100 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3101
3102         * c-parse.in (yyerror): Const-ification and/or static-ization.
3103         * c-typeck.c (push_member_name): Likewise.
3104         * collect2.c (main): Likewise.
3105         * dbxout.c (dbxout_parms): Likewise.
3106         * diagnostic.c (format_with_decl): Likewise.
3107         * dwarf2out.c (output_ranges): Likewise.
3108         * dwarfout.c (fundamental_type_code): Likewise.
3109         * except.c (dw2_output_call_site_table): Likewise.
3110         * gcc.c (do_spec_1): Likewise.
3111         * genopinit.c (optabs): Likewise.
3112         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
3113         gen_declaration_1, handle_impent): Likewise.
3114         * protoize.c (default_include, in_system_include_dir, abspath):
3115         Likewise.
3116         * sched-vis.c (visualize_stall_cycles): Likewise.
3117         * sdbout.c (plain_type_1, sdbout_end_function,
3118         sdbout_end_epilogue): Likewise.
3119         * varasm.c (decode_reg_name): Likewise.
3120
3121         * 1750a.c (mod_regno_adjust): Likewise.
3122         * alpha.c (alpha_write_one_linkage,
3123         unicosmk_output_default_externs): Likewise.
3124         * arm.c (arm_condition_codes): Likewise.
3125         * arm.h (arm_condition_codes): Likewise.
3126         * avr.c (output_movsisf, encode_section_info): Likewise.
3127         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
3128         Likewise.
3129         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
3130         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
3131         * m88k.c (output_function_profiler): Likewise.
3132         * mips.c (mips_output_conditional_branch): Likewise.
3133         * ns32k.c (ns32k_out_reg_names): Likewise.
3134         * ns32k.h (ns32k_out_reg_names): Likewise.
3135         * pj.c (pj_output_rval): Likewise.
3136         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
3137         * sparc.c (sparc_flat_function_prologue,
3138         sparc_flat_function_epilogue): Likewise.
3139
3140 2001-09-13  Markus Werle <numerical.simulation@web.de>
3141             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3142
3143         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
3144         Aachen University of Technology".
3145
3146 2001-09-13  Andreas Schwab  <schwab@suse.de>
3147
3148         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
3149         C99.
3150
3151 2001-09-13  Richard Henderson  <rth@redhat.com>
3152
3153         * config/alpha/alpha.c (small_symbolic_operand): New.
3154         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
3155         (some_operand, input_operand): Don't handle HIGH.
3156         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
3157         (alpha_expand_mov): Likewise.
3158         (print_operand) [H]: Just print HIGH symbol.
3159         (print_operand_address): Handle small data.
3160         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
3161         (TARGET_SWITCHES): Add -msmall-data/large-data.
3162         (PIC_OFFSET_TABLE_REGNUM): New.
3163         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
3164         (PREDICATE_COES): Update.
3165         * config/alpha/alpha.md (adddi_er_high): New.
3166         (adddi_er_low): Handle small data.
3167         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
3168         prefer .sdata to .rodata.
3169         (SELECT_RTX_SECTION): Likewise.
3170
3171 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
3172
3173         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
3174         defining __size_t and leaving size_t undefined.
3175
3176 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
3177
3178         * basic-block.h (expunge_block): Declare.
3179         * cfg.c (expunge_block): Remove static declaration.
3180
3181 2001-09-12  Richard Henderson  <rth@redhat.com>
3182
3183         * integrate.c (copy_insn_list): Copy label name from
3184         NOTE_INSN_DELETED_LABEL.
3185
3186 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3187
3188         * c-common.c (c_tree_code_name): Const-ification.
3189         * c-decl.c (c_decode_option): Likewise.
3190         * c-typeck.c (warn_for_assignment): Likewise.
3191         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
3192         Likewise.
3193         * cppinit.c (output_deps): Likewise.
3194         * dependence.c (dependence_string, direction_string): Likewise.
3195         * dwarf2out.c (output_ranges): Likewise.
3196         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
3197         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
3198         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
3199         standard_startfile_prefix, standard_startfile_prefix_1,
3200         standard_startfile_prefix_2, tooldir_base_prefix,
3201         standard_bindir_prefix, find_a_file): Likewise.
3202         * genattrtab.c (make_length_attrs): Likewise.
3203         * gencheck.c (tree_codes): Likewise.
3204         * genemit.c (gen_split): Likewise.
3205         * genrecog.c (special_mode_pred_table): Likewise.
3206         * graph.c (graph_ext): Likewise.
3207         * protoize (default_include): Likewise.
3208         * reload.c (reload_when_needed_name): Likewise.
3209         * sched-vis.c (visualize_stall_cycles): Likewise.
3210         * tlink.c (recompile_files): Likewise.
3211         * toplev.c (decode_g_option): Likewise.
3212         * tradcpp.c (output_deps): Likewise.
3213         * varasm.c (decode_reg_name): Likewise.
3214
3215         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
3216         Const-ification.
3217         * arm.md: Likewise.
3218         * avr.c (avr_regnames, encode_section_info): Likewise.
3219         * c4x.c (float_reg_names): Likewise.
3220         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
3221         * elfos.h (const_section): Likewise.
3222         * i386.c (ix86_comp_type_attributes): Likewise.
3223         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
3224         * ia64/aix.h (UNIQUE_SECTION): Likewise.
3225         * ia64.c (type_names): Likewise.
3226         * m68hc11.c (reg_class_names): Likewise.
3227         * m88k.c (m_options): Likewise.
3228         * mips.c (mips_output_conditional_branch, mips_unique_section):
3229         Likewise.
3230         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
3231         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
3232         ultra_code_names): Likewise.
3233         * sparc.h (OVERRIDE_OPTIONS): Likewise.
3234
3235 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
3236
3237         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
3238         Use --fatal-warnings option for gas.
3239         * configure: Rebuilt.
3240
3241 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
3242
3243         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
3244
3245 2001-09-11  Jim Wilson  <wilson@redhat.com>
3246
3247         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
3248
3249 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
3250
3251         * builtins.c (c_strlen): Treat an offset too large for a
3252         HOST_WIDE_INT as out of range.
3253
3254 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
3255
3256         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
3257         (EDGE_CRITICAL_P): New predicate.
3258         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
3259         handling.
3260         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
3261         (dump_edge_info): Remove "crit".
3262         * cfganal.c (mark_critical_edges): Kill.
3263         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
3264         * cfgcleanup.c (cleanup_cfg): Likewise.
3265         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
3266         (find_spanning_tree): Likewise.
3267         * reg-stack.c (convert_regs_1): Likewise.
3268         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
3269
3270         * basic-block.h (create_basic_block_structure): New.
3271         (create_basic_block): Update prototype.
3272         (force_nonfallthru): New.
3273         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
3274         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
3275         handle updating of block_for_insn, creating of empty BBs and BBs at
3276         the end of INSN chain.
3277         (create_basic_block): New function.
3278         (split_block): Use create_basic_block.
3279         (force_nonfallthru_and_redirect): Break out from ...; cleanup
3280         (redirect_edge_and_branch_force): ... here.
3281         (force_nonfallthru): New.
3282         (split_edge): Rewrite to use force_nonfallthru and create_block.
3283         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
3284         (find_basic_blocks): Free basic_block_for_insn.
3285         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
3286
3287         * cfg.c: Fix formating.
3288         * cfgcleanup.c: Fix formating.
3289         (merge_blocks, tail_recursion_label_p): Return bool.
3290         (merge_blocks_move_predecessor_nojumps,
3291          merge_blocks_move_successor_nojumps): Return void.
3292
3293 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
3294
3295         * configure.in: Check whether assembler supports section merging.
3296         * config.in: Rebuilt.
3297         * configure: Rebuilt.
3298         * varasm.c (variable_section, output_constant_pool): Pass alignment
3299         to SELECT_SECTION and SELECT_RTX_SECTION.
3300         (mergeable_string_section): New.
3301         (mergeable_constant_section): New.
3302         (default_elf_asm_named_section): Output SECTION_MERGE and
3303         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
3304         * output.h (mergeable_string_section): New.
3305         (mergeable_constant_section): New.
3306         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
3307         * toplev.c (flag_merge_constants): New.
3308         (f_options): Add -fmerge-constants and -fmerge-all-constants
3309         options.
3310         (toplev_main): Default to -fno-merge-constants if not optimizing.
3311         * flags.h (flag_merge_constants): Add extern.
3312         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
3313         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
3314         argument.
3315         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
3316         Define if assembler has working .subsection -1 support.
3317         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
3318         Put constant into special SHF_MERGE sections if the linker should
3319         attempt to merge duplicates.
3320         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
3321         macro argument.
3322         Put constant into special SHF_MERGE sections if the linker should
3323         attempt to merge duplicates.
3324         * config/alpha/elf.h: Likewise.
3325         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
3326         has working .subsection -1 support.
3327         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
3328         SELECT_SECTION.
3329         * config/svr3.h: Likewise.
3330         * config/darwin.h: Likewise.
3331         * config/arm/aof.h: Likewise.
3332         * config/arm/linux-elf.h: Likewise.
3333         * config/avr/avr.h: Likewise.
3334         * config/c4x/c4x.h: Likewise.
3335         * config/d30v/d30v.h: Likewise.
3336         * config/i386/dgux.h: Likewise.
3337         * config/i386/osfrose.h: Likewise.
3338         * config/i386/sco5.h: Likewise.
3339         * config/i386/svr3gas.h: Likewise.
3340         * config/ia64/aix.h: Likewise.
3341         * config/m32r/m32r.h: Likewise.
3342         * config/m68k/m68k.h: Likewise.
3343         * config/m88k/dgux.h: Likewise.
3344         * config/m88k/m88k.h: Likewise.
3345         * config/mcore/mcore-pe.h: Likewise.
3346         * config/mips/mips.h: Likewise.
3347         * config/pa/pa.h: Likewise.
3348         * config/pa/pa-linux.h: Likewise.
3349         * config/romp/romp.h: Likewise.
3350         * config/rs6000/sysv4.h: Likewise.
3351         * config/rs6000/xcoff.h: Likewise.
3352         * config/s390/linux.h: Likewise.
3353         * config/sparc/sparc.h: Likewise.
3354         * config/sparc/sysv4.h: Likewise.
3355         * config/stormy16/stormy16.h: Likewise.
3356         * config/v850/v850.h: Likewise.
3357         * config/vax/vms.h: Likewise.
3358         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
3359         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
3360         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
3361         default_elf_asm_named_section for SHF_MERGE sections.
3362
3363 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
3364
3365         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
3366         is OK.
3367
3368 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3369
3370         * c-common.c (split_specs_attrs): Allow for empty attributes with
3371         empty TREE_PURPOSE.  Fixes PR c/4294.
3372
3373 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
3374
3375         * basic-block.h (cached_make_edge, make_single_succ): New.
3376         (make_edge): Remove first parameter.
3377         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
3378         * cfg.c (cached_make_edge): Rename from make_edge; return newly
3379         created edge; use obstack allocation.
3380         (make_edge, make_single_succ_edge): New.
3381         (first_removed_edge): New static variable.
3382         (init_flow): Initialize first_removed_edge and n_edges.
3383         (clear_edges): Use remove_edge.
3384         (flow_delete_block): Likewise.
3385         (remove_edge): Add removed edges to the removed edges list.
3386         (split_block, redirect_edge_and_branch_force, split_edge):
3387         Use make_edge.
3388         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
3389         (add_noreturn_fake_exit_edges): Likewise.
3390         (connect_infinite_loops_to_exit): Liekwise.
3391         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
3392         Use cached_make_edge.
3393         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
3394         * profile.c (branch_prob): Update make_edge call.
3395         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
3396
3397 2001-09-11  Richard Henderson  <rth@redhat.com>
3398
3399         * config/alpha/alpha.c: Tidy formatting.
3400         (local_symbolic_operand): Verify mode.
3401         (alpha_sa_mask): Ignore unicos for eh_return.
3402         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
3403         * config/alpha/alpha.md (umk divsi patterns): Remove.
3404         (extendsfdf2): Remove unicos check.
3405         (tablejump): Merge vms and unicos code; always use direct set
3406         plus label_ref use.
3407
3408 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
3409
3410         * config.gcc (alpha*-*-unicosmk*): New target.
3411
3412         * config/alpha/alpha-protos.h (symbolic_operand,
3413         unicosmk_add_call_info_word, unicosmk_add_extern,
3414         unicosmk_defer_case_vector, unicosmk_unique_section,
3415         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
3416         unicosmk_asm_file_start, unicosmk_asm_file_end,
3417         unicosmk_output_common): Declare.
3418
3419         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
3420         direct_return, function_arg, alpha_va_start, alpha_va_arg,
3421         alpha_does_function_need_gp, alpha_end_function): Support Cray
3422         Unicos/Mk.
3423         (alpha_init_machine_status, alpha_mark_machine_status,
3424         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
3425         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
3426         unicosmk_asm_named_section, unicosmk_insert_attributes,
3427         unicosmk_section_type_flags, symbolic_operand,
3428         unicosmk_output_module_name, unicosmk_output_default_externs,
3429         unicosmk_output_dex, unicosmk_output_externs,
3430         unicosmk_output_addr_vec, unicosmk_ssib_name,
3431         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
3432         unicosmk_asm_file_end, unicosmk_output_common,
3433         unicosmk_section_type_flags, unicosmk_unique_section,
3434         unicosmk_add_call_info_word, unicosmk_text_section,
3435         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
3436         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
3437         unicosmk_dex_count, unicosmk_special_name): New.
3438         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
3439         TARGET_ABI_UNICOSMK.
3440         (get_aligned_mem, alpha_expand_unaligned_load,
3441         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
3442         alpha_expand_unaligned_store_words): Support big-endian mode.
3443         (print_operand): Likewise. New format specifier 't'. Use
3444         TARGET_AS_SLASH_BEFORE_SUFFIX.
3445         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
3446         (alpha_pv_save_size): Update with above change.
3447         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
3448         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
3449         Unicos/Mk.
3450
3451         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
3452         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
3453         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
3454         (EXTRA_CONSTRAINT): New constraint 'U'.
3455         (PREDICATE_CODES): Add symbolic_operand.
3456
3457         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
3458         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
3459         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
3460         (integer division and modulus patterns): Split in default and
3461         Unicos/Mk versions.
3462         (*divmodsi_internal, *divmoddi_internal): Disable for
3463         TARGET_ABI_UNICOSMK.
3464         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
3465         little-endian and big-endian versions.
3466         (ext, ins, msk): Likewise.
3467         (extv, extzv, insv): Support big-endian mode.
3468         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
3469         (call_umk, call_value_umk, *call_umk, tablejump_umk,
3470         *tablejump_umk_internal, *call_value_umk): New.
3471         (*movdi_nofix): Add pattern for loading an address into a register on
3472         TARGET_ABI_UNICOSMK.
3473         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
3474         (umk_mismatch_args, arg_home_umk): New.
3475         (various insns): Don't use mov, fmov, nop, fnop and unop.
3476         (realign): Support TARGET_ABI_UNICOSMK.
3477
3478         * config/alpha/unicosmk.h: New file.
3479         * config/alpha/t-unicosmk: New file.
3480
3481         * fixinc/inclhack.def (unicosmk_restrict): New.
3482         * fixinc/fixincl.x: Regenerate.
3483
3484         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
3485         (wchar_t): Check for and define __WCHAR_T__.
3486
3487 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
3488
3489         * combine.c (simplify_shift_const): Treat shifts by the mode
3490         size as undefined.
3491
3492 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3493
3494         * cpphash.h (struct tokenrun): New.
3495         (struct cpp_context): New member bol.
3496         (struct cpp_reader): New members.
3497         (_cpp_init_tokenrun): New.
3498         * cppinit.c (cpp_create_reader): Set up the token runs.
3499         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
3500         (lex_token): New internalised version of _cpp_lex_token.  Don't
3501         handle directives or the multiple include opimisation here any
3502         more.  Simply lex a token.
3503         * cpplib.c (run_directive): Clear bol.
3504         (_cpp_pop_buffer): Set bol.
3505         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
3506         arguments.
3507
3508 2001-09-11  Michael Meissner  <meissner@redhat.com>
3509
3510         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
3511         give an error if the user uses -mfp32.
3512         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
3513         default options.
3514         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
3515         floating point register size.
3516         (EXTRA_SPECS): Add CPP_FPR_SPEC.
3517
3518         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
3519         HOST_WIDE_INT_PRINT_DEC to properly print the result of
3520         int_size_in_bytes.
3521         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
3522         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
3523
3524 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
3525
3526         * dbxout.c (dbxout_parms): Fix typo in comment.
3527         * unroll.c (loop_find_equiv_value): Ditto.
3528         * toplev.c (rest_of_compilation): Ditto.
3529         * loop.c (scan_loop): Ditto.
3530         * dwarf2out.c (struct dw_fde_struct): Ditto.
3531
3532 2001-09-10  Zack Weinberg  <zackw@panix.com>
3533
3534         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
3535         copying identifier when we're just going to throw it away.
3536         (parse_identifier_slow): New routine to handle abnormal cases.
3537         (_cpp_lex_token): Update call site.
3538
3539         * hashtable.c (ht_lookup): Don't assume that the string we've
3540         been given is NUL-terminated.
3541         * system.h: #define __builtin_expect(a, b) to (a) if not
3542         GCC >=3.0.
3543
3544 2001-09-10  Michael Meissner  <meissner@redhat.com>
3545
3546         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
3547         binutils, gdb.
3548
3549 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
3550
3551         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
3552
3553 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3554
3555         * builtins.c (c_getstr): Correct thinko in last change and further
3556         cleanup.
3557
3558 2001-09-10  Tim Freeman <tim@fungibole.com>
3559
3560         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
3561         into varray's and register them as roots with the garbage
3562         collector so they are not collected too soon.
3563
3564 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
3565
3566         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
3567         New.
3568         * basic-block.h (flow_obstack, label_value_list,
3569         tail_recursion_label_list): Declare
3570         (tidy_fallthru_edges): Declare.
3571         (expunge_block, last_loop_beg_note): Delete.
3572         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
3573         * cfg.c: New file
3574         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
3575         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
3576         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
3577         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
3578         expunge_block, flow_delete_block, compute_bb_for_insn,
3579         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
3580         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
3581         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
3582         try_redirect_by_replacing_jump, last_loop_beg_note,
3583         redirect_edge_and_branch, redirect_edge_and_branch_force,
3584         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
3585         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
3586         commit_edge_insertions, dump_flow_info, debug_flow_info,
3587         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
3588         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
3589         Move here from flow.c
3590         * cfganal.c: New file.
3591         (forwarder_block_p, can_fallthru, mark_critical_edges,
3592          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
3593          find_unreachable_blocks, create_edge_list, free_edge_list,
3594          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
3595          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
3596          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
3597          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
3598          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
3599          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
3600         Move here from flow.c
3601         * cfgbuild.c: New file
3602         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
3603          make_edges, find_basic_blocks_1, find_basic_blocks,
3604          find_sub_basic_blocks): Move here from flow.c
3605         * cfgcleanup.c: New file.
3606         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
3607          merge_blocks_move_predecessor_nojumps,
3608          merge_blocks_move_successor_nojumps, merge_blocks,
3609          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
3610          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
3611         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
3612         if succeeded.
3613         * cfgloop.c: New file
3614         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
3615          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
3616          flow_loop_exit_edges_find, flow_loop_nodes_find,
3617          flow_loop_pre_header_scan, flow_loop_pre_header_find,
3618          flow_loop_tree_node_add, flow_loops_tree_build,
3619          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
3620          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
3621         Move here from flow.c
3622         * flow.c: Remove everything moved elsewhere
3623         * output.h (cleanup_cfg): Return bool.
3624
3625         * bb-reorder.c (reorder_block_def): Remove 'index'.
3626         (insert_intra_1): Add argument BB, set block for new note.
3627         (make_reorder_chain): Do not depdent on BB indexes.
3628         (make_reorder_chain_1): Do not use BB indexes.
3629         (label_for_bb): Likewise; set BB for new insn.
3630         (emit_jump_to_block_after): Likewise.
3631         (fixup_reoder_chain): Sanity check that all basic blocks
3632         are chained; verify newly created insn chain; remove
3633         undocnitional jump simplifying; Do not use BB indexes;
3634         properly initialize count and frequency information;
3635         dump reordered sequence.
3636         (insert_intra_bb_scope_notes): update call of insert_intra_1.
3637         (insert_inter_bb_scope_notes): Set block for new insn.
3638         (reorder_basic_blocks): Dump flow info before reoredering.
3639
3640 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3641
3642         * alias.c (clear_reg_alias_info): Use K&R format definition.
3643         Avoid unsigned warning.
3644         * builtins.c: Use "unsigned int", not "unsigned".
3645         (target_char_cast): Use host_integerp and tree_low_cst.
3646         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
3647         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
3648         (c_getstr): Likewise.
3649         (std_expand_builtin_va_arg): Use int_size_in_bytes.
3650         (builtin_memcpy_read_str): Avoid unsigned warning.
3651         (expand_builtin_memcpy): Alignments are unsigned.
3652         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
3653         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
3654         * predict.c (expensive_function_p): LIMIT now unsigned.
3655         * resource.c (mark_target_live_regs): Make some vars unsigned.
3656         * sdbout.c: Use "unsigned int", not "unsigned".
3657         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
3658         (sdbout_source_line): Likewise.
3659         (sdbout_record_type_name): Remove "const" for NAME declaration.
3660         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
3661
3662 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
3663
3664         * calls.c (store_one_arg): Expand comment.
3665
3666 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
3667
3668         * calls.c (store_one_arg): Make sure that the entire argument is
3669         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
3670
3671 2001-09-09  Richard Henderson  <rth@redhat.com>
3672
3673         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
3674
3675 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
3676
3677         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
3678
3679 2001-09-09  Richard Henderson  <rth@redhat.com>
3680
3681         * config/alpha/alpha.c (alpha_next_sequence_number): New.
3682         (alpha_this_literal_sequence_number): New.
3683         (alpha_this_gpdisp_sequence_number): New.
3684         (some_operand, input_operand): Add HIGH.
3685         (local_symbolic_operand): New.
3686         (alpha_encode_section_info): New.
3687         (alpha_legitimate_address_p): Allow LO_SUM.
3688         (alpha_legitimize_address): Generate HIGH+LO_SUM.
3689         (alpha_expand_mov): Likewise.
3690         (secondary_reload_class): Check memory_operand not general_operand
3691         for FP_REGS test.
3692         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
3693         (alpha_expand_unaligned_store): Likewise.
3694         (alpha_expand_unaligned_load_words): Likewise.
3695         (alpha_expand_unaligned_store_words): Likewise.
3696         (alpha_expand_block_clear): Likewise.
3697         (print_operand): Handle %#, %*, %H.
3698         (print_operand_address): Handle LO_SUM.
3699         (find_lo_sum): New.
3700         (alpha_does_function_need_gp): Use it.
3701         (alpha_expand_block_move): Fix signed compare warnings.
3702         (alpha_sa_mask, alpha_align_insns): Likewise.
3703         * config/alpha/alpha-protos.h: Update.
3704         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
3705         (MASK_EXPLICIT_RELOCS): New.
3706         (TARGET_SWITCHES): Add -mexplicit-relocs.
3707         (EXTRA_CONSTRAINT): Add 'T'.
3708         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
3709         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
3710         (ENCODE_SECTION_INFO): Out line.
3711         (REDO_SECTION_INFO_P): New.
3712         (STRIP_NAME_ENCODING): New.
3713         (ASM_OUTPUT_LABELREF): New.
3714         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
3715         (PREDICATE_CODES): Update.
3716         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
3717         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
3718         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
3719         builtin_setjmp_receiver_er, exception_receiver_1_er,
3720         call_value_osf_1_er): New patterns.
3721         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
3722         (movqi, movhi, movsi): Add explicit $31 base register to lda.
3723         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
3724         (FINAL_PRESCAN_INSN): New.
3725
3726 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
3727
3728         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
3729
3730 2001-09-08  Andreas Jaeger  <aj@suse.de>
3731
3732         * i386.h (TARGET_SWITCHES): Fix description.
3733
3734 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
3735
3736         * rs6000.c (num_insns_constant): Compute number of instructions
3737         more accurately.
3738
3739         * doc/install.texi: Explain AIX exception handling work-around.
3740         Update URL for AIX fixes.
3741
3742 2001-09-07  Jim Wilson  <wilson@redhat.com>
3743
3744         * alias.c (clear_reg_alias_info): New.
3745         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
3746         * rtl.h (clear_reg_alias_info): Declare.
3747
3748 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
3749
3750         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
3751         available.
3752         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
3753         (m16m,edivm,emulm): Change declaration to match definition.
3754
3755 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
3756
3757         * reload.c (push_reload): Check for subreg_lowpart_p instead of
3758         SUBREG_BYTE being 0 when determining if the inner part of a subreg
3759         can be reloaded.
3760
3761 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
3762
3763         * c-common.c (signed_or_unsigned_type): Handle machine mode types
3764         which have no corresponding C type.
3765         * fold_const.c (target_isinf,target_isnan,target_negative): Update
3766         the representation of 64-bit doubles to work with 64-bit ints.
3767
3768 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
3769
3770         * config/mips/mips.c (override_options): Do not override ISA when ABI
3771         specified if MIPS_CPU_STRING_DEFAULT was specified.
3772
3773 2001-09-07  Richard Henderson  <rth@redhat.com>
3774
3775         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
3776         (express_from_1): Wrap lines.
3777         * rtlanal.c (commutative_operand_precedence): Rename from
3778         operand_preference; export.
3779         * rtl.h: Declare it.
3780         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
3781         (simplify_binary_operation): Invoke simplify_plus_minus on
3782         (CONST (PLUS ...)) as well.
3783         (struct simplify_plus_minus_op_data): New.
3784         (simplify_plus_minus_op_data_cmp): New.
3785         (simplify_plus_minus): Use them.  Avoid infinite recursion with
3786         simplify_binary_operation wrt CONST.
3787
3788 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
3789
3790         * h8300-protos.h (general_operand_dst_push): Remove.
3791         * h8300.c (general_operand_dst_push): Likewise.
3792         * h8300.h (OK_FOR_T): Likewise.
3793         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
3794         * h8300.md (pushqi_h8300): New.
3795         (pushqi_h8300hs): Likewise.
3796         (pushqi): Likewise.
3797         (pushhi_h8300): Likewise.
3798         (pushhi_h8300hs): Likewise.
3799         (pushhi): Likewise.
3800
3801 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3802
3803         * genattrtab.c (attr_printf): First arg is unsigned.
3804         Clean up formatting of callers.
3805
3806 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
3807
3808         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
3809         registers.
3810
3811 2001-09-07  Andreas Jaeger  <aj@suse.de>
3812
3813         * i386.h (TARGET_SWITCHES): Fix descriptions.
3814
3815 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
3816
3817         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
3818
3819 2001-09-06  Ira Ruben  <ira@apple.com>
3820
3821         Remove OP_IDENTIFIER.
3822         * tree.def (OP_IDENTIFIER): Remove.
3823         * tree.c (tree_node_kind enum): Remove op_id_kind.
3824         (tree_node_kind_names): Remove "op_identifiers".
3825         (make_node): Remove OP_IDENTIFIER test.
3826         (build_op_identifier): Removed because it isn't being used.
3827         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
3828         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
3829
3830 2001-09-06  Richard Henderson  <rth@redhat.com>
3831
3832         * simplify-rtx.c (simplify_binary_operation): Revert last change.
3833
3834 2001-09-06  Richard Henderson  <rth@redhat.com>
3835
3836         * simplify-rtx.c (simplify_binary_operation): Simplify contents
3837         of CONST.
3838
3839 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3840
3841         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
3842         number used for CR register.
3843
3844 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
3845                           Joern Rennecke (amylaar@cygnus.com)
3846
3847         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
3848         * h8300.c (initial_offset): Handle offset between RP and FP.
3849         (h8300_return_addr_rtx): New function.
3850         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
3851         return register.
3852         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
3853         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
3854         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
3855         (CAN_ELIMINATE, REGISTER_NAMES):
3856         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
3857
3858 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
3859
3860         Remove TYPE_NONCOPIED_PARTS.
3861         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
3862         (struct tree_type): Remove noncopied_parts.
3863         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
3864         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
3865         (fixed_type_p): Remove.
3866         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
3867         (expand_expr, MODIFY_EXPR): Likewise.
3868         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
3869         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
3870
3871 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
3872
3873         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
3874         compiler warnings.
3875         (mask64_operand): Likewise.
3876         (includes_rldic_lshift_p): Likewise.
3877         (includes_rldicr_lshift_p): Likewise.
3878
3879 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
3880
3881         * objc/objc-act.c (build_message_expr): If a class method cannot
3882         be found, do not issue a warning if a corresponding instance
3883         method exists in the root class.
3884
3885 2001-09-05  Richard Henderson  <rth@redhat.com>
3886
3887         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
3888
3889 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
3890
3891         * function.c (ggc_mark_struct_function): Mark f->outer.
3892         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
3893         * integrate.c (output_inline_function): ... not here.
3894
3895 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
3896
3897         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
3898
3899         * i386.c (size_cost): New static variable.
3900         (override_function): Use size_cost when -Os is specified.
3901
3902         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
3903         properly;  Use current_function_calls_eh_return.
3904         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
3905         use leave to avoid depdendancy chain.
3906
3907         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
3908         get BB loop_depth instead of computing it from LOOP notes.
3909
3910         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
3911
3912 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3913
3914         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3915         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3916         UNALIGNED_DOUBLE_INT_ASM_OP): Define
3917
3918 2001-09-05  Jeffrey A Law  (law@cygnus.com)
3919             Jason Merrill (jason@redhat.com)
3920
3921         * stor-layout.c (layout_type): Complain if an array's size can
3922         not be represented in a size_t.
3923
3924         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
3925
3926 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
3927
3928         * gcc.c: (process_command) Add parentheses around assignment
3929         used as truth value.
3930
3931 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
3932
3933         * config/mips/mips.c (save_restore_insns): Don't mark any register
3934         save slots as unchanging if current_function_calls_eh_return.
3935
3936 2001-09-05  Richard Henderson  <rth@redhat.com>
3937
3938         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
3939         * config/alpha/alpha-protos.h: Declare it.
3940         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
3941         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
3942         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
3943         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
3944         (REG_OK_FOR_BASE_P): Select one of the above.
3945
3946 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
3947
3948         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
3949         (crti.o): Prefix name of object file with $(T).
3950         (crtn.o): Likewise.
3951
3952 2001-09-05  David S. Miller  <davem@redhat.com>
3953
3954         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
3955         * config/sparc/linux64.h: Likewise.
3956
3957 2001-09-05  Andreas Jaeger  <aj@suse.de>
3958
3959         * doc/invoke.texi (i386 Options): -mwide-multiply is not
3960         available anymore, remove the documentation.
3961         (i386 Options): Fix typo, cleanup index entries.
3962
3963         * prefix.c (concat): Remove, we can use the version from liberty.
3964
3965 2001-09-05  Richard Henderson  <rth@redhat.com>
3966
3967         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
3968         New functions split out of md file expanders.
3969         * config/alpha/alpha-protos.h: Declare them.
3970         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
3971
3972 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3973
3974         * cppmacro.c (funlike_invocation_p): No need to restore context.
3975
3976 2001-09-04  Richard Henderson  <rth@redhat.com>
3977
3978         * reload.c (push_reload): Export.
3979         * reload.h (push_reload): Declare it.
3980
3981         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
3982         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
3983         * config/alpha/alpha.c (alpha_legitimize_address): New.
3984         (alpha_legitimize_reload_address): Likewise.
3985         * config/alpha/alpha-protos.h: Declare them.
3986
3987 2001-09-04  Stan Shebs  <shebs@apple.com>
3988
3989         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
3990         * config/darwin.c (machopic_stub_name): Account for internally
3991         generated lib calls such as memcpy.
3992
3993 2001-09-04  Richard Henderson  <rth@redhat.com>
3994
3995         * unwind.h (_UA_END_OF_STACK): New flag.
3996         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
3997
3998 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
3999
4000         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
4001
4002 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
4003
4004         * config/mips/mips.c (save_restore_insns): Change base_offset to
4005         fp_offset in second call to mips_emit_frame_related_store.
4006
4007 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
4008
4009         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
4010         sometimes be represented as a NOTE of type
4011         NOTE_INSN_DELETED_LABEL.
4012         (Insns): Document NOTE_INSN_DELETED_LABEL.
4013
4014 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
4015
4016         * c-common.h (tree_dump_index): Add more comments.
4017         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
4018         (dump_option_value_info): New struct.
4019         (dump_options): New array.
4020         (dump_switch_p): Parse switch options symbolically.
4021         * doc/invoke.texi (-fdump-ast): Rename to ...
4022         (-fdump-tree): ... here. Document that options are symbolic, and
4023         not all are applicable.
4024
4025 2001-09-04  David S. Miller  <davem@redhat.com>
4026
4027         * config/sparc/sparc.md (define_splits): Kill constraints.
4028
4029         Cleanup redundant and unused insn attributes.
4030         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
4031         binary, and move.  Mark ialu as default.
4032         (commented out define_function_unit "alu"): Kill.
4033         (define_attr "use_clobbered"): Kill.
4034         (whole file): Kill address insn type references.  Replace
4035         all unary/binary/move references with ialu.
4036         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
4037         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
4038         TYPE_IALU.
4039
4040         Simplify length insn attribute and make more judicious use
4041         of insn attribute defaulting.
4042         * config/sparc/sparc.md (all insns with length > one): Mark as
4043         insn type multi if real instructions, else use default if
4044         it is a forced splitter.
4045         (all insns with length == one): Use default insn length.
4046         (all insns of type ialu): Use default insn type.
4047
4048         Fix erroneous insn attribute settings.
4049         (addx): Set insn type to misc.
4050         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
4051         const_umulsidi3_sp64): Set insn type to imul.
4052
4053         Track SFmode vs DFmode insns according to UltraSPARC
4054         scheduling rules.
4055         * config/sparc/sparc.md ("fptype"): New attribute, default
4056         to "single".
4057         (all DFmode single insns): Mark as fptype "double".
4058
4059 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
4060
4061         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
4062
4063 2001-09-03  Richard Henderson  <rth@redhat.com>
4064
4065         * function.h (struct function): Add arg_pointer_save_area_init.
4066         * function.c (expand_function_end): Init arg_pointer_save_area.
4067         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
4068         when called from a nested function.
4069
4070 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
4071
4072         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
4073         is enabled.
4074
4075 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
4076
4077         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
4078
4079 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
4080
4081         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
4082         (emit_push_insn): Use specified padding direction when
4083         STACK_PUSH_CODE is POST_INC.
4084
4085         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
4086
4087 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4088
4089         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
4090
4091 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
4092
4093         * cppinit.c (cpp_start_read): Free the imacros list as we
4094         traverse it.  Don't free the chains before returning.
4095         (_cpp_push_next_buffer): Only try pushing buffers if we've
4096         completed -imacros handling.
4097
4098 2001-08-31  Eric Christopher  <echristo@redhat.com>
4099
4100         * gcc.c (handle_braces): Add explaination for abort.
4101
4102 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
4103
4104         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
4105         move adjustment of bitpos instead.
4106
4107 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
4108
4109         * function.c: Remove all_functions.  Make outer_function_chain
4110         static.
4111         (init_function_start): Don't add new function structure to
4112         all_functions.
4113         (find_function_data, push_function_context_to,
4114         pop_function_context_from, put_var_into_stack,
4115         trampoline_address): Update for changed structure element names.
4116         (push_function_context_to): Disentangle.
4117         (free_after_compilation): Also free F.
4118         (expand_dummy_function_end): Don't free cfun here.
4119         (put_var_into_stack): Comment why we can't use find_function_data here.
4120         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
4121         (mark_function_chain): Split into maybe_mark_struct_function and
4122         ggc_mark_struct_function.  Export the latter.
4123         (init_function_once): Mark from cfun and outer_function_chain;
4124         not all_functions.
4125
4126         * function.h (struct function): Kill next_global.  Rename next
4127         to outer.  All users updated to match.
4128         (all_functions, outer_function_chain): Don't declare.
4129
4130         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
4131         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
4132         don't touch f->inlinable, after calling rest_of_compilation.
4133
4134         * tree.h: Forward-declare struct function.  Prototype
4135         ggc_mark_struct_function.
4136
4137 2001-08-31  Kazu Hirata  <kazu@hxi.com>
4138
4139         * config/h8300/h8300.md (*andorhi3): Fix typos.
4140
4141 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4142
4143         * calls.c (emit_library_call_value): Don't use a fixed
4144         argument after VA_CLOSE, i.e. out of scope in traditional C.
4145
4146         * emit-rtl.c (gen_rtvec): Likewise.
4147
4148 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4149
4150         * Makefile.in (c-pragma.o): Depend on output.h.
4151         (reorg.o): Depend on except.h.
4152
4153         * c-pragma.c: Include output.h.
4154
4155         * reorg.c: Include except.h.
4156
4157         * unwind-dw2.c: Call __builtin_alloca, not alloca.
4158
4159 2001-08-31  Richard Henderson  <rth@redhat.com>
4160
4161         * sched-deps.c (add_dependence): Don't elide dependancy if the
4162         conditional used by insn is modified in elem.
4163
4164 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
4165
4166         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
4167
4168 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
4169
4170         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
4171         dump_switch_p.
4172
4173 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
4174
4175         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
4176         function.
4177         (stormy16_asm_out_constructor): New function.
4178         (TARGET_ASM_CONSTRUCTOR): Define.
4179         (TARGET_ASM_DESTRUCTOR): Define.
4180
4181 2001-08-31  Andreas Jaeger  <aj@suse.de>
4182
4183         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
4184         * loop.c (add_label_notes): Likewise.
4185         * reload.c (find_reloads): Likewise.
4186         * config/sh/sh.c (machine_dependent_reorg): Likewise.
4187
4188 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
4189
4190         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
4191         code here.  Take _Unwind_{W,Sw}ord*.
4192         (read_encoded_value_with_base): Use them.
4193         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
4194         words.
4195         (extract_cie_info): Simplify read_?leb128 handling.
4196         (execute_stack_op, execute_cfa_program): Likewise.
4197         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
4198
4199 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
4200
4201         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
4202         the frame pointer to pop the stack if convenient.
4203
4204         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
4205         Don't use post-increment before combine.
4206         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
4207         a call-saved register.
4208
4209 2001-08-31  Andreas Jaeger  <aj@suse.de>
4210
4211         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
4212         code was correct.
4213
4214 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
4215
4216         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
4217         not DIV/MOD, of course.
4218
4219 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
4220
4221         * rtl.def: Undo my patch commited 2001-08-27.
4222
4223         * genattrtab.c: Ditto.
4224
4225         * rtl.h: Ditto.
4226
4227         * sched-int.h: Ditto.
4228
4229         * target-def.h: Ditto.
4230
4231         * target.h: Ditto.
4232
4233         * haifa-sched.c: Ditto.
4234
4235         * sched-rgn.c: Ditto.
4236
4237         * sched-vis.c: Ditto.
4238
4239         * Makefile.in: Ditto.
4240
4241         * doc/md.texi: Ditto.
4242
4243         * doc/tm.texi: Ditto.
4244
4245         * doc/contrib.texi: Ditto.
4246
4247         * doc/gcc.texi: Ditto.
4248
4249         * genattrtab.h: Remove it.
4250
4251         * genautomata.c: Remove it.
4252
4253         * genattr.c: Undo my patch and Richard Henderson's patch commited
4254         2001-08-27.
4255
4256 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
4257
4258         * config.gcc (h8300-*-elf*): New case.
4259         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
4260         (SUBTARGET_CPP_SPEC): Define.
4261         (EXTRA_SPECS): Define.
4262         (SUBTARGET_EXTRA_SPECS): Define.
4263         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
4264         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
4265
4266 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
4267
4268         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
4269         (LIB2FUNCS_EXTRA): Define.
4270         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
4271         config/h8300/fixunssfsi.c: New file.
4272
4273 2001-08-30  Kazu Hirata  <kazu@hxi.com>
4274
4275         * config/h8300/h8300.md (zero_extendqihi2): Changes to
4276         define_expand to accomodate target-specific attributes.
4277         (anonymous zero_extendqihi2 patterns): New.
4278
4279 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
4280
4281         * h8300.md (*andorhi3): New pattern.
4282
4283 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
4284
4285         * h8300.c (dosize): Fix test for "sub".
4286
4287 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
4288
4289         * c-typeck.c (pointer_diff): Try to eliminate common term before
4290         doing conversions.
4291
4292 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
4293
4294         * config/arm/arm.c (arm_compute_initial_elimination_offset):
4295         Account for the saves of the FP registers.
4296
4297         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
4298         (TEXT_SECTION_ASM_OP): Define.
4299         (INIT_SECTION_ASM_OP): Define.
4300         (FINI_SECTION_ASM_OP): Define.
4301         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
4302         (RDATA_SECTION_FUNCITON): Provide prototype.
4303
4304 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
4305
4306         * reload1.c (move2add_note_store): Correct typo checking for
4307         argument pushes.
4308
4309 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
4310
4311         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
4312         note should not be considered outside the libcall block.
4313
4314 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4315
4316         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
4317
4318 2001-08-29  Kazu Hirata  <kazu@hxi.com>
4319
4320         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
4321
4322 2001-08-29  Kazu Hirata  <kazu@hxi.com>
4323
4324         * config/h8300/h8300-protos.h: Add a prototype for
4325         emit_logical_op.
4326         * config/h8300/h8300.c (emit_logical_op): New.
4327         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
4328         (andsi3): Likewise.
4329         (iorhi3): Likewise.
4330         (iorsi3): Likewise.
4331         (xorhi3): Likewise.
4332         (xorsi3): Likewise.
4333
4334 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4335
4336         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
4337         comparison with rtx INTVAL.
4338         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
4339         expression.
4340         * pa.h (FUNCTION_ARG_SIZE): Likewise.
4341
4342 2001-08-29  Kazu Hirata  <kazu@hxi.com>
4343
4344         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
4345         comment typos.
4346
4347 2001-08-29  Kazu Hirata  <kazu@hxi.com>
4348
4349         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
4350         (reg n) to (mem (pre_dec (reg n))
4351         (anonymous movsi pattern): Likewise.
4352
4353 2001-08-29  Kazu Hirata  <kazu@hxi.com>
4354
4355         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
4356
4357 2001-08-29  Kazu Hirata  <kazu@hxi.com>
4358
4359         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
4360         several special constants.
4361
4362 2001-08-29  Kazu Hirata  <kazu@hxi.com>
4363
4364         * config/h8300/lib1funcs.asm: Fix comment typos.
4365
4366 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4367
4368         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
4369         Fix format specifier warnings.
4370
4371         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
4372         inet_makeaddr, semctl): Prototype.
4373
4374         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
4375         (save_restore_insns): Use base_offset, not gp_offset.
4376
4377         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
4378         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4379
4380 2001-08-29  Richard Henderson  <rth@redhat.com>
4381
4382         * bb-reorder.c (function_tail_eff_head): New.
4383         (record_effective_endpoints): Set it.
4384         (fixup_reorder_chain): Use it.
4385
4386 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4387
4388         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
4389
4390 2001-08-28  Dale Johannesen  <dalej@apple.com>
4391
4392         * config/darwin.c (machopic_function_base_name): Add const
4393         qualifier to a string.
4394         (darwin_encode_section_info): Ditto.
4395
4396 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4397
4398         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
4399         function definition.
4400
4401 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
4402
4403         * df.h (struct df): Add rts_order variable.
4404
4405         * df.c (df_visit_next_rts): New function.
4406         (df_visit_next): Renamed to df_visit_next_rc
4407         (df_analyse_1): Allocate/compute/free rts_order as well.
4408         (df_rd_global_compute): Use df_visit_next_rc instead of
4409         df_visit_next.
4410         (df_ru_global_compute): Use df_visit_next_rts instead of
4411         df_visit_next.
4412
4413         * flow.c (flow_reverse_top_sort_order_compute): New function.
4414
4415         * basic-block.h: Add prototype.
4416
4417 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
4418
4419         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
4420         blocks, the BB_REACHABLE is now set, rather than aux being
4421         non-NULL. Update the test to reflect this.
4422
4423 2001-08-28  Eric Christopher  <echristo@redhat.com>
4424
4425         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
4426         config/mips/crti.asm: Ditto.
4427
4428 2001-08-28  Eric Christopher <echristo@redhat.com>
4429             Richard Henderson <rth@redhat.com>
4430
4431         * c-pragma.h (add_weak): Move prototype from here...
4432         * output.h (add_weak): ... to here.
4433         * varasm.c (add_weak): Fix typo.
4434         * config/mips/crti.asm: New file.
4435         * config/mips/crtn.asm: Ditto.
4436         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
4437         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
4438         (INVOKE__main): Ditto.
4439         (INIT_SECTION_ASM_OP): New.
4440         (FINI_SECTION_ASM_OP): Ditto.
4441         (STARTFILE_SPEC): Add crti.
4442         (ENDFILE_SPEC): Add crtn.
4443         * config/mips/elf64.h: Same.
4444         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
4445         Remove.
4446         * config/mips/vxworks.h: Ditto.
4447         * config/mips/t-elf: Support crti and crtn.
4448
4449 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
4450
4451         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
4452         INSN_LIST.
4453
4454 2001-08-28  Richard Henderson  <rth@redhat.com>
4455
4456         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
4457         (one_cmplbi2 splitter): Remove redundant test.
4458
4459 2001-08-28  Dale Johannesen  <dalej@apple.com>
4460
4461         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
4462
4463 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
4464
4465         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
4466
4467 2001-08-28  Stan Shebs  <shebs@apple.com>
4468
4469         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
4470         (UNALIGNED_SHORT_ASM_OP): Define.
4471         (UNALIGNED_INT_ASM_OP): Define.
4472
4473 2001-08-28  Will Cohen  <wcohen@redhat.com>
4474
4475         * config/rs6000/rs6000.md (store_multiple): Correct RTL
4476         generation for first set.
4477
4478 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
4479
4480         * flow.c (redirect_edge_succ_nodup): Return new edge.
4481         (try_simplify_condjump): Use new edge.
4482         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
4483
4484         * cse.c (cse_basic_block): Skip note instructions.
4485
4486 2001-08-27  Richard Henderson  <rth@redhat.com>
4487
4488         * combine.c (combine_simplify_rtx): Don't reverse condition
4489         if there is no reverse for the condition.
4490         (simplify_comparison): Don't simplify subregs from INT to FP.
4491
4492         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
4493         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
4494         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
4495         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
4496         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
4497         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
4498
4499 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
4500
4501         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
4502         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
4503         (pushqi1): New.
4504         (adddi_dilshr32, adddi_dishl32): Only data register can be
4505         source for mem destination.
4506
4507         * expmed.c (store_bit_field): Ignore adjustment to bitpos
4508         and use bitnum to decide about register move.
4509
4510 2001-08-27  Richard Henderson  <rth@redhat.com>
4511
4512         * genattr.c (main): Emit state_t even when not doing scheduling.
4513
4514 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
4515             Richard Henderson  <rth@redhat.com>
4516
4517         * gcse.c (reg_first_set, reg_last_set): Replace with ...
4518         (reg_avail_info, current_bb): ... these.
4519         (oprs_unchanged_p, record_last_reg_set_info): Use them.
4520         (compute_hash_table): Likewise.
4521
4522 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
4523
4524         * flow.c (verify_flow_info): Use checksums to verify edges.
4525
4526 2001-08-27  Richard Henderson  <rth@redhat.com>
4527
4528         * genautomata.c (expand_automata): Always create a description.
4529
4530 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
4531
4532         * optabs.c (expand_binop): Correctly handle the carry in multiword
4533         add/subtract operations.
4534
4535 2001-08-27  Fred Fish  <fnf@be.com>
4536
4537         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
4538         __SIZE_TYPE__.
4539
4540 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
4541
4542         * reload.c (find_reloads_toplev): Back out this change:
4543
4544         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
4545
4546         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
4547         mem if the address is a mode_dependent_address_p.
4548
4549 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
4550
4551         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
4552         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
4553         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
4554         RTL constructions.
4555
4556         * genattr.c (main): New variable num_insn_reservations.  Increase
4557         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
4558         pipeline hazard recognizer interface.
4559
4560         * genattrtab.h: New file.
4561
4562         * genattrtab.c: Include genattrtab.h.
4563         (attr_printf, check_attr_test, make_internal_attr,
4564         make_numeric_value): Move protypes into genattrtab.h.  Define them
4565         as external.
4566         (num_dfa_decls): New global variable.
4567         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
4568         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
4569         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
4570         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
4571
4572         * genautomata.c: New file.
4573
4574         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
4575
4576         * sched-int.h: (curr_state): Add the external definition for
4577         automaton pipeline interface.
4578         (haifa_insn_data): Add comments for members blockage and units.
4579
4580         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4581         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4582         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
4583         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
4584         TARGET_SCHED_DFA_POST_CYCLE_INSN,
4585         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4586         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
4587         macros.
4588         (TARGET_SCHED): Use the new macros.
4589
4590         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
4591         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
4592         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
4593         dfa_bubble): New members in gcc_target.sched.
4594
4595         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
4596         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
4597         (insn_queue): Redefine it as pointer to array.
4598         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
4599         INSN_QUEUE_SIZE.
4600         (max_insn_queue_index_macro_value): New variable.
4601         (curr_state, dfa_state_size, ready_try): New varaibles for
4602         automaton interface.
4603         (ready_element, ready_remove, max_issue): New function prototypes
4604         for automaton interface.
4605         (choose_ready): New function prototype.
4606         (insn_unit, blockage_range): Add comments.
4607         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
4608         FUNCTION_UNITS_SIZE == 0.
4609         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
4610         actual_hazard, potential_hazard): Add comments.
4611         (insn_cost): Use cost -1 as undefined value.  Remove
4612         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
4613         pipeline interface.
4614         (ready_element, ready_remove): New functions for automaton
4615         interface.
4616         (schedule_insn): Add new code for automaton pipeline interface.
4617         (queue_to_ready): Add new code for automaton pipeline interface.
4618         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
4619         (debug_ready_list): Print newline when the queue is empty.
4620         (max_issue): New function for automaton pipeline interface.
4621         (choose_ready): New function.
4622         (schedule_block): Add new code for automaton pipeline interface.
4623         Print ready list before scheduling each insn.
4624         (sched_init): Add new code for automaton pipeline interface.
4625         Initiate insn cost by -1.
4626         (sched_finish): Free the current automaton state and finalize
4627         automaton pipeline interface.
4628
4629         * sched-rgn.c: Include target.h.
4630         (init_ready_list, new_ready, debug_dependencies): Add new code for
4631         automaton pipeline interface.
4632
4633         * sched-vis.c: Include target.h.
4634         (get_visual_tbl_length): Add code for automaton interface.
4635         (target_units, print_block_visualization):  Add comments.
4636
4637         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
4638         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
4639         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
4640         (getruntime.o, genautomata.o): New entries.
4641         (genattrtab.o): Add new dependency file genattrtab.h.
4642         (genattrtab): Add new dependencies.  Link it with `libm.a'.
4643         (getruntime.o, hashtab.o): New entries for canadian cross.
4644
4645         * doc/md.texi: Description of automaton based model.
4646
4647         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
4648         Add comments.
4649         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4650         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
4651         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4652         TARGET_SCHED_DFA_POST_CYCLE_INSN,
4653         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
4654         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4655         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
4656         hook descriptions.
4657         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
4658         MAX_DFA_ISSUE_RATE): New macro descriptions.
4659
4660         * doc/contrib.texi: Add dfa based scheduler contribution.
4661
4662         * doc/gcc.texi: Add more information about genattrtab.
4663
4664 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
4665
4666         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
4667         an RTL basic block.
4668
4669 2001-08-27  Richard Henderson  <rth@redhat.com>
4670
4671         * function.c (expand_function_end): Don't init arg_pointer_save_area.
4672         (get_arg_pointer_save_area): New.  Create an init it here.
4673         (fix_lexical_addr): Use it.
4674         * function.h: Declare it.
4675         * builtins.c (expand_builtin_setjmp_receiver): Use it.
4676         * stmt.c (expand_nl_goto_receiver): Use it.
4677
4678 2001-08-27  Richard Henderson  <rth@redhat.com>
4679
4680         * final.c (final_scan_insn): Don't enter APP_ON mode for
4681         empty asm strings.
4682
4683         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
4684         alignment for assemble_integer for DW_EH_PE_aligned.
4685         * except.c (output_function_exception_table): Likewise.
4686
4687 2001-08-26  Andreas Jaeger  <aj@suse.de>
4688
4689         * c-tree.h: Add prototyp for c_sizeof_nowarn.
4690
4691 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
4692
4693         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
4694
4695 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
4696
4697         * config/rs6000/rs6000.c (mask_operand): Rewrite without
4698         bit-shifting loop.
4699         (mask64_operand): Likewise.
4700         (rldic_operand): Delete.
4701         (includes_lshift64_p): Delete.
4702         (includes_rldic_lshift_p): New function.
4703         (includes_rldicr_lshift_p): New function.
4704         (print_operand): Don't call rldic_operand in case 'W'.
4705         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
4706         (includes_lshift64_p): Remove.
4707         (includes_rldic_lshift_p): Declare.
4708         (includes_rldicr_lshift_p): Declare.
4709         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
4710         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
4711         Replace match_operand rldic_operand predicate with
4712         const_int_operand.  Replace includes_lshift64_p condition with
4713         includes_rldic_lshift_p.
4714         <ashldi3_internal 64 bit rldicr patterns>: New.
4715
4716 2001-08-27  Andreas Jaeger  <aj@suse.de>
4717
4718         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
4719         * errors.c: Likewise.
4720         * final.c: Likewise.
4721         * dwarf2asm.c: Likewise.
4722         * doprint.c (checkit): Likewise.
4723         * diagnostic.c: Likewise.
4724         * collect2.c: Likewise.
4725         * calls.c: Likewise.
4726         * c-semantics.c (build_stmt): Likewise.
4727         * c-format.c (status_warning): Likewise.
4728         * c-errors.c (pedwarn_c99): Likewise.
4729         * builtins.c (validate_arglist): Likewise.
4730         * config/pj/pj.c (pj_printf): Likewise.
4731         * fix-header.c: Likewise.
4732         * gcc.c: Likewise.
4733         * gcov.c (fnotice): Likewise.
4734         * gensupport.c (message_with_line): Likewise.
4735         * mips-tfile.c: Likewise.
4736         * protoize.c (notice): Likewise.
4737         * read-rtl.c (fatal_with_file_and_line): Likewise.
4738         * rtl-error.c: Likewise.
4739         * tradcpp.c: Likewise.
4740         * tree.c: Likewise.
4741         * cp/tree.c (build_min_nt): Likewise.
4742         (build_min): Likewise.
4743         * cp/lex.c: Likewise.
4744         * cp/errfn.c: Likewise.
4745         * cp/rtti.c (create_pseudo_type_info): Likewise.
4746
4747 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
4748
4749         * df.c (df_uses_record): Return after recording all uses
4750         in ASM_OPERANDS.
4751
4752 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
4753
4754         * df.c (df_insn_modify): Realloc the INSN table here, if
4755         necessary, here, too.
4756
4757 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
4758
4759         * config/mips/mips.c (mips_function_value): Handle complex return
4760         values.
4761
4762 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
4763
4764         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
4765         unshared.
4766         * reload.c (make_memloc): Copy result if it is still
4767         reg_equiv_memory_loc[regno] on return.
4768         (subst_reloads) [ENABLE_CHECKING]: Check that none of
4769         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
4770         reg_equiv_mem are modified by the substitutions.
4771
4772 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
4773
4774         * predict.c (expensive_function_p): New.
4775         * rtl.h (expensive_function_p): Declare.
4776         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
4777         (use_fast_prologue_epilogue): New static variable.
4778         (expand_prologue): Set it; emit short prologues if unset.
4779         (expand_epilogue): Likewise.
4780
4781 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
4782
4783         * config.gcc: Add stormy16-*-elf case.
4784         * config/stormy16/stormy-abi: New file.
4785         * config/stormy16/stormy16-lib2.c: New file.
4786         * config/stormy16/stormy16-protos.h: New file.
4787         * config/stormy16/stormy16.c: New file.
4788         * config/stormy16/stormy16.h: New file.
4789         * config/stormy16/stormy16.md: New file.
4790         * config/stormy16/t-stormy16: New file.
4791
4792 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
4793
4794         * i386.h (no-accumulate-outgoing-args): Use proper mask.
4795
4796 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
4797
4798         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
4799         descriptor members are pointer size, not constant 4.
4800         * config/rs6000/rs6000.md (define_splits): Remove more unused
4801         constraints.
4802
4803 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4804
4805         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4806
4807 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
4808
4809         * cp/rtti.c (VPARAMS): Fix parameter.
4810
4811 2001-08-24  Zack Weinberg  <zackw@panix.com>
4812
4813         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
4814         to zero.
4815         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
4816         to switch.
4817         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
4818         in if controlling use of insv.
4819         (extract_bit_field): Likewise, for extv and extzv.
4820
4821 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
4822
4823         * i386.md (movcc peep2): Fix load of 0.
4824
4825 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4826
4827         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
4828         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
4829
4830 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
4831
4832         * c-pragma.h: Move weak_syms and weak_decls...
4833         * varasm.c: ...here.  Now static.
4834         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
4835         depend on HANDLE_PRAGMA_WEAK.
4836
4837         * c-common.c (c_alignof, c_alignof_expr): Move here...
4838         * c-typeck.c: ...from here.
4839         * c-tree.h, c-common.h: Adjust.
4840
4841 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
4842
4843         * config/ia64/ia64.c (rws_update): If !pred, set write_count
4844         instead of incrementing it.
4845
4846         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
4847         asm ready, don't try to move them all into the same array element.
4848
4849 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
4850
4851         * function.c (thread_prologue_and_epilogue_insns): Avoid
4852         fallthru flag on edge to exit.
4853
4854         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
4855
4856         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
4857         dead edges.
4858
4859 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
4860
4861         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
4862         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
4863         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
4864         Remove prototype.
4865
4866 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
4867
4868         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
4869         replace "GNU CC" with "GCC".
4870
4871 2001-08-23  Richard Henderson  <rth@redhat.com>
4872
4873         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
4874         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
4875         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
4876         Need GR between FR and not GR_AND_FR.
4877         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
4878         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
4879         AR regs before GR regs.
4880         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
4881         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
4882         (REGISTER_MOVE_COST): Update.
4883         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
4884
4885 2001-08-23  Richard Henderson  <rth@redhat.com>
4886
4887         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
4888         a register class.
4889
4890 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
4891
4892         * reload1.c (emit_reload_insns): Don't look for notes
4893         on a NULL store_insn.
4894
4895 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4896
4897         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
4898         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
4899         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
4900         format specifier warnings.
4901         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
4902
4903 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
4904
4905         * config/i386/i386-protos.h: Correct declaration of
4906         i386_pe_asm_named_section.
4907
4908 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4909
4910         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
4911         variable i.
4912         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
4913
4914 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
4915
4916         * cpperror.c (print_location): Don't show _Pragma.
4917         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
4918         and file change callback generation here.
4919         (stack_include_file): Update use of cpp_push_buffer.
4920         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
4921         (struct cpp_buffer): Remove type, pfile members.
4922         * cppinit.c (cpp_handle_option): Use free_chain.
4923         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
4924         (skip_escaped_newlines, get_effective_char, lex_percent): Take
4925         a cpp_reader rather than a cpp_buffer.
4926         (skip_escaped_newlines, get_effective_char, skip_block_comment,
4927         skip_line_comment, parse_string, lex_percent, lex_dot,
4928         _cpp_lex_token): Update accordingly.
4929         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
4930         generation here.
4931         (cpp_push_buffer): Update prototype.
4932         (run_directive): Update use of cpp_push_buffer.
4933         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
4934         handle_assertion): Update use of run_directive.
4935         * cpplib.h (enum cpp_buffer_type): Remove.
4936         (cpp_push_buffer): Update prototype.
4937         * fix-header.c (read_scan_file): Update.
4938
4939 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4940
4941         * gcc.c (struct prefix_list): Change prefix to const char *.
4942
4943 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4944
4945         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
4946
4947 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
4948
4949         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
4950         from a new MEM.
4951
4952         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
4953         a squeezable note.
4954         * rtl.h: Adjust.
4955         * ifcvt.c (dead_or_predicable): Adjust.
4956         * loop.c (find_and_verify_loops): Adjust.
4957         * stmt.c (expand_end_case): Adjust.
4958         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
4959         head and end insn pointers in the basic block, not just local copies.
4960         (merge_blocks_move_predecessor_nojumps): Likewise.
4961
4962 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
4963
4964         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
4965         bitmap.h, builtin-types.def, builtins.c, builtins.def,
4966         c-aux-info.c, c-common.c, c-common.def, c-common.h,
4967         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
4968         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
4969         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
4970         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
4971         conditions.h, config.gcc, configure.frag, configure.in,
4972         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
4973         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
4974         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
4975         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
4976         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
4977         emit-rtl.c, errors.c, errors.h, except.c, except.h,
4978         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
4979         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
4980         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
4981         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
4982         gencheck.c, gencodes.c, genconfig.c, genemit.c,
4983         genextract.c, genflags.c, gengenrtl.c, genmultilib,
4984         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
4985         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
4986         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
4987         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
4988         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
4989         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
4990         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
4991         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
4992         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
4993         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
4994         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
4995         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
4996         params.h, predict.c, predict.def, predict.h, prefix.c,
4997         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
4998         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
4999         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
5000         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
5001         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
5002         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
5003         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
5004         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
5005         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
5006         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
5007         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
5008         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
5009         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
5010         xcoffout.h: replace "GNU CC" with "GCC".
5011
5012 2001-08-21  Richard Henderson  <rth@redhat.com>
5013
5014         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
5015         (final_scan_insn): Consider jump tables data even if we have no
5016         independant text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
5017         ADDR_VEC_ALIGN.
5018         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
5019         (ASM_OUTPUT_CASE_END): Remove.
5020         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
5021         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
5022         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
5023
5024 2001-08-21  Richard Henderson  <rth@redhat.com>
5025
5026         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
5027         at barrier insns.  Emit stop bits before barriers.
5028
5029         * flow.c (flow_find_cross_jump): Don't consider unconditional
5030         return insns for commoning.
5031
5032         * final.c (compute_alignments): Fix typo.
5033
5034         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
5035         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
5036         (store_bit_field): Use mode_for_extraction more places.
5037         (extract_bit_field): Likewise.
5038
5039 2001-08-21  Zack Weinberg  <zackw@panix.com>
5040
5041         * caller-save.c: Don't include insn-codes.h.
5042         (reg_save_code, reg_restore_code): Make arrays of int.
5043         All uses updated to match.
5044         (insert_save, insert_restore): No need to initialize "code"
5045         variable upon declaration.
5046         * Makefile.in: update dependencies; fix typo in clean rule.
5047
5048 2001-08-21  Richard Henderson  <rth@redhat.com>
5049
5050         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
5051         (merge_if_block): Handle fallout from same.
5052
5053 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5054
5055         * builtins.c (type_to_class): Fix typo in last change.
5056
5057 2001-08-21  Richard Henderson  <rth@redhat.com>
5058
5059         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
5060         ia64_asm_output_label.
5061
5062         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
5063         copy of gp while the real gp register contains garbage.
5064
5065 2001-08-21  Zack Weinberg  <zackw@panix.com>
5066
5067         * expmed.c (mode_for_extraction): New function.
5068         (store_bit_field, extract_bit_field): Use it.
5069         * expr.h: Prototype it and provide an enum for its first argument.
5070
5071         * combine.c, function.c, recog.c: Don't include insn-codes.h.
5072         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
5073         and digging through the insn_data tables.
5074         * Makefile.in: Update dependencies.
5075
5076 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
5077
5078         * cppfiles.c (stack_include_file): line-map.c now handles include
5079         depth.
5080         (handle_missing_handler): Similarly.
5081         (_cpp_execute_include): Similarly.
5082         (_cpp_pop_file_buffer): Similarly.
5083         * cpphash.h (struct cpp_reader): Remove system_include_depth,
5084         buffer_stack_depth and include_depth.
5085         * cpplib.c (do_include_common): line-map.c now handles include depth.
5086         (cpp_push_buffer): Similarly.
5087         (_cpp_pop_buffer): Similarly.
5088         * cppmacro.c (builtin_macro): Update.
5089         * line-map.c (init_line_maps): Set depth.
5090         (add_line_map): Increment "used" earlier.  Update and use the
5091         include depth.
5092         (trace_include): Use the include depth.
5093         * line-map.h (struct line_maps): New member depth.
5094
5095 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
5096
5097         * cppfiles.c (stack_include_file): Don't handle -H here.
5098         * cppinit.c (cpp_start_read): Set include tracing after
5099         cpp_post_options and after stacking the main file.
5100         * line-map.c (trace_include): New.
5101         (init_line_maps, add_line_map): Update.
5102         * line-map.h (struct line_maps): New member trace_includes.
5103
5104 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
5105
5106         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
5107         * cppfiles.c (stack_include_file): Only stack a file if there
5108         is something to do.  Return a boolean indicating whether a
5109         buffer was stacked or not.
5110         (_cpp_execute_include): Similarly.
5111         (_cpp_read_file): Similarly.
5112         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
5113
5114 2001-08-21  Sam Steingold  <sds@gnu.org>
5115
5116         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
5117         (RECACHE): keep obufp_before_macroname up to date
5118
5119 2001-08-21  Zack Weinberg  <zackw@panix.com>
5120
5121         * stmt.c: Don't include insn-codes.h.
5122         (expand_end_case): Machine specific logic moved to expr.c.
5123         No need to worry about __builtin_classify_type.
5124         (check_for_full_enumeration_handling, emit_case_nodes):
5125         Kill #if 0 blocks.
5126
5127         * builtins.o (expand_builtin_classify_type): Split up so code
5128         can be shared with fold_builtin_classify_type.
5129         (type_to_class, fold_builtin_classify_type): New functions.
5130         (fold_builtins): Handle __builtin_classify_type.
5131
5132         * expr.c (do_tablejump): Now static.
5133         (case_values_threshold, try_casesi, try_tablejump): New;
5134         code mostly from stmt.c (expand_end_case).
5135         (expr.h): Update prototypes.
5136
5137         * Makefile.in (stmt.o): Update dependencies.
5138
5139 2001-08-21  Will Cohen  <wcohen@redhat.com>
5140
5141         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
5142         declaration of variable i.
5143         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
5144         declaration of variable i.
5145
5146 2001-08-21  Richard Henderson  <rth@redhat.com>
5147
5148         * crtstuff.c: Fix thinko last change.  Move list tails to start
5149         of CRT_END section.  Tidy ifdefs.
5150         (__EH_FRAME_BEGIN__): Always static for ELF.
5151         (__do_global_ctors_1): Rename from __frame_dummy.
5152         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
5153         name change; don't hide __EH_FRAME_BEGIN__.
5154
5155 2001-08-21  Richard Henderson  <rth@redhat.com>
5156
5157         * gdbinit.in: Move break on exit after break on fancy_abort.
5158
5159         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
5160         sized types.
5161
5162 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
5163
5164         * cpphash.h (_cpp_push_next_buffer): New.
5165         * cppinit.c (do_includes): Remove.
5166         (push_include, free_chain, _cpp_push_next_buffer): New.
5167         (cpp_start_read): Use them to rework command line option handling.
5168         (cpp_handle_option): Combine handling of -include and -imacros.
5169         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
5170         appropriate.  Always insert missing \n at EOF.
5171         * cpplib.c (start_directive): Get the directive position right.
5172         * cppmain.c (cb_file_change): Always print the first line, unless
5173         preprocessed.
5174
5175 2001-08-20  Andreas Jaeger  <aj@suse.de>
5176
5177         * profile.c (compute_branch_probabilities): Remove extra new-line
5178         in error message.
5179         * flow.c (verify_flow_info): Likewise.
5180
5181 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
5182
5183         * basic-block.h (basic_block): Add new field 'flags'.
5184         (BB_REACHABLE): Define.
5185         (expunge_block): Declare.
5186         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
5187         (EXIT_BLOCK_PTR): Ditto.
5188         (expunge_block): Remove static declaration.
5189         (cleanup_cfg): Clear bb->aux on every basic block.
5190         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
5191         computing reachability.
5192         (delete_unreachable_blocks): Delete block b if b->flags has
5193         BB_REACHABLE unset.
5194
5195 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
5196
5197         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
5198
5199 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5200
5201         * sparc.c (sparc_variable_issue): Fix typo in last change.
5202
5203 2001-08-20  Richard Henderson  <rth@redhat.com>
5204
5205         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
5206
5207 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5208
5209         * pa.h (RETURN_IN_MEMORY): Improve comment.
5210
5211 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
5212
5213         * doc/invoke.texi (Profiling options): Clarify the interactions
5214         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
5215
5216 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
5217
5218         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
5219         command.
5220
5221 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5222
5223         * gcc.c (make_relative_prefix): Allocate a sufficiently large
5224         buffer.
5225
5226 2001-08-20  Richard Henderson  <rth@redhat.com>
5227
5228         * final.c (end_final): Fix typo last change.
5229
5230 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
5231
5232         * cppinit.c (init_standard_includes): The returned buffer
5233         is already malloc-ed.
5234         * gcc.c (add_prefix): Similarly.
5235         * prefix.c (translate_name): Update to support clear buffer
5236         ownership rules.
5237         (update_path): Similarly.  Be sure to free any newly allocated
5238         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
5239         (tr): New function.
5240         * prefix.h (update_path): Update prototype and document.
5241         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
5242         up and update to new buffer ownership rules.
5243         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
5244
5245 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
5246
5247         * final.c (compute_alignments): New function.
5248         (init_insn_lengths): Do not care label_align.
5249         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
5250         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
5251         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
5252         (shorted_branches): Realloc label_align array; do
5253         not call init_insn_lengths; Do not care about loop alignments.
5254         * output.h (compute_alignments): Declare.
5255         * toplev.c (rest_of_compilation): Call compute_alignments.
5256         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
5257
5258         * predict.c (block_info_def): Add npredecesors, remove nvisited;
5259         change visited to tovisit.
5260         (propagate_freq): Use faster traversing algorithm.
5261         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
5262         to tovisit; reverse meaning.
5263
5264         * predict.c (struct block_info_def): Remove nvisited.
5265         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
5266         (estimate_bb_frequencies): Call mark_dfs_back_edges.
5267
5268 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
5269
5270         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
5271         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
5272         (TARGET_FUSED_MADD): New.
5273         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
5274         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
5275         the multiply-add instructions.
5276
5277 2001-08-19  Richard Henderson  <rth@redhat.com>
5278
5279         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
5280         is aligned to pointer size.
5281
5282 2001-08-19  Richard Henderson  <rth@redhat.com>
5283
5284         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
5285         display markers during final schedule.
5286
5287 2001-08-19  Richard Henderson  <rth@redhat.com>
5288
5289         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
5290
5291 2001-08-19  Richard Henderson  <rth@redhat.com>
5292
5293         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
5294         in the same string.
5295         (ASM_NAME_TO_STRING): Remove.
5296         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
5297         in the same string.  Remove support for expressions.
5298
5299 2001-08-19  Richard Henderson  <rth@redhat.com>
5300
5301         * config/i386/i386.md (tablejump): Make an expander; handle
5302         pic relative addressing here.
5303         (tablejump_1): Rename from tablejump_pic.
5304         (casesi): Remove.
5305
5306 2001-08-19  Richard Henderson  <rth@redhat.com>
5307
5308         * regclass.c (fix_register): Fix typo.
5309
5310 2001-08-18  Richard Henderson  <rth@redhat.com>
5311
5312         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
5313         (struct _Unwind_Context): Expand br_loc to hold it.
5314         (uw_frame_state_for): Handle leaf functions better.
5315         (uw_update_reg_address): Update for br_loc change.
5316
5317 2001-08-18  Richard Henderson  <rth@redhat.com>
5318
5319         * crtstuff.c: Move list heads before code that uses them.
5320         (__JCR_LIST__): Remove initial null.
5321         (frame_dummy, __frame_dummy): Do java registration here ...
5322         (__do_global_ctors_aux): ... not here.
5323
5324         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
5325         (__do_global_dtors_aux): Update to match.
5326         (__JCR_LIST__, __do_jv_register_classes): New.
5327         (.init): Call it.
5328         * config/ia64/crtend.asm (__JCR_END__): New.
5329         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
5330         instead of an indirect LTOFF22 reloc.
5331
5332 2001-08-18  Richard Henderson  <rth@redhat.com>
5333
5334         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
5335         * regclass.c (init_reg_sets_1): Fix typo.
5336         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
5337         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
5338         (ia64_compute_frame_size): Make ar.unat live when in use.
5339         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
5340         for ar.pfs; remove ar.unat handling.
5341         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
5342         call-saved.
5343         (PREDICATE_CODES): Add ar_pfs_reg_operand.
5344         * config/ia64/ia64-protos.h: Update decls.
5345         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
5346         (sibcall_pic): Likewise.
5347
5348 2001-08-18  Richard Henderson  <rth@redhat.com>
5349
5350         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
5351         pred_rel_mutex when searching for insn_group_barrier.
5352         * config/ia64/ia64.md (cycle_display): Combine the expander
5353         and insn patterns.
5354
5355         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
5356         bit before asm as needed.
5357
5358 2001-08-18  Richard Henderson  <rth@redhat.com>
5359
5360         * timevar.def (TV_MACH_DEP): New.
5361         * toplev.c (rest_of_compilation): Use it.
5362         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
5363
5364 2001-08-18  Zack Weinberg  <zackw@panix.com>
5365
5366         * unwind-dw2.c (execute_stack_op): Add default aborts to
5367         the inner switches to prevent warnings.
5368
5369 2001-08-18  Richard Henderson  <rth@redhat.com>
5370
5371         * timevar.h (struct timevar_time_def): Change element type to float.
5372         (ticks_to_msec, clocks_to_msec): Likewise.
5373         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
5374         (get_time): Likewise.
5375         (timevar_print): Adjust zero check and printing to match.
5376
5377 2001-08-18  Zack Weinberg  <zackw@panix.com>
5378
5379         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
5380         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
5381         Eliminate overfull or underfull hboxes.
5382
5383 2001-08-18  Zack Weinberg  <zackw@panix.com>
5384
5385         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
5386
5387 2001-08-18  Zack Weinberg  <zackw@panix.com>
5388
5389         * haifa-sched.c: Convert to target hooks.  Macros replaced
5390         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
5391         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
5392         MD_SCHED_FINISH, and HAVE_cycle_display.
5393         * target-def.h (TARGET_SCHED_ADJUST_COST,
5394         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
5395         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
5396         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
5397         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
5398         New hook #defines to be overridden.
5399         (TARGET_SCHED): Bring them all together.
5400         (TARGET_INITIALIZER): Update.
5401         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
5402         instead of 'struct rtx_def *' throughout.
5403         (struct sched): New set of hooks for the scheduler.
5404         * Makefile.in (haifa-sched.o): Depend on target.h.
5405         * doc/tm.texi: Document the new scheduler hooks, together in
5406         their own section, instead of scattered around.
5407         Fix a bunch of underfull/overfull hboxes.
5408
5409         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
5410         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
5411         sparc.h: Don't define any of the old scheduler macros.
5412
5413         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
5414         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
5415         sparc.c: Create hook functions from code extracted from
5416         corresponding target header, or make existing hooks static, as
5417         appropriate.  Set the appropriate entries in targetm.
5418
5419         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
5420         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
5421         rs6000-protos.h, s390-protos.h, sparc-protos.h:
5422         Remove prototypes for functions which are now static.
5423
5424         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
5425         related gunk; the Haifa scheduler is now the only choice.
5426
5427 2001-08-18  Zack Weinberg  <zackw@panix.com>
5428
5429         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
5430         * genopinit.c: Put floating point divide insns in sdiv_optab.
5431         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
5432         * config/gofast.h, config/c4x/c4x.h,
5433         config/ia64/hpux_longdouble.h, config/mips/mips.h,
5434         config/pa/long_double.h, config/rs6000/sysv4.h,
5435         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
5436         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
5437         (init_optabs): Use init_optabv for overflow-trapping optabs.
5438         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
5439         cmp_optab RTX codes so have_insn_for can find them.
5440
5441         * optabs.c (expand_simple_binop, expand_simple_unop,
5442         have_insn_for, gen_sub3_insn): New interfaces.
5443         * expr.h: Prototype new functions.
5444         (enum optab_methods): Move here from optabs.h.
5445
5446         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
5447         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
5448         Use new functions instead of working directly with optabs.
5449         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
5450         unroll.c: Don't include optabs.h.
5451         * caller-save.c, combine.c, function.c, stmt.c: Just include
5452         insn-codes.h, not optabs.h.
5453         * Makefile.in: Update dependencies.
5454
5455         * combine.c (make_compound_operation, simplify_comparison):
5456         Fix typos testing for this or that instruction.
5457
5458 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
5459
5460         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
5461         generating libgcc.a.
5462
5463 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5464
5465         * except.c (TYPE_HASH): Delete.
5466
5467         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
5468         HOST_WIDE_INT.
5469
5470         * tree.c (TYPE_HASH): Delete.
5471
5472         * tree.h (TYPE_HASH): Define.
5473
5474 2001-08-18  Graham Stott  <grahams@redhat.com>
5475
5476         * config/mips/mips.md (adddi3_internal_2+1): Remove contraints from
5477         define_split.
5478         (adddi3_internal_2+2): Likewise.
5479         (eh_set_lr_di+1): Likewise.
5480
5481 2001-08-17  Richard Henderson  <rth@redhat.com>
5482
5483         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5484         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
5485         * dwarf2asm.c: ... here.
5486         * dwarfout.c: Remove them.
5487
5488         * varasm.c (assemble_integer): Add align parameter.
5489         (assemble_real, output_constant, output_constructor): Likewise.
5490         * output.h: Update decls.
5491         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
5492         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
5493         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
5494         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
5495         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
5496         Update all callers.
5497
5498         * final.c (end_final): Abort profile block generation if we
5499         havn't layed it out properly.
5500         * output.h (assemble_eh_integer): Remove stale decl.
5501         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
5502         (min_align): New.
5503         (assemble_integer): Handle unaligned data.
5504         (assemble_real): Abort on unaligned data.
5505         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
5506         anything useful.
5507         (default_dtor_section_asm_out_destructor): Use assemble_align.
5508         (default_named_section_asm_out_constructor): Likewise.
5509         (default_ctor_section_asm_out_constructor): Likewise.
5510         * config/darwin.c (machopic_asm_out_constructor): Likewise.
5511         (machopic_asm_out_destructor): Likewise.
5512         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
5513         (nextstep_asm_out_destructor): Likewise.
5514         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
5515         (vms_asm_out_destructor): Likewise.
5516
5517 2001-08-17  Richard Henderson  <rth@redhat.com>
5518
5519         * config/mips/iris6.h (TARGET_IRIX6): New.
5520         (current_section_name, current_section_flags): New.
5521         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
5522         (MAX_OFILE_ALIGNMENT): New.
5523         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
5524         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
5525         (copy_file_data): Split out from
5526         (mips_asm_file_end): ... here.
5527         (mips_asm_file_start): Remove extra .section directive.  Use
5528         tmpfile instead of mips_make_temp_file.
5529         (mips_unique_section): Use const char * as needed for warnings.
5530         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
5531         re-add align parameter.
5532         (iris6_asm_named_section): New.
5533         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
5534         (iris6_asm_output_align, iris6_section_align_1): New.
5535         (iris6_asm_file_start, iris6_asm_file_end): New.
5536         * config/mips/mips-protos.h: Update decls.
5537
5538 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
5539
5540         * doc/install.texi (Install GCC): Add links to build status pages.
5541         (Specific): Ditto.
5542         (Final install): Ditto; request updates for specific info
5543
5544 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
5545
5546         * cpperror.c (print_location):  Don't take a file name; use the
5547         line map instead.
5548         (_cpp_begin_message): Similarly.
5549         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
5550         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
5551         (cpp_pedwarn_with_file_and_line): Remove.
5552         * cppfiles.c (stack_include_file): Update; set filename to stdin
5553         here when appropriate.
5554         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
5555         (_cpp_begin_message): Don't take a file name.
5556         * cppinit.c: Add comment.
5557         * cpplex.c: Fix end-of-directive indicator.
5558         * cpplib.c: Don't include intl.h.
5559         (run_directive, do_diagnostic): Update.
5560         (do_line): Update to not use nominal_fname.
5561         (cpp_push_buffer): Don't take a filename.
5562         * cpplib.h (struct ht): Remove.
5563         (cpp_push_buffer): Don't take a filename.
5564         (cpp_pedwarn_with_file_and_line): Remove.
5565         * cppmacro.c (struct cpp_macro): Remove file.
5566         (builtin_macro): Update.
5567         (_cpp_create_definition): Update.
5568         * cppmain.c: Correct comment.
5569         * fix-header.c (read_scan_file): Update.
5570
5571 2001-08-17  Kazu Hirata  <kazu@hxi.com>
5572
5573         * sbitmap.c: Fix comment formatting.
5574         * sched-deps.c: Likewise.
5575         * sibcall.c: Likewise.
5576         * simplify-rtx.c: Likewise.
5577         * ssa.c: Likewise.
5578         * ssa-ccp.c: Likewise.
5579         * stor-layout.c: Likewise.
5580         * timevar.c: Likewise.
5581         * toplev.c: Likewise.
5582         * unwind-dw2.c: Likewise.
5583         * unwind-dw2-fde.c: Likewise.
5584         * varasm.c: Likewise.
5585
5586 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5587
5588         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
5589         or larger than an integer in memory.
5590
5591 2001-08-17  Zack Weinberg  <zackw@panix.com>
5592
5593         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
5594         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
5595         * rtl.h: Don't forward-declare union tree_node here.  Don't
5596         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
5597         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
5598         and tree respectively.
5599         * tree.h: Don't forward-declare struct rtx_def here.  Don't
5600         typedef tree here.  Change all uses of struct rtx_def *,
5601         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
5602         and tree respectively.
5603
5604 2001-08-17  Richard Henderson  <rth@redhat.com>
5605
5606         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
5607         config/mips/openbsd.h: Fix typos last change.
5608
5609 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5610
5611         * doc/invoke.texi (Optimize Options): The default for
5612         -finline-limit is 600.
5613
5614 2001-08-17  Richard Henderson  <rth@redhat.com>
5615
5616         * varasm.c (text_section): Allow TEXT_SECTION to override the
5617         printing of TEXT_SECTION_ASM_OP.
5618         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
5619         (DATA_SECTION, BSS_SECTION): Remove.
5620         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
5621         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
5622         Rename from s/_NAME//.
5623         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
5624         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
5625         (TEXT_SECTION): ... here.  New.
5626         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
5627         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
5628         * config/mips/openbsd.h: Likewise.
5629         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
5630         (mips_asm_file_end): Likewise test.
5631         (mips_output_function_epilogue): Likewise.  Switch back to data
5632         section after emitting the function.
5633
5634         * doc/tm.texi (Sections): Document TEXT_SECTION.
5635
5636 2001-08-17  Richard Henderson  <rth@redhat.com>
5637
5638         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
5639         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
5640
5641 2001-08-17  Richard Henderson  <rth@redhat.com>
5642
5643         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
5644         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
5645         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
5646         Add aligned attribute.
5647
5648 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
5649
5650         * config/sh/sh.md: Add modes to unspecs in first insn to match
5651         those in the second.
5652
5653         * Makefile.in: Fix collect2 copy for Cygwin.
5654
5655 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
5656
5657         Install the proper patch.
5658         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
5659         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
5660         (expand_function_start): Likewise.
5661         * stmt.c (expand_decl): Likewise.
5662         * varasm.c (make_decl_rtx): Likewise.
5663
5664 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
5665
5666         * final.c: Undo my previous accidental checkin.
5667         * output.h: Likewise.
5668         * tm.texi: Likewise.
5669
5670 2001-08-16  Richard Henderson  <rth@redhat.com>
5671
5672         * varasm.c (named_section_flags): Remove align parameter.
5673         * varasm.c, dwarf2out.c: Update all callers.
5674         * output.h: Update prototypes.
5675
5676         * target.h (target.asm_out.named_section): Remove align parameter.
5677         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
5678         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
5679         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
5680         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
5681         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
5682
5683         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
5684         (get_named_section_flags, set_named_section_flags): New.
5685         (named_section_flags): Use them.
5686         (named_section): Do decl vs section flags check here...
5687         (default_section_type_flags): ... not here.
5688         (init_varasm_once): Create in_named_htab.
5689         (resolve_unique_section): Mark reloc unused.
5690
5691 2001-08-16  Richard Henderson  <rth@redhat.com>
5692
5693         * varasm.c (force_const_mem): Keep pool alignment in bits.
5694         (output_constant_pool): Use assemble_align.
5695
5696 2001-08-16  Zack Weinberg  <zackw@panix.com>
5697
5698         * doc/tm.texi: Remove extra @table command.
5699
5700 2001-08-16  Zack Weinberg  <zackw@panix.com>
5701
5702         * final.c (shorten_branches): Clear the end of the label_align
5703         array only if we made it larger.  Break up messy expressions
5704         for clarity.
5705
5706         * diagnostic.c (internal_error): Check for error recursion
5707         before doing ICE suppression.
5708
5709         * timevar.c: Timing variables now count in milliseconds.
5710         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
5711         (get_time): Not here.
5712         (timevar_print): Don't print any timer whose user, cpu, and
5713         wall times are all zero as displayed.
5714         * timevar.h: Update comment aboout units.  Make timevar
5715         counters unsigned.
5716
5717 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
5718
5719         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
5720         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
5721         (expand_function_start): Likewise.
5722         * stmt.c (expand_decl): Likewise.
5723         * varasm.c (make_decl_rtx): Likewise.
5724
5725 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
5726
5727         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
5728         (finalize_record_size): Don't set TYPE_USER_ALIGN.
5729
5730 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5731
5732         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
5733         variables.
5734
5735 2001-08-16  Andreas Jaeger  <aj@suse.de>
5736
5737         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
5738         prototype.
5739
5740 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
5741
5742         * rtl.h (only_sets_cc0_p): New prototype.
5743         * jump.c (sets_cc0_p): Handle INSN.
5744         (only_sets_cc0_p): New function.
5745         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
5746         (tidy_fallthru_edge): Likewise.
5747         * integrate.c (copy_insn_list): Likewise.
5748         * unroll.c (unroll_loop): Likewise.
5749         (copy_loop_body): Likewise.
5750
5751 2001-08-15  Jason Eckhardt  <jle@redhat.com>
5752
5753         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
5754
5755 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
5756
5757         * predict.c (struct block_info_def): Remove nvisited.
5758         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
5759         (estimate_bb_frequencies): Call mark_dfs_back_edges.
5760
5761         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
5762         (ix86_adjust_cost): Teach scheduler that latency to load operand can
5763         be masked.
5764
5765 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
5766
5767         * predict.def: Update hitrates.
5768
5769 2001-08-15  Richard Henderson  <rth@redhat.com>
5770
5771         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
5772
5773 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
5774
5775         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
5776         note from its associated jump.
5777
5778 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
5779
5780         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
5781         also on 64-bit s390x targets.
5782
5783 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
5784
5785         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
5786         function.
5787         (arm_expand_prologue): Handled nested functions which take a
5788         variable argument list.
5789         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
5790         macro with an invocation of
5791         arm_compute_initial_elimination_offset.
5792         * config/arm/arm-protos.h: Prototype
5793         arm_compute_initial_elimination_offset.
5794
5795 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5796
5797         * doc/install.texi (Specific, avr): Fix markup.
5798         (Specific, c4x): Ditto.
5799
5800 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5801
5802         * predict.c (dump_prediction): Change `bool' parameter to `int'.
5803
5804 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
5805
5806         * Makefile.in (OBJS): Add rtl-error.o
5807         (rtl-error.o): New rule.
5808         (diagnostic.o): Adjust dependency.
5809         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
5810         error_for_asm, _fatal_insn, _fatal_insn_not_found,
5811         warning_for_asm): Move to...
5812         rtl-error.c: ...here.  New file.
5813
5814 2001-08-14  Richard Henderson  <rth@redhat.com>
5815
5816         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
5817         if USING_SJLJ_EXCEPTIONS.
5818
5819 2001-08-14  Steve Ellcey <sje@cup.hp.com>
5820
5821         * tlink.c (scan_linker_output): Check string for unsatisfied in
5822         addition to undefined and unresolved.
5823
5824 2001-08-14  Graham Stott  <grahams@redhat.com>
5825
5826         * libgcc2.c (*): Replace EH_FRAME_SECTION with
5827         EH_FRAME_SECTION_NAME.
5828
5829 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
5830
5831         * genattrtab.c (simplify_test_exp_in_temp): New function.
5832         (simplify_test_exp): Avoid explicit use of temporary obstack.
5833         (simplify_cond, insert_right_side, evaluate_eq_attr,
5834         simplify_and_tree, simplify_or_tree, eliminate_known_true):
5835         Use simplify_test_exp_in_temp.
5836         (optimize_attrs): Iterate until expression stabilizes.
5837
5838 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
5839
5840         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
5841         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
5842
5843 2001-08-13  Richard Henderson  <rth@redhat.com>
5844
5845         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
5846         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
5847         * config/arm/conix-elf.h: Likewise.
5848
5849 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
5850
5851         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
5852         in gcc.c.
5853         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5854
5855         * gcse.c (hash_scan_set): Expressions that are set as part of
5856         jump instructions are not available.
5857
5858 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
5859
5860         * config/s390/s390.c (print_operand, s390_function_prologue,
5861         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
5862
5863 2001-08-13  Richard Henderson  <rth@redhat.com>
5864
5865         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
5866         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
5867         * doc/tm.texi (Exception Region Output): Document it.
5868
5869 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
5870
5871         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
5872         DWARF2 instead of stabs by default.
5873
5874 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
5875
5876         * config/rs6000/rs6000.c: Include optabs.h.
5877
5878 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
5879
5880         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
5881         save/restore routines.
5882         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
5883
5884 2001-08-13  Andreas Jaeger  <aj@suse.de>
5885
5886         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
5887         the english is correct.
5888
5889 2001-08-13  Zack Weinberg  <zackw@panix.com>
5890
5891         * expr.h: Split out optab- and libfunc-related code to...
5892         * optabs.h, libfuncs.h: ... these new headers.
5893
5894         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
5895         (OPTABS_H): New.
5896         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
5897         dependencies.
5898         * mkconfig.sh: Don't include insn-codes.h from config.h.
5899
5900         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
5901         enum insn_code is available.  Move reload_in_optab and
5902         reload_out_optab array declarations to optabs.h.
5903         * regmove.c (gen_add3_insn): Move to optabs.c, export from
5904         there, prototype in expr.h.
5905         * gencodes.c: Cleanup: zap global variables, don't use
5906         printf where puts will do, don't bother defining MAX_INSN_CODE
5907         which nothing uses, let CODE_FOR_nothing get its value implicitly.
5908
5909         * genemit.c, genopinit.c: Include optabs.h in generated file.
5910         * genoutput.c: Include insn-codes.h in generated file.
5911         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
5912         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
5913         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
5914         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
5915         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
5916         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
5917         Include optabs.h.
5918         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
5919         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
5920         config/m88k/m88k.c, config/sparc/sparc.c:
5921         Include libfuncs.h.
5922         * reload.c: Include expr.h and optabs.h before reload.h.
5923         * config/alpha/alpha.c: Include tree.h before reload.h.
5924         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
5925         and reload.h in that order.
5926         * config/sparc/sparc.c: Include debug.h.
5927         * recog.c: Include insn-codes.h.
5928
5929 2001-08-13  Andreas Jaeger  <aj@suse.de>
5930
5931         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
5932         s390*linux.
5933
5934 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
5935
5936         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
5937         * gcc.c (init_spec): Fix typo in comment.
5938         * varasm.c (data_section): Fix typo in comment.
5939
5940 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
5941
5942         * predict.c (dump_prediction): New argument "USED".
5943         (combine_predictions_for_insn): Determine the used heuristics,
5944         output the case no heuristic applied.
5945         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
5946
5947 2001-08-13  Andreas Jaeger  <aj@suse.de>
5948
5949         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
5950         register %rip.
5951
5952 2001-08-13  Kazu Hirata  <kazu@hxi.com>
5953
5954         * jump.c: Fix formatting.
5955
5956 2001-08-13  Kazu Hirata  <kazu@hxi.com>
5957
5958         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
5959         length.
5960
5961 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
5962
5963         * loop.c (check_dbra_loop): Use condjump_label to compute
5964         jump_label.
5965
5966         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
5967         to better document the files they're in.
5968
5969 2001-08-12  Zack Weinberg  <zackw@panix.com>
5970
5971         * recog.h (struct insn_operand_data): Shrink 'mode' field
5972         to 16 bits.
5973
5974 2001-08-12  Kazu Hirata  <kazu@hxi.com>
5975
5976         * gcc.c: Fix comment formatting.
5977         * gccspec.c: Likewise.
5978         * gcov.c: Likewise.
5979         * gcse.c: Likewise.
5980         * genemit.c: Likewise.
5981         * gengenrtl.c: Likewise.
5982         * genrecog.c: Likewise.
5983         * gensupport.c: Likewise.
5984         * ggc-page.c: Likewise.
5985         * global.c: Likewise.
5986         * graph.c: Likewise.
5987         * ifcvt.c: Likewise.
5988         * integrate.c: Likewise.
5989         * lcm.c: Likewise.
5990         * libgcc2.c: Likewise.
5991         * loop.c: Likewise.
5992         * mbchar.c: Likewise.
5993         * optabs.c: Likewise.
5994         * predict.c: Likewise.
5995         * prefix.c: Likewise.
5996         * profile.c: Likewise.
5997         * protoize.c: Likewise.
5998         * real.c: Likewise.
5999         * recog.c: Likewise.
6000         * regclass.c: Likewise.
6001         * regmove.c: Likewise.
6002         * reg-stack.c: Likewise.
6003         * reload1.c: Likewise.
6004         * resource.c: Likewise.
6005         * rtlanal.c: Likewise.
6006         * rtl.c: Likewise.
6007
6008 2001-08-12  Kazu Hirata  <kazu@hxi.com>
6009
6010         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
6011         a tree representing a constant is passed to the macro.
6012
6013 2001-08-12  Richard Henderson  <rth@redhat.com>
6014
6015         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
6016         (rs6000_elf_asm_out_destructor): New.
6017         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
6018         (DTORS_SECTION_ASM_OP): Remove.
6019         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6020         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
6021
6022 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
6023
6024         Revert:
6025         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6026         * gcc.c (set_collect_gcc_options): New function, split out from
6027         main.
6028         Ignore elided switches.
6029         (do_spec_1): Invoke before executing command.
6030         (set_input): Export.
6031         Move declaration ...
6032         * gcc.h (set_input): ... here.
6033         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
6034         file.
6035
6036 2001-08-12  Richard Henderson  <rth@redhat.com>
6037
6038         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
6039         thinko wrt TARGET_RELOCATABLE.
6040
6041 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6042
6043         * fix-header.c (cb_file_change): Update prototype.
6044
6045 2001-08-11  Zack Weinberg  <zackw@panix.com>
6046
6047         * toplev.c (set_float_handler): Make static.
6048         * toplev.h: Don't prototype set_float_handler.
6049
6050         * simplify-rtx.c: Don't include setjmp.h.
6051         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
6052         New functions.
6053         (simplify_unary_operation, simplify_binary_operation): Use them,
6054         via do_float_handler.
6055
6056         * fold-const.c: Don't include setjmp.h.
6057         (exact_real_inverse_1): New function.
6058         (exact_real_inverse): Use it, via do_float_handler.
6059
6060         * varasm.c: Don't include setjmp.h.
6061         (assemble_real_1): New function.
6062         (assemble_real): Use it, via do_float_handler.
6063         Call internal_error if we get a trap here.
6064
6065         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
6066         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
6067
6068 2001-08-11  Zack Weinberg  <zackw@panix.com>
6069
6070         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
6071         STACK_BOUNDARY if not already defined.
6072
6073         * calls.c, function.c, reload1.c, explow.c: Don't default
6074         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
6075         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
6076
6077         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
6078         to run-time test.
6079
6080         * doc/tm.texi: Document that STACK_BOUNDARY is required;
6081         clarify difference between it and PREFERRED_STACK_BOUNDARY.
6082
6083 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6084
6085         * cppmacro.c (enter_macro_context): Push macro expansions even
6086         if empty.
6087
6088 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6089
6090         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
6091         (rs6000_elf_section_type_flags): Actually return a value.
6092
6093 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
6094
6095         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
6096         Clean up code: add missing comments and prototypes, fix warnings,
6097         remove obsolete code, fix spacing to conform to coding style.
6098
6099 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
6100
6101         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
6102         and TARGET_ASM_CLOSE_PAREN.
6103         (regclass_map): CC register belongs to class NO_REGS.
6104         (legitimize_pic_address): Don't generate unnecessary moves
6105         (to avoid confusing loop optimization).
6106         (check_and_change_labels): Replace jump_long by indirect_jump.
6107         (s390_final_chunkify): Don't start a new literal pool on section
6108         switch in 64-bit code.
6109         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
6110
6111         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
6112         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
6113         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
6114         modes correctly.
6115         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
6116         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
6117         (CONST_COSTS): Fixed incorrect costs.
6118
6119         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
6120         Use emit_jump instead of emit_jump_insn (gen_jump).
6121         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
6122         (to avoid confusing flow analysis).
6123         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
6124         (casesi, casesi_jump): New.
6125         (jump_long): Removed.  Functionality merged into indirect_jump.
6126         (indirect_jump): Accept address_operand, not just register_operand.
6127         (cjump_long, icjump_long): Use same logic as indirect_jump.
6128         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
6129         Fixed broken setjmp/longjmp handling.
6130         (do_builtin_setjmp_setup): Removed.
6131
6132         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
6133         broken GNU as versions that don't accept .quad with large
6134         negative values.  Use hexadecimal output instead.
6135         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
6136         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
6137         FUNCTION_EPILOGUE): Removed.  Now in targetm.
6138
6139         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
6140
6141         * config/s390/fixdfdi.h: Add missing copyright statement.
6142         Fix type conflicts on 64-bit.  Add missing SFmode routines.
6143
6144         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
6145         email address.
6146
6147 2001-08-11  Richard Henderson  <rth@redhat.com>
6148
6149         * rtl.h (REG_EH_RETHROW): Remove.
6150         * rtl.c (reg_note_name): Update.
6151         * combine.c (distribute_notes): Don't check for it.
6152
6153 2001-08-11  Richard Henderson  <rth@redhat.com>
6154
6155         * combine.c (distribute_notes): Place REG_SETJMP.
6156
6157 2001-08-11  Richard Henderson  <rth@redhat.com>
6158
6159         * doc/extend.texi (Arrays and pointers implementation): Discourage
6160         relying on sign-extension of pointers.
6161
6162 2001-08-11  H.J. Lu <hjl@gnu.org>
6163
6164         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
6165         in_dtors.
6166         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
6167         RDATA_SECTION_ASM_OP.
6168
6169 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6170
6171         * doc/install.texi (Specific, c4x): Fix cross-reference to the
6172         main manual to work both for info and HTML versions.
6173
6174 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6175             Matt Kraai <kraai@alumni.carnegiemellon.edu>
6176
6177         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
6178         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
6179         (struct cpp_pool): New member first.
6180         * cppinit.c (append_include_chain): Plug memory leaks.
6181         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
6182         Allocate pragma structures from the (aligned) macro pool to
6183         avoid leaking memory.
6184         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
6185         so we don't leak memory.
6186         * hashtable.c (ht_destroy): New.
6187         * hashtable.h (ht_destroy): New.
6188
6189 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6190             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6191
6192         * c-lex.c (map): Make const.
6193         (cb_file_change): Update for callback passing a line map.
6194         Don't assume we have a previous map.  Remove sanity check
6195         about popping too many files.
6196         * cpperror.c (print_location): Make map const.
6197         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
6198         (cpp_make_system_header): Similarly.
6199         (search_from): Similarly.
6200         (_cpp_execute_include): Don't remember where we came from.
6201         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
6202         (struct cpp_reader): Make map const.
6203         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
6204         * cpplib.c (do_line): Update; line maps now hold sysp.
6205         (cpp_push_buffer): Similarly.
6206         (_cpp_do_file_change): Similarly; callback with map instead.
6207         (cpp_get_line_maps): Constify return value.
6208         (_cpp_pop_buffer): Update.
6209         * cpplib.h (struct cpp_file_change): Remove.
6210         (struct cpp_callbacks): Update.
6211         (cpp_get_line_maps): Constify return value.
6212         * cppmacro.c (_cpp_create_definition): Update.
6213         * cppmain.c (struct printer): Constify map.
6214         (maybe_print_line): Similarly.
6215         (print_line): Similarly.  Deduce flags 1 and 2 here.
6216         (cb_file_change): Update.
6217         * line-map.c (free_line_maps): Warn regardless.
6218         (add_line_map): Return pointer to const.  When passed NULL to_file
6219         with LC_LEAVE, use the obvious values for the return point so the
6220         caller doesn't have to figure them out.
6221         (lookup_line): Return pointer to const.
6222         (print_containing_files): Take pointer to const.
6223         * line-map.h (struct line_map): New members reason, sysp.
6224         (add_line_map): Return pointer to const.
6225         (lookup_line): Similarly.
6226         (print_containing_files): Take pointer to const.
6227
6228 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
6229             Richard Henderson  <rth@redhat.com>
6230
6231         * regmove.c (regmove_optimize): Avoid setting a register twice in
6232         a parallel set.
6233
6234 2001-08-10  Richard Henderson  <rth@redhat.com>
6235
6236         * doc/extend.texi (Arrays and pointers implementation): Document
6237         behavior of pointer/integer conversion.
6238
6239 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
6240
6241         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
6242
6243 2001-08-10  Richard Henderson  <rth@redhat.com>
6244
6245         * doc/extend.texi (C Implementation): New chapter.
6246         * doc/gcc.texi (Top): Link it in.
6247
6248 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
6249
6250         * doc/install.texi (Specific): Fix CVS merge botch.
6251
6252 2001-08-10  Richard Henderson  <rth@redhat.com>
6253
6254         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
6255         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
6256
6257 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
6258
6259         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
6260         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
6261         this macro is now required.
6262
6263         * cselib.c (cselib_process_insn), flow.c (propagate_block),
6264         loop.c (find_and_verify_loops), reload.c (reload): Check
6265         for rtx code of CALL_INSN, not CALL, when deciding if we
6266         need to check for REG_SETJMP note.
6267
6268         * gcse.c (compute_hash_table, compute_store_table): Update
6269         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
6270         logic.
6271
6272         * config/avr/avr.c: Fix typo.
6273         * config/convex/convex.c (expand_movstr): Use adjust_address.
6274         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
6275         variable.
6276         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
6277         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
6278         Fix typo.
6279         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
6280         Do define STACK_BOUNDARY.
6281         * config/i370/i370.c: Include expr.h.
6282         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
6283         config/pa/som.h, config/v850/v850.h: Take in_ctors and
6284         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
6285         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
6286         * config/m88k/m88k.c: Include c-tree.h after expr.h.
6287         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
6288         * config/romp/romp.c: Include expr.h after tree.h.
6289         Include toplev.h.
6290         (output_fpop): Use xmalloc, not oballoc.
6291         * config/we32k/we32k.c: Include expr.h.
6292
6293 2001-08-10  Kazu Hirata  <kazu@hxi.com>
6294
6295         * config/h8300/h8300.h: Fix formatting.
6296
6297 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
6298
6299         * c-common.h (RETURN_NULLIFIED_P): Lose.
6300         * c-semantics.c (genrtl_return_stmt): Don't check it.
6301
6302 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
6303
6304         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
6305         (mips_annotate_frame_insn): New function.
6306         (mips_emit_frame_related_store): New function.
6307         (save_restore_insns): Don't mark instructions that set up the base
6308         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
6309         the store instructions instead.
6310         (mips_expand_prologue): If the stack size is moved into a temporary
6311         register, do not mark that move as frame-related.  Add a
6312         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
6313
6314 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
6315
6316         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
6317         stack slot as unchanging if current_function_calls_eh_return.
6318
6319 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
6320
6321         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
6322         access the second half of the TFmode scratch operand.
6323
6324 2001-08-10  Anthony Green  <green@redhat.com>
6325
6326         * java/class.c (emit_register_classes): Conditionalize code on
6327         JCR_SECTION_NAME.
6328
6329 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6330
6331         * doc/install.texi (Specific, avr): Fix cross-reference to the
6332         main manual to work both for info and HTML versions.
6333
6334 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6335
6336         * stmt.c (expand_null_return_1): Remove code to generate simple returns
6337         and "use_goto" argument.
6338         (expand_null_return, expand_value_return): Update all callers.
6339         * function.c (expand_function_end): Remove code to generate simple
6340         return.
6341         * config/vax/vax.md (epilogue): New expander for function return.
6342         * doc/md.texi (epilogue): Remove "if defined".
6343
6344 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
6345
6346         * Makefile.in: Partially revert my previous change:
6347         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
6348         of the hashtab.o and safe-ctype.o rules.
6349
6350 2001-08-09  Richard Henderson  <rth@redhat.com>
6351
6352         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
6353         (USE_COLLECT2): Remove duplicate definition.
6354         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
6355         (use_collect2): Remove dead code.
6356         * configure.in (use_collect2): Remove will_use_collect2 and
6357         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
6358         * configure: Rebuild.
6359
6360         * target.h (targetm.asm_out.constructor): New.
6361         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
6362         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
6363         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
6364         * varasm.c (in_ctors, in_dtors): New.
6365         (assemble_constructor, assemble_destructor): Remove.
6366         (default_stabs_asm_out_destructor): New.
6367         (default_named_section_asm_out_destructor): New.
6368         (dtors_section, default_dtor_section_asm_out_destructor): New.
6369         (default_stabs_asm_out_constructor): New.
6370         (default_named_section_asm_out_constructor): New.
6371         (ctors_section, default_ctor_section_asm_out_constructor): New.
6372         * output.h: Update declarations.
6373         * c-decl.c (c_expand_body): Use target hooks instead of
6374         assemble_constructor and assemble_destructor.
6375         * profile.c (output_func_start_profiler): Likewise.
6376         * objc/objc-act.c (finish_objc): Likewise.
6377         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
6378         for the constructor.
6379         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
6380
6381         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
6382         (DTORS_SECTION_ASM_OP): Likewise.
6383         (__CTOR_LIST__): Use attribute section when possible.
6384         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
6385
6386         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
6387         ASM_OUTPUT_CONSTRUCTOR.
6388
6389         * config/darwin.c (machopic_asm_out_constructor): New.
6390         (machopic_asm_out_destructor): New.
6391         * config/darwin-protos.h: Update declarations.
6392         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6393         (ASM_OUTPUT_DESTRUCTOR): Remove.
6394         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6395         * config/nextstep.c (nextstep_asm_out_constructor): New.
6396         (nextstep_asm_out_destructor): New.
6397         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6398         (ASM_OUTPUT_DESTRUCTOR): Remove.
6399         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6400         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
6401         ASM_OUTPUT_*STRUCTOR.
6402         * config/i386/aix386ng.h: Likewise.
6403
6404         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
6405         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
6406         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
6407         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
6408         * config/lynx.h: Likewise.
6409         * config/netware.h: Likewise.
6410         * config/psos.h: Likewise.
6411         * config/alpha/alpha-interix.h: Likewise.
6412         * config/alpha/elf.h: Likewise.
6413         * config/arc/arc.h: Likewise.
6414         * config/arm/aof.h: Likewise.
6415         * config/arm/coff.h: Likewise.
6416         * config/arm/elf.h: Likewise.
6417         * config/c4x/c4x.h: Likewise.
6418         * config/h8300/h8300.h: Likewise.
6419         * config/i386/cygwin.h: Likewise.
6420         * config/i386/djgpp.h: Likewise.
6421         * config/i386/i386-coff.h: Likewise.
6422         * config/i386/i386-interix.h: Likewise.
6423         * config/i386/sco5.h: Likewise.
6424         * config/i386/vsta.h: Likewise.
6425         * config/i386/win32.h: Likewise.
6426         * config/i960/i960-coff.h: Likewise.
6427         * config/ia64/sysv4.h: Likewise.
6428         * config/m68hc11/m68hc11.h: Likewise.
6429         * config/m68k/coff.h: Likewise.
6430         * config/m68k/mot3300.h: Likewise.
6431         * config/m88k/m88k.h: Likewise.
6432         * config/mcore/mcore-pe.h: Likewise.
6433         * config/mcore/mcore.h: Likewise.
6434         * config/mips/elf.h: Likewise.
6435         * config/mips/elf64.h: Likewise.
6436         * config/mips/iris6.h: Likewise.
6437         * config/pa/pa64-hpux.h: Likewise.
6438         * config/rs6000/sysv4.h: Likewise.
6439         * config/sh/sh.h: Likewise.
6440         * config/sparc/litecoff.h: Likewise.
6441
6442         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
6443         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
6444         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
6445         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6446         (ASM_OUTPUT_DESTRUCTOR): Remove.
6447         * config/a29k/a29k.c: Move include of tree.h.
6448         * config/a29k/udi.h: Delete file.
6449         * config/alpha/alpha.c (vms_asm_out_constructor): New.
6450         (vms_asm_out_destructor): New.
6451         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
6452         (EXTRA_SECTION_FUNCTIONS): Likewise.
6453         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
6454         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6455         * config/c4x/c4x.c: Move include of tree.h.
6456         * config/clipper/clipper.c (clix_asm_out_constructor): New.
6457         (clix_asm_out_destructor): New.
6458         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6459         (ASM_OUTPUT_DESTRUCTOR): Remove.
6460         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6461         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6462         (TARGET_ASM_CONSTRUCTOR): New.
6463         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
6464         (sco_asm_out_constructor): New.
6465         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
6466         * config/i386/svr3gas.h: Remove stack grows up code.
6467         Remove code duplicated from i386/sysv3.h.
6468         (TARGET_ASM_CONSTRUCTOR): New.
6469         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
6470         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
6471         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6472         (TARGET_ASM_CONSTRUCTOR): New.
6473         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
6474         (m68hc11_asm_out_destructor): New.
6475         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
6476         (TARGET_ASM_DESTRUCTOR): New.
6477         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
6478         * config/m68k/dpx2.h: Properly undef all the bits inherited from
6479         config/svr3.h pertaining to section manipulation.
6480         * config/m68k/dpx2g.h: Remove #if 0 code.
6481         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
6482         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
6483         (ASM_OUTPUT_CONSTRUCTOR): Remove.
6484         (TARGET_ASM_CONSTRUCTOR): New.
6485         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
6486         (m88k_svr3_asm_out_constructor): New.
6487         (m88k_svr3_asm_out_destructor): New.
6488         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6489         (ASM_OUTPUT_DESTRUCTOR): Remove.
6490         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6491         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
6492         * config/rs6000/aix.h: Likewise.
6493         * config/mips/rtems64.h: Don't undef removed constructor related bits.
6494         * config/mips/vxworks.h: Likewise.
6495         * config/rs6000/lynx.h: Likewise.
6496         * config/sh/elf.h: Likewise.
6497         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
6498         (DTORS_SECTION_ASM_OP): New.
6499         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6500         (ASM_OUTPUT_DESTRUCTOR): Remove.
6501         * config/sparc/sol2-sld-64.h: Likewise.
6502         * config/vax/vax.c (vms_asm_out_constructor): New.
6503         (vms_asm_out_destructor): New.
6504         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
6505         (ASM_OUTPUT_DESTRUCTOR): Remove.
6506         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6507
6508         * doc/tm.texi (@node Initialization): Update.
6509
6510 2001-08-09  Richard Henderson  <rth@redhat.com>
6511
6512         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
6513         (__do_global_dtors_aux): Use gp-relative static data to avoid
6514         one dynamic relocation.
6515         (__do_frame_setup): Register Java classes.
6516         * config/alpha/crtend.asm (__JCR_END__): New.
6517
6518 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
6519
6520         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
6521         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
6522         (GEN, STAGESTUFF): Add new files.
6523         (insn-constants.h, s-constants, tm-preds.h, s-preds,
6524         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
6525         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
6526         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
6527         as well as insn-codes.h and insn-flags.h in config.h; and no
6528         extra headers in tconfig.h and hconfig.h.
6529
6530         * gencodes.c: Eliminate code to generate predicate declarations
6531         or #defines for md-file constants.
6532         * genconstants.c, genpreds.c: New files.
6533
6534         * i386.md: Re-order guard expressions such that TARGET_64BIT
6535         comes first, when this permits better optimization.  Add
6536         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
6537         why this is desirable.
6538
6539 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
6540
6541         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
6542         (find_fde_for_dso): Remove.
6543         (_Unwind_IteratePhdrCallback): New.
6544         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
6545         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
6546
6547 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6548
6549         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
6550         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
6551
6552 2001-08-09  Graham Stott  <grahams@redhat.com>
6553
6554         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
6555         (vis_no_unit): Use it.
6556         (visualize_no_unit): Add the insn only if room exists.
6557
6558 2001-08-09  Graham Stott  <grahams@redhat.com>
6559
6560         * predict.c (estimate_probability): Replace magic numbers with
6561         appropriate enumeration.
6562
6563 2001-08-09  Graham Stott  <grahams@redhat.com>
6564
6565         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
6566         parameter.
6567         (EXTRACT_FLAGS): Likewise.
6568
6569 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
6570
6571         * config/mips/mips.c    (mips_legitimate_address_p): Check for
6572         CONST_INT in last patch.
6573
6574 2001-08-08  Anthony Green  <green@redhat.com>
6575
6576         * java/class.c (emit_register_classes): Use assemble_jcr if
6577         possible.  Keep the original mechanism as a fallback.
6578         * defaults.h (JCR_SECTION_NAME): Define if we have named section
6579         and weak symbol support.
6580         * crtstuff.c (__JCR_LIST__): Define.
6581         (__JCR_END__): Define.
6582         (_Jv_RegiserClasses): Define weak symbol if possible.
6583         (__do_global_ctors_aux): Register classes for ELF targets with
6584         weak symbol support.
6585
6586 2001-08-08  Kazu Hirata  <kazu@hxi.com>
6587
6588         * dbxout.c: Fix comment formatting.
6589         * dependence.c: Likewise.
6590         * df.c: Likewise.
6591         * diagnostic.c: Likewise.
6592         * dominance.c: Likewise.
6593         * doprint.c: Likewise.
6594         * dwarf2out.c: Likewise.
6595         * dwarfout.c: Likewise.
6596         * emit-rtl.c: Likewise.
6597         * except.c: Likewise.
6598         * explow.c: Likewise.
6599         * expmed.c: Likewise.
6600         * expr.c: Likewise.
6601         * flow.c: Likewise.
6602         * fold-const.c: Likewise.
6603         * function.c: Likewise.
6604
6605 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6606
6607         * global.c (retry_global_alloc): Avoid shadowing allocno.
6608
6609 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
6610
6611         * except.c (remove_fixup_regions): Fix typo.
6612
6613 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
6614
6615         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
6616         unsigned HOST_WIDE_INT to avoid warning.
6617         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
6618         * flow.c (set_block_for_new_insns): Likewise.
6619
6620 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
6621
6622         * sibcall.c (return_value_pseudo): New static variable.
6623         (skip_copy_to_return_value): Handle return_value_pseudo.
6624         (call_ends_block_p): Ensure that return_value_pseudo is set.
6625         (optimize_sibling_and_tail_recursive_call): Discover the
6626         load of pseudo return value in alternate exit block.
6627
6628 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
6629
6630         * calls.c (ECF_ALWAYS_RETURN): New constant.
6631         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
6632         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
6633         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
6634         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
6635         * rtl.c (reg_note_name): New name.
6636         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
6637
6638 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
6639
6640         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
6641
6642 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
6643
6644         * alias.c (get_alias_set): Return a previously calculated
6645         alias set for a VAR_DECL.
6646         * function.c (gen_mem_addressof): Calculate the alias set before
6647         touching the RTL.
6648
6649 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
6650
6651         * predict.def: Set hitrates according our experimental run.
6652
6653 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
6654
6655         * i386.h (HARD_REGNO_RENAME_OK): New macro.
6656
6657 2001-08-08  H.J. Lu <hjl@gnu.org>
6658
6659         * config/mips/mips.c (mips_unique_section): New. Copied from
6660         config/mips/elf.h.
6661
6662         * config/mips/mips-protos.h (mips_unique_section): New
6663         prototype.
6664
6665         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
6666
6667         * config/mips/little.h: New. Generic little endian mips
6668         targets. Only mips*-*-linux* is converted to use it so far.
6669
6670         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
6671         (WCHAR_TYPE): Defined
6672         (WCHAR_TYPE_SIZE): Likewise.
6673         (INIT_SUBTARGET_OPTABS): Likewise.
6674         (BSS_SECTION_ASM_OP): Likewise.
6675         (SBSS_SECTION_ASM_OP): Likewise.
6676         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
6677         (ASM_DECLARE_OBJECT_NAME): Likewise.
6678         (UNIQUE_SECTION): Likewise.
6679         (EXTRA_SECTIONS): Likewise.
6680         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
6681         (ASM_OUTPUT_DESTRUCTOR): Likewise.
6682         (ASM_OUTPUT_DEF): Likewise.
6683         (HANDLE_SYSV_PRAGMA): Removed.
6684         (NO_IMPLICIT_EXTERN_C): Likewise.
6685         (TARGET_MEM_FUNCTIONS): Likewise.
6686         (STARTFILE_SPEC): Likewise.
6687         (ENDFILE_SPEC): Likewise.
6688         (LIB_SPEC): Likewise.
6689         (INVOKE__main): Likewise.
6690         (CTOR_LIST_BEGIN): Likewise.
6691         (CTOR_LIST_END): Likewise.
6692         (DTOR_LIST_BEGIN): Likewise.
6693         (DTOR_LIST_END): Likewise.
6694         (SET_ASM_OP): Likewise.
6695         (ASM_OUTPUT_SOURCE_LINE): Likewise.
6696         (ASM_OUTPUT_DEF): Likewise.
6697         (ASM_OUTPUT_IDENT): Likewise.
6698
6699         * config/mips/mips.h (ASM_SPEC): Undefine before define.
6700         (CPLUSPLUS_CPP_SPEC): Likewise.
6701         (ASM_APP_ON) Redefine only if not defined.
6702         (ASM_APP_OFF): Likewise.
6703         (ASM_OUTPUT_SOURCE_LINE): Likewise.
6704         (ASM_OUTPUT_IDENT): Likewise.
6705
6706         * config.gcc: Update tm_file for Linux/mips.
6707
6708 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
6709
6710         * cselib.c (cselib_record_sets): If insn is predicated, turn
6711         sources into IF_THEN_ELSEs.
6712
6713         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
6714         Turn into define_insn_and_split.
6715
6716         * sched-deps.c: Include "cselib.h".
6717         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
6718         Use cselib to turn memory addresses into VALUEs.
6719         (sched_analyze): Call cselib_init/cselib_finish if necessary.
6720         * sched-int.h (struct sched_info): New member USE_CSELIB.
6721         * sched-ebb.c (ebb_sched_info): Initialize it.
6722         * sched-rgn.c (rgn_sched_info): Likewise.
6723         * Makefile.in (sched-deps.o): Update dependencies.
6724
6725         * cselib.h (cselib_subst_to_values): Declare.
6726         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
6727         that have no value and autoincs to be handled by generating a new
6728         dummy value.
6729
6730 2001-08-08  Graham Stott  <grahams@redhat.com>
6731
6732         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
6733         within fixed length SEQUENCE.
6734
6735 2001-08-08  Graham Stott  <grahams@redhat.com>
6736
6737         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
6738         (diagnostic_prefixing_rule): Likewise.
6739         (diagnostic_line_cutoff): Likewise.
6740         (diagnostic_kind_count): Likewise.
6741
6742 2001-08-08  Graham Stott  <grahams@redhat.com>
6743
6744         * alias.c (find_base_decl): Delete redundent assignment.
6745
6746 2001-08-08  Graham Stott  <grahams@redhat.com>
6747
6748         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
6749         (abs): Uppercase and paranthesize macro parameter.
6750         (MEM_DEPENDENCY): Add whitespace.
6751
6752 2001-08-08  Graham Stott  <grahams@redhat.com>
6753
6754         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
6755         failure check for CONST_INT
6756
6757 2001-08-08  Graham Stott  <grahams@redhat.com>
6758
6759         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
6760         (libcall_dead_p): Likewise.
6761
6762         (mark_used_regs): Constify fmt.
6763         (find_use_as_address): Likewise.
6764
6765 2001-08-08  Graham Stott  <grahams@redhat.com>
6766
6767         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
6768          parameter.
6769
6770 2001-08-08  Graham Stott  <grahams@redhat.com>
6771
6772         * combine.c (combine_simplify_rtx): Update comment and
6773         remove erroneous test.
6774
6775 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6776
6777         * cppinit.c (cpp_finish): Pop the final buffer without comment.
6778         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
6779         take care to avoid multiple no-newline at EOF warnings in that
6780         case.
6781
6782 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
6783
6784         * calls.c (expand_call): Do not emit INSN_SETJMP note.
6785         (emit_library_call_value_1): Likewise.
6786         (emit_call_1): Emit REG_SETJMP note.
6787         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
6788         of INSN_SETJMP
6789         * cselib.c (cselib_process_insn): Likewise.
6790         * flow.c (propagate_block): Likewise.
6791         * loop.c (find_and_verify_loops): Likewise.
6792         * reload.c (find_equiv_regs): Likewise.
6793         * reload1.c (reload): Likewise.
6794         * resource.c (mark_referenced_resources,
6795         mark_set_resources): Likewise.
6796         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
6797         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
6798         * haifa-sched.c (unlink_other_notes): Likewise.
6799         (reemit_notes): Likewise.
6800         * sched-ebb.c (sched_ebb): Likewise.
6801         * sched-rgc.c (sched_region): Likewise.
6802         * rtl.c (note_insn_name): Likewise.
6803         (reg_note_name): Add REG_SETJMP
6804         * rtl.h (reg_note): Add REG_SETJMP.
6805         (insn_note): Remove NOTE_INSN_SETJMP.
6806
6807         * profile.c (branch_prob): Add fake edges for setjmp.
6808
6809 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
6810
6811         * config.gcc: Quote target_cpu_default2 correctly for
6812         powerpc*-*-* targets.
6813
6814 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6815
6816         * cpplib.h, line-map.h: Update comments.
6817         * cppmain.c (printer_init): Move inline.
6818         (maybe_print_line, print_line): Take a map pointer.
6819         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
6820         (cb_file_change): Don't use prior value of print.map.
6821
6822 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
6823
6824         * doc/install.texi: Document fine-grained multilib configuration.
6825
6826 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6827
6828         * rtlanal.c (find_first_parameter_load): Call note_stores
6829         only on the instructions.
6830
6831 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
6832
6833         * alias.c (nonlocal_mentioned_p):
6834         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
6835         * calls.c (emit_call_1): Likewise.
6836         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
6837         * cselib.c (cselib_process_insn): Likewise.
6838         * df.c (df_insns_modify): Likewise.
6839         * flow.c (need_fake_edge_p): Likewise.
6840         (propagate_one_insn): Likewise.
6841         * haifa-sched.c (reemit_notes): Likewise.
6842         * integrate.c (copy_insn_list): Likewise.
6843         * jump.c (delete_prior_computation): Likewise.
6844         * local-alloc.c (validate_equiv_mem): Likewise.
6845         * loop.c (scan_loop): Likewise.
6846         * predict.c (estimate_probability): Likewise.
6847         * reload.c (reload): Likewise.
6848         * sched-deps (sched_analyze): Likewise.
6849         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
6850         * gcse.c (compute_hash_table): Likewise.
6851         (mark_call): Likewise.
6852         (store_killed_in_insn): Likewise.
6853
6854 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
6855
6856         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
6857
6858 2001-08-06  Richard Henderson  <rth@redhat.com>
6859
6860         * varasm.c (assemble_gc_entry): Remove.
6861         * output.h: Likewise.
6862
6863 2001-08-06  Richard Henderson  <rth@redhat.com>
6864
6865         * varasm.c (assemble_constructor): Take a symbol_ref and a
6866         priority instead of a bare string.  Move priority handling
6867         here from cp/decl2.c.
6868         * output.h: Update decls.
6869
6870         * c-decl.c (c_expand_body): Update calls to assemble_constructor
6871         and assemble_destructor.
6872         * profile.c (output_func_start_profiler): Likewise.
6873         * objc/objc-act.c (finish_objc): Likewise.
6874         (build_module_descriptor): Return the symbol not the symbol name.
6875
6876 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
6877
6878         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
6879         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
6880         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
6881         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
6882         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
6883         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
6884
6885 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6886
6887         * cpperror.c (print_containing_files): Moved to line-map.c.
6888         (print_location): line-map.c handles re-listing or otherwise.
6889         * cpphash.h (struct lexer_state): Remove next_bol.
6890         (struct cpp_buffer): Remove include_stack_listed.
6891         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
6892         Remove faked buffer handling.
6893         (_cpp_do_file_change): Tweak.
6894         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
6895         * cppmain.c (struct printer): Remove filename.
6896         (print_line, cb_file_change): Update accordingly.
6897         * line-map.c: Include intl.h.
6898         (init_line_maps): Initialize last_listed.
6899         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
6900         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
6901         (print_containing_files): New.
6902         * line-map.h (struct line_maps): New member last_listed.
6903         (print_containing_files, INCLUDED_FROM): New.
6904         * Makefile.in: Update.
6905         * po/POTFILES.in: Add line-map.c.
6906
6907 2001-08-06  Richard Henderson  <rth@redhat.com>
6908
6909         * except.c (convert_from_eh_region_ranges_1): Never mark
6910         USE or CLOBBER insns as throwing.
6911
6912         * expr.c (store_constructor): Don't clobber memory targets.
6913
6914 2001-08-06  Andreas Jaeger  <aj@suse.de>
6915
6916         * profile.c (branch_prob): Remove unused variable insn.
6917
6918         * Makefile.in (local-alloc.o): Add dependency on except.h.
6919
6920         * local-alloc.c: Include except.h for can_throw_internal prototype.
6921
6922 2001-08-06  Richard Henderson  <rth@redhat.com>
6923
6924         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
6925         * function.c (expand_main_function): Implement it.
6926         * doc/tm.texi: Document it.
6927
6928 2001-08-06  Stan Shebs  <shebs@apple.com>
6929
6930         * doc/install.texi: Document powerpc-*-darwin* details.
6931
6932 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
6933
6934         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
6935         (ASM_CPU_SPEC): Move back to rs6000.h
6936         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
6937
6938         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
6939
6940         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
6941         readded.
6942
6943         * config/rs6000/linux64.h: Ditto.
6944
6945         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
6946         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
6947         nothing.
6948
6949         Remove accidently readded definitions of FUNCTION_PROLOGUE,
6950         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
6951
6952         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
6953         to rs6000.h
6954
6955 2001-08-05  Richard Henderson  <rth@redhat.com>
6956
6957         * local-alloc.c (update_equiv_regs): Do not move insns that
6958         can throw.
6959
6960 2001-08-05  Jan Hubicka  <jh@suse.cz>
6961
6962         * Makefile.in (reload1.o): Add dedendancy on except.h
6963         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
6964         prototypes.
6965         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
6966         indicating wehther edges has been cleaned up.
6967         * reload1.c: Inlucde except.h
6968         (fixup_abnormal_edges): Accept deleted insns.
6969         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
6970         after combine.
6971
6972 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6973
6974         * cpplib.c (do_line): Correct line number after pop_buffer.
6975
6976 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6977
6978         PR preprocessor/3824
6979         * line-map.c: Update comments.
6980         * line-map.h: Update comments.
6981         * tradcif.y: Don't consider large numbers unsigned.
6982
6983 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6984
6985         PR preprocessor/3081
6986         * c-lex.c (map): New.
6987         (cb_file_change): Update map and use it.
6988         (cb_def_pragma, cb_define, cb_undef): Use map and line.
6989         (c_lex): Update to use map.
6990         * cpperror.c (print_location): Move to using logical line numbers.
6991         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
6992         (cpp_make_system_header): Similarly.
6993         (_cpp_execute_include): Stop line numbering hacks.  Store the
6994         line we will return to.
6995         * cpphash.h (CPP_BUF_LINE): Remove.
6996         (struct cpp_buffer): Remove lineno and pseudo_newlines.
6997         Add map and return_to_line.
6998         (_cpp_do_file_change): Update.
6999         * cppinit.c (cpp_start_read): Update line kludge.
7000         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
7001         (trigraph_ok): Use logical line numbers for diagnostics.
7002         (skip_block_comment): Likewise.
7003         (skip_whitespace): Likewise.
7004         (skip_line_comment): Use pfile->line instead.
7005         (_cpp_lex_token): Update to use logical line numbering exclusively.
7006         Handle BOL locally.  Accept new lines in directives, but keep
7007         pfile->line decremented.  Diagnostics use logical lines.  Update
7008         directive handling.
7009         * cpplib.c (SEEN_EOL): New.
7010         (skip_rest_of_line, check_eol): Use it.
7011         (end_directive): Increase line number when accepting the newline
7012         at the end of a directive.
7013         (run_directive): Simplify.
7014         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
7015         (_cpp_do_file_change): Update to take buffer line number as an
7016         argument, and store the current map in the cpp_reader.  Remove
7017         line number kludges.
7018         (_cpp_do__Pragma): Restore output position after a _Pragma.
7019         (cpp_push_buffer): Don't set output line or lineno.
7020         (_cpp_pop_buffer): Transfer more info from a faked buffer.
7021         Remove line kludge.  Set output_line.
7022         * cppmacro.c (builtin_macro): Update handling of __LINE__.
7023         (parse_arg): Use logical lines.
7024         (save_lookahead_token): Save EOFs too now.
7025         * cppmain.c (struct printer): Fix comments.
7026         (printer_init): Simplify, let caller do errors.
7027         (scan_translation_unit, check_multiline_token, dump_macro): Update.
7028         (maybe_print_line): Simplify.
7029         (print_line): Don't print a linemarker if -P.
7030         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
7031         (cb_file_change): Simplify.
7032         * line-map.h (LAST_SOURCE_LINE): Fix.
7033         (CURRENT_LINE_MAP): New.
7034
7035 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
7036
7037         * doloop.c (doloop_modify_runtime): Properly compute number of
7038         iterations if loop was unrolled.
7039
7040         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
7041         if their CSELIB_VAL_PTRs are.
7042
7043         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
7044         (setup_spill_pointers): Initialize it.
7045         (spill_restore_mem): Set it.
7046         (do_spill, do_restore): Use it to add REG_INC note.
7047         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
7048
7049         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
7050         asms if other insns are available.
7051
7052         * config/ia64/ia64.c (condop_operator): New predicate.
7053         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
7054         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
7055         patterns.
7056
7057         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
7058         temporary register than directly using a MEM.
7059
7060 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
7061
7062         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
7063         parameter in last change.
7064
7065 2001-08-04  Zack Weinberg  <zackw@panix.com>
7066
7067         * sparc.md: Don't use #if inside C test expression.
7068
7069 2001-08-04  Richard Henderson  <rth@redhat.com>
7070
7071         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
7072
7073 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7074
7075         * cpphash.h (struct cpp_reader): New member directive_line.
7076         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
7077         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
7078         do_pragma): Pass line to callbacks.
7079         (start_directive): Record line of directive.
7080         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
7081         cb_include): Similarly.
7082         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
7083         Similarly.
7084
7085 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
7086
7087         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
7088         comment.
7089
7090 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
7091
7092         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
7093
7094         * reload1.c (fixup_abnormal_edges): New static function.
7095         (reload): Use it.
7096
7097         * flow.c (need_fake_edge_p): New function.
7098         (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
7099         avoid call insn to be very last insn in the insn stream.
7100
7101         * profile.c (branch_prob): Call flow_call_edges_add instead of
7102         doing that by hand; cleanup cfg to re-merge basic blocks once
7103         we are done.
7104
7105 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
7106
7107         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
7108         are also on line-map.h.
7109         * cppfiles.c (stack_include_file): Update.
7110         * cpphash.h (struct cpp_buffer): New member return_at_eof.
7111         (_cpp_pop_buffer): New.
7112         * cppinit.c (cpp_destroy, cpp_finish): Update.
7113         (do_includes): Mark each buffer to return at EOF.
7114         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
7115         return as requested.
7116         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
7117         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
7118         * cpplib.h (cpp_pop_buffer): Remove.
7119         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
7120         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
7121         buffers.
7122         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
7123         to pop buffers.
7124         (do_preprocessing): Update.
7125         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
7126         * c-parse.in (_yylex): Similarly.
7127         * scan-decls.c (scan_decls): Similarly.
7128         * line-map.h: Update comments.
7129
7130         * objc/Make-lang.in (objc-act.o): Update dependencies.
7131
7132 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7133
7134         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
7135         and soft register for operand 0.
7136         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
7137
7138 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7139
7140         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
7141         register for operand 0.
7142         ("bitcmpqi_z_used"): Allow memory for operand 0.
7143         (split "bitcmpqi"): New split to handle address reg as operand 1.
7144
7145 2001-08-04  Andreas Jaeger  <aj@suse.de>
7146
7147         * gcse.c: Revert Daniel's last patch.
7148
7149 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
7150
7151         * sparc-protos.h: Add prototypes for fp_zero_operand and
7152         reg_or_0_operand.
7153         * sh-protos.h: Add prototype for fpul_operand.
7154
7155 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
7156
7157         * doc/extend.texi (Other Builtins): Fix typo in last change.
7158
7159 2001-08-03  Richard Henderson  <rth@redhat.com>
7160
7161         * target.h (gcc_target): Add asm_out.named_section,
7162         section_type_flags, have_named_sections.
7163         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
7164         (TARGET_HAVE_NAMED_SECTIONS): New.
7165         (TARGET_SECTION_TYPE_FLAGS): New.
7166
7167         * Makefile.in (toplev.o): Depend on TARGET_H.
7168         (varasm.o, dbxout.o): Likewise.
7169         * c-common.c (decl_attributes): Check targetm.have_named_sections
7170         instead of ifdef ASM_OUTPUT_SECTION_NAME.
7171         * dbxout.c (dbxout_function_decl): Likewise.
7172         (dbxout_function_end): Likewise.
7173         * toplev.c (compile_file): Likewise.
7174         * varasm.c (exception_section): Likewise.
7175         * cp/decl2.c (finish_objects): Likewise.
7176
7177         * defaults.h (EH_FRAME_SECTION): Remove.
7178         (EH_FRAME_SECTION_ASM_OP): Remove.
7179         (EH_FRAME_SECTION_NAME): New.
7180         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
7181         (UNIQUE_SECTION_P): Remove.
7182         * dwarf2out.c (SECTION_FORMAT): Remove.
7183         (ASM_OUTPUT_SECTION): Remove.
7184         (output_call_frame_info): Use named_section_flags.
7185         (output_comp_unit, dwarf2out_start_source_file): Likewise.
7186         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
7187         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
7188         * varasm.c (in_eh_frame, eh_frame_section): Remove.
7189         (named_section_flags): New.
7190         (named_section): Use it and targetm.section_type_flags.
7191         (resolve_unique_section): New.
7192         (assemble_start_function): Use it.
7193         (asm_emit_uninitialised, assemble_variable): Likewise.
7194         (default_section_type_flags): New.
7195         (default_no_named_section, default_elf_asm_named_section): New.
7196         (default_coff_asm_named_section, default_pe_asm_named_section): New.
7197         * output.h: Update varasm.c decls.
7198         (SECTION_*): New flags.
7199
7200         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
7201         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
7202
7203         * config/elfos.h (UNIQUE_SECTION_P): Remove.
7204         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
7205         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
7206         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
7207         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
7208         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
7209         * config/mips/elf.h, config/mips/elf64.h: Likewise.
7210         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
7211         * config/pa/pa64-hpux.h,
7212
7213         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
7214         (TARGET_ASM_NAMED_SECTION): New.
7215         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
7216         * config/alpha/vms.h, config/arm/coff.h: Likewise.
7217         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
7218         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
7219         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
7220         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
7221         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
7222         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
7223         * config/i386/sco5.h, config/i386/win32.h: Likewise.
7224         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
7225         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
7226         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
7227         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
7228         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
7229         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
7230         * config/sparc/sysv4.h: Likewise.
7231
7232         * config/nextstep.h: Error until named sections implemented.
7233
7234         * config/a29k/a29k.c (a29k_asm_named_section): New.
7235         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
7236         (vms_section_type_flags, vms_asm_named_section): New.
7237         * config/arm/arm.c (arm_elf_asm_named_section): New.
7238         * config/avr/avr.c (asm_output_section_name): Remove.
7239         * config/avr/avr-protos.h: Update.
7240         * config/c4x/c4x.c (c4x_asm_named_section): New.
7241         * config/h8300/h8300.c (h8300_asm_named_section): New.
7242         * config/i386/i386.c (sco_asm_named_section): New.
7243         * config/i386/winnt.c (SECTION_PE_SHARED): New.
7244         (i386_pe_section_type_flags): New.
7245         (i386_pe_asm_named_section): New.
7246         * config/i386/i386-protos.h: Update.
7247         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
7248         * config/mcore/mcore.c (mcore_asm_named_section): New.
7249         * config/mips/mips.c (iris6_asm_named_section): New.
7250         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
7251         instead of UNIQUE_SECTION_P.
7252         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
7253         (xcoff_asm_named_section): New.
7254         * config/sh/sh.c (sh_asm_named_section): New.
7255         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
7256
7257         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
7258         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
7259         (EH_FRAME_SECTION_NAME): New.
7260         (EXCEPTION_SECTION): New.
7261         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
7262         (DEBUG_*_SECTION): Remove.
7263         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
7264         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
7265         (EH_FRAME_SECTION_ASM_OP): Remove.
7266
7267         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
7268         (ASM_OUTPUT_SECTION_NAME): Remove.
7269         (TARGET_ASM_NAMED_SECTION): New.
7270         (TARGET_HAVE_NAMED_SECTIONS): New.
7271         (TARGET_SECTION_TYPE_FLAGS): New.
7272         (EH_FRAME_SECTION_ASM_OP): Remove.
7273         (EH_FRAME_SECTION_NAME): New.
7274
7275 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
7276
7277         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
7278         for complex expressions when cfun == 0.
7279         * doc/extend.texi: Document that __builtin_constant_p can be
7280         used in data initializers as well as functions.
7281
7282 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
7283
7284         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
7285         variable I locally, instead of expecting a declaration in the
7286         calling context.
7287
7288 2001-08-03  Richard Henderson  <rth@redhat.com>
7289
7290         * except.c (collect_one_action_chain): Add an explicit cleanup
7291         action if regions surrounding a catch were encoded entirely
7292         within the call-site entry.
7293
7294 2001-08-03  Richard Henderson  <rth@redhat.com>
7295
7296         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
7297         don't take REGNO of a non-register.
7298
7299 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7300
7301         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
7302         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
7303         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
7304         (__gthread_mutex_init_function): New function for mutex initialization.
7305
7306 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
7307
7308         * Makefile.in: Revert screwed up commit.
7309
7310 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7311
7312         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
7313         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
7314         merged by linker script to get a final _exit().
7315         (__do_global_dtors): New for destructor handling in specific exit
7316         section.
7317         (__do_global_ctors): New for constructors in specific install section.
7318         (__map_data_section): Map data sections before running constructors.
7319         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
7320         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
7321         (DTORS_SECTION_ASM_OP): Likewise.
7322         (CTORS_SECTION_FUNCTION): Define to force a reference to
7323         __do_global_ctors.
7324         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
7325
7326 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
7327
7328         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
7329
7330         * Makefile.in: Add df.h to gcse.c dependencies.
7331
7332 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7333
7334         * varasm.c (output_constant_def_contents): Use for the length of a
7335         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
7336         depending on which is larger.
7337
7338 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
7339
7340         * gcse.c: Include df.h for use as a dataflow analyzer.
7341         Remove regvec.
7342         Declaration of reg_set_info: gone.
7343         New df_analyzer variable used by store motion.
7344         (reg_set_info): Deleted.
7345         (mark_mem_regs): New function, analyze regs used by a mem.
7346         (store_ops_ok): Use dataflow analyzer results to determine if
7347         necessary regs are changed in the block.
7348         (find_moveable_store): Remove check for symbol ref, we can handle
7349         much more complex expressions now.
7350         (compute_store_table): Remove most of the code, it's unnecessary
7351         now that the dataflow analyzer records the info for us.
7352         (store_killed_after): Add parameter to say whether to do the
7353         store_ops_okay test, used to speed up testing when we already know
7354         the answer, and just want to know if the store itself was killed.
7355         (build_store_vector): Largely rewritten to calculate the various
7356         vectors properly, and somewhat optimized.
7357         (store_motion): Init the df_analyzer, get REG_DEF chains.
7358         Also handle trapping expressions (since mems almost always trap)
7359         (simple_mem): Redefine what a simple mem is.
7360
7361 2001-08-03  DJ Delorie  <dj@redhat.com>
7362
7363         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
7364         set from a constant part of the condition.
7365
7366 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
7367
7368         * mkdeps.c (deps_add_default_target): Make local variable
7369         ``start'' a const char pointer.
7370         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
7371
7372 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7373
7374         * doc/install.texi (Configuration): Fix markup.
7375         (Specific, i?86-*-udk): Likewise.
7376         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
7377         --with-gnu-ld.
7378         Document --enable-threads and --enable-libgcj status.
7379         (Specific, mips-sgi-irix*): Canonicalize triples.
7380         (Specific, mips-sgi-irix5): Warn about problems with this config.
7381         Mention required GNU as patch.
7382         Native assembler problems are fixed.
7383         (Specific, mips-sgi-irix6): Update O32 ABI support status.
7384         Document --enable-threads and --enable-libgcj status.
7385
7386 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
7387
7388         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
7389         of mkinstalldirs.
7390
7391 2001-08-03  Richard Henderson  <rth@redhat.com>
7392
7393         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
7394         constant data.
7395
7396 2001-08-03  Richard Henderson  <rth@redhat.com>
7397
7398         * rtlanal.c (find_first_parameter_load): Stop if we
7399         reach a CODE_LABEL at BOUNDARY.
7400
7401 2001-08-03  Richard Henderson  <rth@redhat.com>
7402
7403         * config/alpha/alpha.md (force_movdi): New insn.
7404         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
7405         Tweek FRP marking of VMS prologue insns.
7406         * config/alpha/vms.h (EPILOGUE_USES): New.
7407
7408 2001-08-02  Richard Henderson  <rth@redhat.com>
7409
7410         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
7411
7412 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
7413
7414         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
7415         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
7416         config/convex/convex.h, config/d30v/d30v.c,
7417         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
7418         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
7419         config/mips/mips.h, config/mn10200/mn10200.h,
7420         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
7421         config/v850/v850.h, config/vax/openbsd.h,
7422         config/vax/openbsd1.h, config/vax/ultrix.h,
7423         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
7424         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
7425         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
7426         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
7427         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
7428         in comments and documentation.
7429
7430 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
7431
7432         * line-map.c: New.
7433         * line-map.h: New.
7434         * Makefile.in (line-map.o): New.
7435         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
7436         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
7437         * cpperror.c (print_containing_files): Similarly.
7438         (print_location): Update.  Don't output a space before _Pragma.
7439         * cppfiles.c (stack_include_file): Set to line 1 immediately.
7440         (stack_include_filee, cpp_make_system_header): Update.
7441         (_cpp_execute_include): Get logical line number right for calling
7442         as-yet-unterminated #include.
7443         * cpphash.h (struct cpp_reader): Add line_maps.
7444         (_cpp_do_file_change): Update.
7445         * cppinit.c (cpp_create_reader): Initialize line maps.
7446         (cpp_destroy): Destroy line maps.
7447         (cpp_start_read): Get logical line number right.
7448         * cpplex.c (parse_string): Only warn once for multi-line strings.
7449         Use boolean variable for null warning.
7450         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
7451         already.
7452         (do_include_common): End the directive early.
7453         (do_line): Don't warn about out-of-range lines in preprocessed
7454         source.  Update.  Remove unused variables.
7455         (_cpp_do_file_change): Update for new line mapping.
7456         (pragma_cb): New typedef.
7457         (cpp_register_pragma): Stop looking ahead before calling the
7458         handler.  Clean up.
7459         (do_pragma_system_header): End directive early.
7460         (cpp_get_line_maps): New.
7461         (cpp_pop_buffer): Fudge logical line.  Update.
7462         * cpplib.h: Include line-map.h
7463         (enum cpp_fc_reason): Remove.
7464         (struct cpp_file_change): Update.
7465         (cpp_get_line_maps): New.
7466         * cppmain.c (struct_printer): New member map.
7467         (cb_file_change): Update for new mappings.
7468         * fix-header.c (cb_file_change): Similarly.
7469
7470 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
7471
7472         * Makefile.in (libgcc.mk): Define mkinstalldirs.
7473         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
7474
7475 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
7476
7477         * config/vax/vax.c: include expr.h.
7478
7479 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
7480
7481         * Makefile.in ($(srcdir)/configure): Only rebuild in
7482         maintainer mode.
7483         ($(srcdir)/config.in): Only define in maintainer mode.
7484         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
7485
7486 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
7487
7488         * doc/install.texi (Install GCC: Binaries): Update Bull info.
7489
7490 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7491
7492         * gcc.c (set_collect_gcc_options): New function, split out from
7493         main.
7494         Ignore elided switches.
7495         (do_spec_1): Invoke before executing command.
7496         (set_input): Export.
7497         Move declaration ...
7498         * gcc.h (set_input): ... here.
7499         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
7500         file.
7501
7502 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
7503
7504         Kill -fhonor-std.
7505         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
7506         interaction.
7507         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
7508
7509 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
7510
7511         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
7512         for the unnamed instructions it expands to.
7513
7514 2001-08-02  Richard Henderson  <rth@redhat.com>
7515
7516         * regclass.c (call_really_used_regs): Conditionally define.
7517         (init_reg_sets_1): Don't use it if not defined.
7518         (fix_register): Similarly, don't set it.
7519
7520 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7521
7522         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
7523         Correct comment that had been missed in the previous change.
7524
7525 2001-08-01  Stan Shebs  <shebs@apple.com>
7526
7527         * config/darwin.c (machopic_stub_name): Try matching by name.
7528         (update_stubs): New function.
7529         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
7530         unconditionally.
7531
7532 2001-08-01  Richard Henderson  <rth@redhat.com>
7533
7534         * except.c (output_function_exception_table): Use assemble_align.
7535         * varasm.c (assemble_eh_label): Remove.
7536         (assemble_eh_align, assemble_eh_integer): Remove.
7537
7538 2001-08-01  Robert Lipe  <robertl@caldera.com>
7539
7540         * dwarfout.c: Remove reference to README.DWARF.
7541
7542 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
7543
7544         * regclass.c (call_really_used_regs): New array for registers which
7545         are actually used by a call.
7546         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
7547         new array.
7548         (fix_register): Set call_really_used too.
7549         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
7550         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
7551
7552 2001-08-01  Richard Henderson  <rth@redhat.com>
7553
7554         * read-rtl.c (read_name): Consider \r whitespace.
7555
7556 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
7557
7558         * config.gcc: Recognize powerpc-*-netbsd*.
7559
7560         * doc/install.texi (Host/target specific installation notes for
7561         GCC): Mention powerpc-*-netbsd*.
7562
7563         * config/rs6000/netbsd.h: New file.
7564         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
7565         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
7566         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
7567         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
7568         (TARGET_VERSION): Redefine.
7569
7570         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
7571         mcall-netbsd as a match for mcall-sysv.
7572         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
7573         (ncrti.S, ncrtn.S): New targets.
7574         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
7575
7576         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
7577         "netbsd' as a V4 ABI.
7578         (ASM_SPEC): Check for -mcall-netbsd.
7579         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
7580         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
7581         (LIB_SPEC, ENDFILE_SPEC): Ditto.
7582         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
7583         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
7584         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
7585         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
7586
7587         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
7588         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
7589
7590 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
7591
7592         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
7593         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
7594         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
7595         including "unwind-pe.h".
7596
7597 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
7598
7599         * rs6000.md (define_splits): Kill unused constraints.
7600
7601 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
7602                               Jan Hubicka  <jh@suse.cz>
7603
7604         * function.c (thread_prologue_and_epilogue_insns): Kill code
7605         dealing with non-existent CFG.
7606
7607 2001-08-01  Kazu Hirata  <kazu@hxi.com>
7608
7609         * alias.c: Fix comment formatting.
7610         * bitmap.c: Likewise.
7611         * builtins.c: Likewise.
7612         * calls.c: Likewise.
7613         * c-common.c: Likewise.
7614         * c-decl.c: Likewise.
7615         * c-dump.c: Likewise.
7616         * c-lex.c: Likewise.
7617         * collect2.c: Likewise.
7618         * combine.c: Likewise.
7619         * conflict.c: Likewise.
7620         * cppfiles.c: Likewise.
7621         * cppinit.c: Likewise.
7622         * cpplex.c: Likewise.
7623         * cpplib.c: Likewise.
7624         * cppmacro.c: Likewise.
7625         * cppspec.c: Likewise.
7626         * c-pragma.c: Likewise.
7627         * crtstuff.c: Likewise.
7628         * cse.c: Likewise.
7629         * cselib.c: Likewise.
7630         * c-semantics.c: Likewise.
7631         * c-typeck.c: Likewise.
7632
7633 2001-08-01  H.J. Lu <hjl@gnu.org>
7634
7635         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
7636
7637 2001-08-01  H.J. Lu <hjl@gnu.org>
7638
7639         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
7640
7641 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
7642
7643         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
7644         contextualizing Objective-C class name lookup by the lexer.
7645         (typespec_reserved_nonattr): Disable ObjC class name lookup after
7646         seeing a TYPESPEC.
7647         (protocoldef): Add support for forward @protocol declarations.
7648         (yylexname): Suppress ObjC class name lookup in certain contexts;
7649         re-enable after lookup is complete.
7650         (_yylex): Re-enable ObjC class name lookup when certain
7651         punctuation marks are seen.
7652
7653         * objc/objc-act.c (check_protocol_recursively): New function used
7654         for finding circular dependencies in protocols.
7655         (objc_declare_protocols): New function for handling forward
7656         @protocol declarations.
7657         (receiver_is_class_object): Detect the case when 'self' is used
7658         inside of a class method.
7659         (build_message_expr): Issue a warning if class method is desired
7660         but instance method is found instead.
7661         (conforms_to_protocol): Streamline.
7662         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
7663         protocol Foo, even if 'Bar foo' does not.
7664         (check_protocols): Streamline.
7665         (start_protocol): Add checks for circular and duplicate protocol
7666         definitions.
7667         (encode_aggregate_within): For typedefs of structs, encode the
7668         underlying struct.
7669         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
7670         (objc_declare_protocols): New prototype.
7671
7672 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
7673
7674         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
7675         * cpplex.c (handle_newline): Update prototype.  Maintain logical
7676         line number.
7677         (skip_escaped_newlines, skip_block_comment, parse_string):
7678         Update accordingly.
7679         (_cpp_lex_token): Update, and store token position within the token.
7680         * cpplib.h (struct cpp_token): Add line and column entries.
7681         * cppmacro.c (replace_args): Position stringified tokens correctly.
7682
7683 2001-08-01  Andreas Jaeger  <aj@suse.de>
7684
7685         * basic-block.h: Add prototype for last_loop_beg_note.
7686
7687 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
7688
7689         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
7690         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
7691         comment.
7692         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
7693         while handling WITH_CLEANUP_EXPR node. Use second operand calling
7694         expand_decl_cleanup.
7695         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
7696         the first RTX.
7697         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
7698         operand while calling simple_cst_equal.
7699         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
7700         operand is the cleanup expression, the third is the RTL_EXPR.
7701         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
7702
7703 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
7704
7705         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
7706
7707 2001-07-31  matthew green  <mrg@eterna.com.au>
7708
7709         * config.gcc (i386-*-netbsdelf): New description.
7710         * config/i386/netbsd-elf.h: New file.
7711
7712 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
7713
7714         * loop.c (check_dbra_loop): Use single_set to compute
7715         jump_label.
7716
7717 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
7718
7719         PowerPC reorg and support for powerpc64-*-linux*.
7720
7721         Also fixes emitting of constants on 32 bit and 64 bit
7722         platforms.
7723
7724         * config.gcc: powerpc64-*-linux* is a new target.
7725         Things that needed aix.h now also include xcoff.h
7726
7727         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
7728         xcoff.h.
7729         Move AIX specific stuff into aix.h.
7730         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
7731         with more than just XCOFF now.
7732         (SET_ASM_OP): Remove, now defined where needed.
7733         (FUNCTION_PROLOGUE): New macro definition.
7734         (FUNCTION_EPILOGUE): New macro definition.
7735         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
7736
7737         * config/rs6000/xcoff.h: New file.
7738
7739         * config/rs6000/linux64.h: New file.
7740
7741         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
7742
7743 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
7744
7745         * rs6000.c (print_operand_address): Handle ELF syntax.
7746         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
7747         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
7748         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
7749
7750 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
7751
7752         * rs6000.c (rs6000_override_options): Only disable
7753         flag_function_sections for XCOFF.
7754         (exact_log2_cint_operand): New predicate.
7755         (reg_or_{add,sub}_cint64_operand): New predicates.
7756         (add_operand): Compare CONST_INT with fewer function calls.
7757         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
7758         (print_operand, case 'p'): Ensure positive operand.
7759         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
7760         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
7761         (PREDICATE_CODES): Add new predicates.
7762         * rs6000.md (addsi3): Split 32-bit constants more correctly.
7763         (divsi3, modsi3): Ensure positive power-of-2.
7764         (adddi3): Use new predicate.  Split 32-bit constants more
7765         correctly.  Re-arrange splitter to handle any constant.
7766         (subdi3): Use new predicate.
7767         (divdi3, moddi3): Ensure positive power-of-2.
7768         (movdi): Use rs6000_emit_set_const.
7769         (load_toc_v4_pic_di): Delete.
7770
7771 2001-07-31  Graham Stott <grahams@redhat.com>
7772
7773         * function.c (pad_below): Revert 2001-07-26 patch.
7774
7775 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7776
7777         * reg-stack (convert_regs_1): Fix best edge condition.
7778
7779 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
7780
7781         * jump.c (duplicate_loop_exit_test): Better test for jumps
7782         entering the loop; create loop pre_header.
7783
7784 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
7785
7786         * doc/install.texi: Add s390 and s390x as new targets.
7787         * doc/invoke.texi: Add documantation of S/390 and zSeries
7788         target options.
7789         * doc/md.texi: Add documantation of S/390 and zSeries constraints.
7790
7791 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
7792
7793         * config/m68k/m68k.md: Replace all general_operand with
7794         nonimmediate_operand for all destinations.
7795         * config/m68k/m68k.c (not_sp_operand): Likewise.
7796
7797 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
7798
7799         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
7800
7801 2001-07-30  Richard Henderson  <rth@redhat.com>
7802
7803         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
7804         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
7805
7806 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
7807
7808         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
7809         Add missing doc strings
7810         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
7811         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
7812
7813 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
7814
7815         * i386.c (ix86_output_main_function_alignment_hack): New function.
7816         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
7817
7818         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
7819         edges by EDGE_DFS_BACK flag.
7820         (dump_edge_info): Add dfs_back flag.
7821         * basic-block.h (EDGE_DFS_BACK): New constant.
7822         (mark_dfs_back_edges): Declare.
7823         * alias.c (loop_p): Remove.
7824         (mark_constant_function): Use mark_dfs_back_edges.
7825
7826         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
7827         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
7828         (compensate_edge): Break out from ...
7829         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
7830         (convert_regs_2): Set block_done once block is really done;
7831         Do updating of the predecesors counts.
7832
7833         * toplev.c (rest_of_compilation): Recompute block_for_insn
7834         before post-reload cfg_cleanup.
7835         * function.c (thread_prologue_epilogue_insns):
7836         Call set_block_for_new_insns when emitting prologue directly.
7837
7838 2001-07-30  Andreas Jaeger  <aj@suse.de>
7839
7840         * jump.c: Add prototype for mark_modified_reg.
7841
7842         * cse.c (set_live_p): Add unused attribute.
7843
7844         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
7845         overflow.
7846         (scan_for_source_files): Use long for count to avoid overflow.
7847         (output_data): Likewise.
7848         (output_data): Don't use string concatatenation to silence gcc
7849         -traditional.
7850
7851         * predict.c: Fix typos and grammar.
7852
7853         * gcse.c (insert_insn_end_bb): Remove unused variables.
7854
7855 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
7856
7857         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
7858         (attempt_auto_inc): LIkewise.
7859         (mark_used_reg): Likewise.
7860         (try_pre_increment_1): Likewise.
7861         * regclass.c (regclass): Likewise.
7862         * global.c (allocno_compare): Update comment; change scaling factor.
7863         * local-alloc.c (QTY_CMP_PRI): Likewise.
7864         * regs.h (REG_FREQ_FROM_BB): New.
7865         (REG_FREQ_MAX): Likewise.
7866
7867 2001-07-30  H.J. Lu <hjl@gnu.org>
7868
7869         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
7870         -D_GNU_SOURCE.
7871
7872 2001-07-30  H.J. Lu  (hjl@gnu.org)
7873
7874         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
7875         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
7876         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
7877
7878 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
7879
7880         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
7881         as -mthumb-interwork when -mcpu=arm7 is specified.
7882
7883 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7884
7885         * predict.def (noreturn, loop branch, loop exit): Mark as first
7886         match heuristics.
7887
7888 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
7889
7890         * combine.c (try_combine): Avoid barrier after noop jumps.
7891
7892 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
7893
7894         * cpphash.h (struct cpp_reader): Remove import_warning.
7895         * cpplib.c (skip_rest_of_line): Don't bother turning off
7896         macro expansion.
7897         (parse_include): Move include handling to...
7898         (do_include_common): ... here.  Move import warning from...
7899         (do_import): ... here.
7900         (do_pragma_poison): Don't do a callback for poison identifiers.
7901         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
7902         * cppmain.c (setup_callbacks): Similarly.
7903
7904 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
7905
7906         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
7907         handle multiple sets.
7908         * except.c (sjlj_mark_call_sites): .... here.
7909         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
7910
7911 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
7912
7913         Suggested by Richard Henderson and Richard Kenner:
7914         * combine.c (recog_for_combine): Use the fake recog
7915         only if instruction does not match.
7916         * rtl.h (NOOP_MOVE_INSN_CODE): New.
7917         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
7918
7919         * combine.c (try_combine): Discover noop jump as direct jump.
7920
7921 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
7922
7923         * df.c (df_rd_global_compute): Add successors to worklist, not
7924         current item.
7925         (df_ru_global_compute): Ditto.
7926
7927 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
7928
7929         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
7930         increment REG_N_SETS.
7931
7932 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
7933
7934         * sbitmap.h: New prototype for sbitmap_a_xor_b.
7935
7936         * sbitmap.c (sbitmap_a_xor_b): New function.
7937         ifdef the basic block stuff on IN_GCC.
7938
7939 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
7940
7941         * cppexp.c (parse_defined): Always record the macro name.
7942         (lex): Don't worry about identifiers, or special-case
7943         CPP_NOT here.
7944         (_cpp_parse_expr): Figure out at the end of the routine
7945         whether we saw a valid !defined() expression.
7946         * cppfiles.c (stack_include_file): Update for mi_valid.
7947         (_cpp_pop_file_buffer): Similarly.
7948         * cpplex.c (_cpp_lex_token): Similarly.
7949         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
7950         mi_if_not_defined, mi_lexed): Remove.
7951         (mi_valid): New.
7952         * cpplib.c (do_if): Simplify.
7953         (do_endif, push_conditional, _cpp_handle_directive): Update
7954         for renaming of mi_state to mi_valid.
7955 doc:
7956         * cpp.texi: Add index entries for digraphs, and add comment
7957         that C++ refers to them as alternative tokens.
7958
7959 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
7960
7961         * basic-block.h (CLEANUP_PRE_LOOP): New.
7962         * except.c (finish_eh_generation): Update call of cleanup_cfg.
7963         * sibcall.c (optimize_sibling_calls): Likewise.
7964         * toplev.c (rest_of_compilation): Likewise.
7965         * flow.c (try_forward_edges): Take argument MODE;
7966         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
7967         (try_optimize_cfg): Update call of try_forward_edges.
7968
7969 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
7970                                Jan Hubicka  <jh@suse.cz>
7971
7972         * (validate_replace_rtx_1): Fix simplification of MINUS.
7973
7974 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
7975
7976         PR preprocessor/3669
7977         * cppinit.c (init_dependency_output): Turn off dump requests
7978         if sending dependencies to stdout.
7979
7980 2001-07-28  Richard Henderson  <rth@redhat.com>
7981
7982         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
7983         not optimizing.
7984
7985 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
7986
7987         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
7988
7989 2001-07-28  Kazu Hirata  <kazu@hxi.com>
7990
7991         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
7992         is VAR_DECL first to prevent an ICE.
7993
7994 2001-07-28  Richard Henderson  <rth@redhat.com>
7995
7996         * varasm.c (immed_real_const_1): Don't elide special cases for
7997         nested functions.
7998         (clear_const_double_mem): Clear const_tiny_rtx too.
7999
8000 2001-07-28  Richard Henderson  <rth@redhat.com>
8001
8002         * dwarf2out.c (dw_val_class_offset): New.
8003         (struct dw_ranges_struct, dw_ranges_ref): New.
8004         (ranges_table, ranges_table_allocated): New.
8005         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
8006         (add_AT_offset, add_ranges, output_ranges): New.
8007         (print_die, output_die): Handle dw_val_class_offset.
8008         (attr_checksum, size_of_die, value_format): Likewise.
8009         (gen_lexical_block_die): Handle non-contiguous blocks.
8010         (gen_block_die): Likewise.
8011         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
8012         if needed.  Dump the ranges table.
8013         * final.c (final_start_function): Remove unnecessary notes and
8014         rebuild the block tree before numbering the blocks.
8015         * function.c (reorder_blocks_0): Walk the existing block tree
8016         to unmark all blocks.
8017         (reorder_blocks_1): Create block fragments when duplicate block
8018         notes are seen.
8019         (reorder_fix_fragments): New.
8020         (reorder_blocks): Call it.
8021         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
8022
8023 2001-07-28  Richard Henderson  <rth@redhat.com>
8024
8025         * emit-rtl.c (adjust_address): Make a copy of the memory address.
8026
8027 2001-07-28  Richard Henderson  <rth@redhat.com>
8028
8029         * flow.c (add_to_mem_set_list): New function.
8030         (init_propagate_block_info): Use it.
8031         (mark_set_1): Likewise.
8032         (insn_dead_p): Canonicalize memory address for dead store
8033         comparison.  Allow wider mode stores to kill narrower mode stores.
8034         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
8035         (invalidate_mems_from_set): Don't handle MEMs.
8036
8037 2001-07-28  Kazu Hirata  <kazu@hxi.com>
8038
8039         * config/h8300/h8300.h: Fix formatting.
8040
8041 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
8042
8043         * basic-block.h (EDGE_FREQUENCY): New macro.
8044         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
8045         for new BB/edges.
8046         * flow.c (find_sub_basic_blocks): Likewise.
8047         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
8048         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
8049
8050         * predict.c (DEF_PREDICTOR): New argument FLAGS.
8051         (HITRATE): New macro.
8052         (PRED_FLAG_FIRST_MATCH): New constant.
8053         (predictor_info): New field flgags.
8054         (combine_predictions_for_insn): Use DS theory to combine
8055         probabilities; set the edge probabilities when finished.
8056         (estimate_probability): Avoid duplicated matches
8057         of LOOP_BRANCH heuristics for nested loops; update comment.
8058         * predict.def: Add flags for each prediction, set probabilities
8059         according to B&L paper.
8060         * predict.h (DEF_PREDICTOR): New argument FLAGS.
8061
8062         * profile.c (compute_branch_probabilities):  Cleanup way the edge
8063         probabilities are computed and REG_BR_PROB notes are dropped; if
8064         values does not match, emit error.
8065         (init_branch_prob): Do error instead of warning when profile driven
8066         feedback is missing or corrupt.
8067
8068 2001-07-27  DJ Delorie  <dj@redhat.com>
8069
8070         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
8071         against a constant, try to adjust the compare to have the desired
8072         constant in it so that min/max optimizations happen more often.
8073
8074 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
8075
8076         * flow.c (last_loop_beg_note): New function.
8077         (redirect_edge_and_branch): Use it.
8078         (split_edge): Likewise.
8079
8080         * alias.c (loop_p): Avoid uninitialized memory access.
8081
8082         * flow.c (try_forward_edges): Avoid accessing freed memory.
8083
8084         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
8085         variable access.
8086
8087 2001-07-26  Andrew Haley  <aph@redhat.com>
8088         Joern Rennecke <amylaar@redhat.com>
8089
8090         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
8091         (SUBTARGET_CPP_ENDIAN_SPEC): New.
8092         (SUBTARGET_CPP_SPEC): New.
8093         (CPP_SPEC): Remove.
8094         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
8095         (SUBTARGET_CPP_PTR_SPEC): New.
8096         (CPP_DEFAULT_CPU_SPEC): New.
8097         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
8098         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
8099         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
8100         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
8101         (SUBTARGET_CPP_SPEC): Define as an empty string.
8102
8103 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8104
8105         * doc/install.texi (Configuration): Properly link the host
8106         specific instructions also when generating HTML.
8107
8108 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
8109
8110         * flow.c (redirect_edge_and_branch_force): Test
8111         target->global_live_at_start.
8112
8113 2001-07-26  Richard Henderson  <rth@redhat.com>
8114
8115         * simplify-rtx.c (avoid_constant_pool_reference): Export.
8116         * rtl.h (avoid_constant_pool_reference): Declare it.
8117         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
8118         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
8119
8120 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
8121
8122         * rtl.h (cleanup_barriers): Declare.
8123         * jump.c (cleanup_barriers): New function.
8124         * toplev.c (rest_of_compilation): Call cleanup_barriers
8125         before loop optimizer and after bb_reorder.
8126
8127         * flow.c (back_edge_of_syntactic_loop_p): New.
8128         (split_edge): Use it.
8129
8130 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8131
8132         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
8133
8134 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
8135
8136         * cse.c (cse_process_notes): Replace any registers if the address
8137         remains valid.
8138
8139 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
8140
8141         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
8142         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
8143         (propagate_block): Update prototype.
8144         * flow.c (update_life_info): Simplify the CFG and
8145         recalculate the global regs which are alive when
8146         removing dead code during a global update.
8147         (propagate_block): Return non-zero if an INSN is
8148         deleted.
8149
8150 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8151
8152         * Makefile.in (LIBICONV): Define.
8153
8154 2001-07-26  Catherine Moore  <clm@redhat.com>
8155
8156         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
8157         of conditional to avoid tree checking errors.
8158
8159 2001-07-26  Kazu Hirata  <kazu@hxi.com>
8160
8161         * regmove.c (regmove_optimize): Don't replace a reg with
8162         another reg of a different mode.
8163
8164 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
8165
8166         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
8167         limit length of dependancy flush list.
8168         * params.h (MAX_PENDING_LIST_LENGTH): Define.
8169         * sched-int.h  (struct deps): Add pending_flush_length field.
8170         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
8171         has 1 element in it.
8172         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
8173         (sched_analyze): After a jump, if the pending memory flush list is too
8174         large, flush the pending lists.
8175         (init_deps): Initialize pending_flush_length to 0.
8176         * doc/invoke.texi (max_pending_list_length): Document parameter.
8177
8178 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8179
8180         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
8181         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
8182         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
8183
8184 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8185
8186         * cpphash.h (struct_lexer_state): Delete was_skipping.
8187         Move skipping here from struct cpp_reader.
8188         * cpplex.c (parse_identifier): Update.
8189         (_cpp_lex_token): Don't skip tokens in a directive.
8190         * cpplib.c (struct if_stack): Update.
8191         (start_directive, end_directive): Don't change skipping state.
8192         (_cpp_handle_directive): Update.
8193         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
8194         (do_else, do_endif): Update; only check for excess tokens if not
8195         in a skipped conditional block.
8196         (push_conditional): Update for new struct if_stack.
8197
8198 2001-07-26  Graham Stott  <grahams@redhat.com>
8199
8200         * function.c (locate_and_pad_parm): Also pad initial offset
8201         so that the total argument size also includes the padding.
8202
8203 2001-07-26  Graham Stott <grahams@redhat.com>
8204
8205         * gensupport.c (alter_output_for_insn): Correct enable checking failure
8206         change XSTR to XTMPL.
8207
8208         (process_one_cond_exec): Likewise
8209
8210 2001-07-25  Richard Henderson  <rth@redhat.com>
8211
8212         * varasm.c (assemble_variable): Create DECL_RTL before setting
8213         TREE_ASM_WRITTEN.
8214
8215 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
8216
8217         * predict.c (estimate_probability): Avoid duplicated predictions.
8218
8219         * loop.c (find_and_verify_loops): Grok multiple barriers.
8220
8221 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8222
8223         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
8224
8225         * dbxout.c: Consistently use putc instead of fputc.
8226         (print_wide_int): New function; call instead of direct fprintf.
8227         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
8228         (dbxout_type_fields, dbxout_type_method_1): Likewise.
8229         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
8230         (print_int_cst_octal): Likewise.
8231         (print_octal): Show we wrote characters.
8232         (dbxout_type): Set have_used_extensions in more places.
8233
8234 2001-07-25  Catherine Moore  <clm@redhat.com>
8235
8236         * config/v850/v850.c (v850_va_arg):  Use addr
8237         instead of valist to build incr.
8238
8239 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
8240
8241         * flow.c (delete_dead_jumptables): New function.
8242         (life_analyzis): Call it.
8243         * bb-reorder.c (skip_insns_after_block): Handle contradictory
8244         sequences.
8245
8246 2001-07-25  Richard Henderson  <rth@redhat.com>
8247
8248         * except.c (reachable_handlers): Handle a region being removed
8249         out from under a RESX.
8250
8251 2001-07-25  Richard Henderson  <rth@redhat.com>
8252
8253         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
8254         swap GE/GT if it is an fp comparison.
8255
8256 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
8257
8258         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
8259         operands.
8260
8261 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
8262
8263         * ssa.c (rename_insn_1): Do not wrap an assignment to a
8264         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
8265         glitch.
8266
8267         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
8268         throw an exception.
8269         (visit_expression): When attempting to simplify an expression,
8270         retrieve any modes for arguments before they are simplified
8271         to constants.
8272
8273 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
8274             Janis Johnson  <janis@us.ibm.com>
8275
8276         * stmt.c (expand_goto): A nonlocal goto can be a call too.
8277         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
8278         pointer parameters to match documented usage of nonlocal_goto.
8279         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
8280         parameters to their correct order.
8281         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
8282         parameters to their correct order.
8283
8284 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
8285
8286         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
8287
8288 2001-07-25  Jan Hubicka  <jh@suse.cz>
8289             Richard Henderson  <rth@redhat.com>
8290
8291         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
8292         the sequence.
8293         (make_edges): New argument update_p; populate the edge cache if set.
8294         (find_basic_blocks): Update make_edges invocation.
8295
8296 2001-07-24  Joel Sherrill <joel@OARcorp.com>
8297
8298         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
8299
8300 2001-07-24  Joel Sherrill <joel@OARcorp.com>
8301
8302         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
8303         -Acpu and -Amachine.h.
8304         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
8305         Corrected header to say ELF not a.out.
8306         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
8307         when given -msoft-float.
8308
8309 2001-07-24  Joel Sherrill <joel@OARcorp.com>
8310
8311         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
8312         extra multilib parts like arm-elf.
8313         (i960-*-coff*, i960-*-rtems): Should not use collect2.
8314         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
8315         crtfini.o as extra multilib parts.
8316
8317 2001-07-24  Joel Sherrill <joel@OARcorp.com>
8318
8319         * configure.in: Add rtems as a supported thread model.
8320         * gthr-rtems.h: Add missing entry point __gthread_active_p.
8321         * configure: Rebuilt.
8322
8323 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
8324
8325         * stor-layout.c (get_mode_alignment): make it work when
8326         BITS_PER_UNIT is not a power of two.
8327         * builtins.c (get_pointer_alignment): Likewise.
8328
8329 2001-07-24  Richard Henderson  <rth@redhat.com>
8330
8331         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
8332         the retrieved constant into the expected mode.
8333
8334 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
8335
8336         * flow.c (try_simplify_condjump): Avoid duplicated edges.
8337         (verify_flow_info): Check for duplicated edges; clarify
8338         error reporting.
8339
8340         * flow.c (block_label): Update basic_block_for_insn.
8341         (commit_edge_insertions): Call compute_bb_for_insn.
8342
8343         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
8344         returns too.
8345
8346         * flow.c (redirect_edge_and_branch,
8347         try_optimize_cfg): Use redirect_edge_succ_nodup
8348         (redirect_edge_succ_nodup): New.
8349         * basic_block.h (redirect_edge_succ_nodup): Declare.
8350
8351         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
8352         after gcse.
8353
8354 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
8355
8356         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
8357         (try_crossjump_to_edge): Update commetns.
8358         (try_crossjump_bb): Likewise.
8359
8360 2001-07-24  Richard Henderson  <rth@redhat.com>
8361
8362         * combine.c (distribute_notes): Move set of need_refresh
8363         for noop_move_p down to catch all cases.
8364
8365 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
8366
8367         * recog.c (split_all_insns_noflow): New.
8368         * rtl.h (split_all_insns_noflow): Declare.
8369         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
8370         * m68hc11.c (m68hc11_reorg): Likewise.
8371         * sh.c (machine_dependent_reorg): Likewise.
8372         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
8373         call.
8374
8375 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
8376
8377         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
8378         (ashlsi3_n splitter): Likewise.
8379         (lshrsi3_n splitter): Likewise.
8380
8381         (GOTaddr2picreg): Make const SImode.
8382         (sym_label2reg): Likewise.
8383         (symGOT2reg): Likewise.
8384         (symGOTOFF2reg) Likewise.
8385
8386         (casesi_worker_0): Make unspec SImode.
8387
8388 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
8389
8390         * config/sh/sh.c (barrier_align): Check that an operand really is
8391         an insn before extracting its INSN_CODE.
8392
8393 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
8394
8395         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
8396         dangling else.
8397
8398         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
8399         for SImode to prevent overflow.
8400
8401 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8402
8403         * config/mips/irix6-libc-compat.c: New file.
8404         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
8405         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
8406         passing workaround.
8407
8408 2001-07-24  lars brinkhoff  <lars@nocrew.org>
8409
8410         * rtl.texi (REG_POINTER): Document.
8411         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
8412         QFmode, HFmode, TQFmode, QCmode, and HCmode.
8413
8414 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
8415
8416         * flow.c (delete_noop_moves): Do not confuse libcall regions.
8417
8418 2001-07-23  Richard Henderson  <rth@redhat.com>
8419
8420         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
8421
8422 2001-07-23  Kazu Hirata  <kazu@hxi.com>
8423
8424         * config/h8300/h8300-protos.h: Add a prototype for
8425         general_operand_dst_push.
8426         * config/h8300/h8300.c (general_operand_dst_push): New.
8427         * config/h8300/h8300.h (OK_FOR_T): New.
8428         (EXTRA_CONSTRAINT): Use it.
8429         * config/h8300/h8300.md (movqi_push): Remove and integrate into
8430         the existing movqi pattern.
8431         (movhi_push): Likewise.
8432
8433         * reload.c: Fix comment typos.
8434
8435 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8436
8437         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
8438
8439 2001-07-23  H.J. Lu  (hjl@gnu.org)
8440
8441         * doc/extend.texi: Update __builtin_return_address and
8442         __builtin_frame_address.
8443
8444 2001-07-23  Richard Henderson  <rth@redhat.com>
8445
8446         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
8447         before CSE.
8448         * config/i386/i386.md: New setcc+movzbl peephole2.
8449
8450 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8451
8452         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
8453         * objc/objc-act.c: Include debug.h.
8454         (synth_module_prologue): Save and restore debug hooks too.
8455
8456 2001-07-23  lars brinkhoff  <lars@nocrew.org>
8457
8458         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
8459         and C4X_FLOAT_FORMAT.
8460         (BOOL_TYPE_SIZE): Document.
8461
8462 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
8463
8464         * unroll.c (loop_iterations): Fix miscalculation of initial
8465         giv offset.
8466
8467 2001-07-13  Andrew Haley  <aph@redhat.com>
8468
8469         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
8470         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
8471         * config/sh/sh.c (sh_can_redirect_branch): New function.
8472         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
8473         * reorg.c (steal_delay_list_from_target): Use
8474         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
8475
8476 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
8477
8478         * flow.c (try_simplify_condjump): Unlink insn chain on
8479         fallthru edge; use can_fallthru.
8480
8481 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
8482
8483         * basic-block.h (find_sub_basic_block): Declare.
8484         * flow.c (make_edges): New arguments MIN and MAX;
8485         (find_sub_basic_blocks): Revamp to use make_edges
8486         and purge_dead_edges.
8487         (find_basic_blocks): Update call of find_sub_basic_block.
8488
8489         * recog.c (split_all_insns): Always expect CFG to be consistent;
8490         call find_sub_basic_blocks in case something has changed.
8491         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
8492         has been built.
8493
8494         * basic-block.h (delete_noop_moves): Declare.
8495         * combine.c (combine_instructions): Call it.
8496         (recog_for_combine): Tolerate noop moves
8497         (distribute_notes): Force refresh when register dies at noop move.
8498         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
8499         too.
8500         (life_analysis): Update delete_noop_moves call.
8501         (set_noop_p): Move too ...
8502         * rtlanal.c (noop_move_p): ... here.
8503         * rtl.h (noop_move_p): Declare.
8504
8505         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
8506         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
8507         after combine.
8508         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
8509         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
8510
8511 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
8512
8513         * reload.c (push_reload): Fix typo in comment.
8514         (find_reloads_address): Ditto.
8515         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
8516
8517 2001-07-22  Richard Henderson  <rth@redhat.com>
8518
8519         * flow.c: Grammar check and clarify a lot of comments.
8520         (try_simplify_condjump): Rename variables to be clearer.
8521         (try_forward_edges): Skip complex and fallthru edges.
8522         Rearrange tests to avoid duplicate checks.
8523         (flow_find_cross_jump): Likewise.
8524         (outgoing_edges_match): Allow match if neither branch has
8525         probability data.  Loosen probability match to 5%.
8526         (try_crossjump_to_edge): Hoist repeated indirection into
8527         local variables.
8528         (try_crossjump_bb): Don't check complex edges.  Eliminate
8529         redundant crossjump tests.
8530         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
8531         checks before more expensive checks.
8532
8533 2001-07-22  Richard Henderson  <rth@redhat.com>
8534
8535         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
8536         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
8537         arguments.
8538
8539 2001-07-22  Richard Henderson  <rth@redhat.com>
8540
8541         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
8542         (const_sint32_operand): Likewise.
8543         * m68k.md (anon mulsi pattern): Use const_int_operand not
8544         const_sint32_operand.
8545         (umulsi3_highpart): Zero extend a constant input.
8546         (smulsi3_highpart): Don't bother checking SImode constant.
8547         (const_umulsi3_highpart): Give op3 DImode.
8548         (const_smulsi3_highpart): Likewise.
8549
8550 2001-07-22  Richard Henderson  <rth@redhat.com>
8551
8552         * flow.c (split_block): Make sure bb_note is included in the
8553         new block when splitting before a label.
8554
8555 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
8556
8557         * basic-block.h (redirect_edge_and_branch_force,
8558         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
8559         * flow.c (redirect_edge_and_branch_force,
8560         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
8561         (redirect_edge_and_branch_force): Fix copying of lifeness information.
8562         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
8563         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
8564         instead of label; update CFG after transformation.
8565         (find_if_case_1): Update call, use redirect_edge_and_branch_force
8566         for finishing the transformation; handle even case where ELSE
8567         does not follow THEN.
8568         (find_if_case_2): Update call of dead_or_predictable; simplify
8569         CFG update.
8570
8571         * emit-rtl.c (split_branch_probability): New global variable.
8572         (try_split): Take care to set split_branch_probability and
8573         create REG_BR_PROB note for new jump insns.
8574         * md.texi (define_split): Document new feature.
8575
8576         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
8577
8578 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8579
8580         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
8581         (asm_out_file): Remove redundant declaration.
8582         (assemble_asm): Remove old #if 0 block.
8583         (assemble_variable): Remove end of function; debug output is
8584         now handled with global_decl.  Remove old #if 0 block.  Update.
8585         Remove saved_in_section and associated no-op code.
8586         * Makefile.in (varasm.o): Correct dependencies.
8587
8588 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
8589
8590         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
8591         the definition in defaults.h.
8592
8593 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
8594
8595         * jump.c: Update comments.
8596         (delete_barrier_successors, delete_unreferenced_labels,
8597         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
8598         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
8599         jump_optimize, jump_optimize_minimal): Kill.
8600         (rebuild_jump_labels): Move code from jump_optimize_1.
8601         (purge_line_number_notes): Likewise.
8602         (copy_loop_headers): Likewise.
8603         * reg-stack.c: Update comment.
8604         * stmt.c: Likewise.
8605         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
8606         JUMP_AFTER_REGSCAN): Kill.
8607         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
8608         purge_line_number_notes and copy_loop_headers.
8609
8610 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
8611            Richard Henderson  <rth@redhat.com>
8612
8613         * dbxout.c (dbxout_global_decl): New.
8614         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
8615         * sdbout.c (sdbout_finish): New.
8616         (sdbout_debug_hooks): Use it, add comments.
8617         (sdbout_global_decl): Defer initialised public vars to
8618         sdbout_finish.
8619         * varasm.c (assemble_variable): Don't output debug information
8620         for file-scope variables.
8621
8622 2001-07-22  Richard Henderson  <rth@redhat.com>
8623
8624         * config/alpha/alpha.c (get_trap_mode_suffix): New.
8625         (get_round_mode_suffix): New.
8626         (print_operand): Use them for [/].  Remove support for [&'`()+].
8627         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
8628         * config/alpha/alpha.md (attr round_suffix): New.
8629         (attr trap_suffix): New.
8630         (all insns): Set them appropriately.  Use %/ instead of the
8631         myriad punctuators.
8632
8633 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8634
8635         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
8636
8637 2001-07-22  Richard Henderson  <rth@redhat.com>
8638
8639         * regrename.c (regrename_optimize): Compute nregs for each
8640         potential target register.
8641
8642 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
8643            Richard Henderson  <rth@redhat.com>
8644
8645         * dbxout.c (dbxout_global_decl): New.
8646         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
8647         * sdbout.c (sdbout_finish): New.
8648         (sdbout_debug_hooks): Use it, add comments.
8649         (sdbout_global_decl): Defer initialised public vars to
8650         sdbout_finish.
8651         * varasm.c (assemble_variable): Don't output debug information
8652         for file-scope variables.
8653
8654 2001-07-21  H.J. Lu  (hjl@gnu.org)
8655
8656         * config/mips/mips.c (mips_cpu): Moved into ...
8657         (override_options): Here.
8658
8659         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
8660         mips_tune.
8661         (mips_cpu): Removed.
8662
8663 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8664
8665         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
8666         ("iorqi3"): Likewise.
8667         ("xorqi3"): Likewise.
8668         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
8669         ("*subhi3_sp): Likewise.
8670         ("*subhi3"): Likewise.
8671         ("extendhisi2"): Accept D, X and Y as source operand to avoid
8672         reload problems.
8673
8674 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
8675
8676         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
8677         * config/freebsd.h: Likewise.
8678         * config/linux.h: Likewise.
8679         * config/openbsd.h: Likewise.
8680         * config/alpha/linux-elf.h: Likewise.
8681         * config/arm/linux-elf.h: Likewise.
8682         * config/d30v/d30v.h: Likewise.
8683         * config/fr30/fr30.h: Likewise.
8684         * config/ia64/aix.h: Likewise.
8685         * config/ia64/ia64.h: Likewise.
8686         * config/mips/linux.h: Likewise.
8687         * config/pj/pj.h: Likewise.
8688         * config/rs6000/linux.h: Likewise.
8689         * config/sparc/linux.h: Likewise.
8690         * config/sparc/linux64.h: Likewise.
8691
8692 2001-07-20  Bruce Korb  <bkorb@gnu.org>
8693
8694         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
8695         because getc() and char* may disagree on signedness.
8696
8697 2001-07-20  Richard Henderson  <rth@redhat.com>
8698
8699         * doc/rtl.texi (REG_DEAD): Update for current semantics.
8700
8701         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
8702         insns to delete in the presence of cc0 in a jump insn.
8703
8704 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
8705                                Jan Hubicka  <jh@suse.cz>
8706
8707         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
8708         of doing the change by hand.
8709
8710 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
8711
8712         * rtlanal.c (set_noop_p): Return true for noop jumps.
8713
8714         * expr.c (emit_single_push_insn): Add call to push expander.
8715         * expr.h (optab_index): Add OTI_push
8716         (push_optab): New constant.
8717         * genopinit.c (optabs): Add push_optab.
8718         * optabs.c (init_optab): Init push optab.
8719         * md.texi (push??1): Document
8720
8721 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8722
8723         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
8724         expand to emit the pattern; put a REG_INC note for push/pop
8725         instructions.
8726         ("movdf", "movdf_internal"): Likewise.
8727         ("movsi", "movsi_internal"): Likewise.
8728         ("movsf", "movsf_internal"): Likewise.
8729         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
8730
8731 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8732
8733         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
8734         gen_highpart.
8735
8736 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
8737
8738         * params.def: Change default max inline insns to 100.
8739
8740 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
8741
8742         * combine.c (combine_simplify_rtx): Generate a new shift operation
8743         when simplifying the first operand of a (neg (ashift)) expression.
8744
8745 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8746
8747         * regclass.c (N_REG_INTS): Use only 32 bits per element.
8748
8749 2001-07-20  Kelley Cook  <kelley.cook@home.com>
8750
8751         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
8752         information.   Move rest into ...
8753         (*-*-solaris): ... here.  Eliminate redundant information and
8754         reword necessary packages section.  Delete 4.x assembler bug info.
8755         (sparc-sun-*): Merge into ...
8756         (sparc-sun-sunos*): here.
8757
8758 2001-07-20  Catherine Moore  <clm@redhat.com>
8759
8760         * config/v850/v850.md (casesi): Generate LABEL_REF
8761         with Pmode.
8762
8763 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
8764
8765         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
8766         * i386.c (ix86_zero_extend_to_Pmode): Make global.
8767         * i386.md (strclrsi expander): Use it.
8768
8769 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8770
8771         * integrate.c (copy_insn_list): handle
8772         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
8773         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
8774         identically as to CODE_LABEL.
8775
8776         * fold-const (fold): Convert A/B/C to A/(B*C) and
8777         A/(B/C) to (A/B)*C
8778
8779         * except.c (connect_post_landing_pads): Delete the RESX insns.
8780
8781 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
8782
8783         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
8784
8785         * config/mips/mips.md (nmadd/nmsub): Use macro.
8786
8787 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
8788
8789         * cppinit.c (remove_dup_dir): Make static.
8790         (remove_dup_dirs): Make static. Only warn about preempting a
8791         system directory with a non-system directory.
8792
8793 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
8794
8795         * ifcvt.c (noce_try_store_flag_constants): Correct order
8796         of parameters to trunc_int_for_mode.
8797
8798 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
8799
8800         * reorg.c (fill_simple_delay_slots): If an instruction might throw
8801         an exception that will be caught within this function, do not fill
8802         its delay slot with any subsequent instruction.
8803
8804 2001-07-19  Steve Ellcey <sje@cup.hp.com>
8805
8806         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
8807         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
8808         pointer extension instruction.
8809         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
8810         * simplify-rtx.c (simplify_unary_operation) Likewise.
8811         * explow.c (convert_memory_address) Check value of
8812         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
8813         less than zero.
8814         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
8815         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
8816         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
8817         Add Multilib Support.
8818         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
8819         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
8820         Add Multilib Support.
8821         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
8822         support.
8823         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
8824         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
8825         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
8826
8827 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
8828
8829         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
8830         old and new operands in `<', `3' and `b'.
8831
8832 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8833
8834         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
8835         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
8836         (toplev.o): Don't depend on xcoffout.h.
8837         * c-decl.c: Include debug.h
8838         (duplicate_decls): Use debug hook.
8839         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
8840         (dbx_debug_hooks, xcoff_debug_hooks): Update.
8841         (dbxout_types): Remove.
8842         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
8843         * debug.c (do_nothing_debug_hooks): Update.
8844         (debug_true_tree, debug_nothing_rtx): New.
8845         * debug.h (struct rtx_def): New.
8846         (struct gcc_debug_hooks): New hooks ignore_block,
8847         outlining_inline_function and label.
8848         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
8849         dwarf2out_frame_finish): New.
8850         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
8851         Make static, update prototype.
8852         (dwarf2_debug_hooks): Update.
8853         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
8854         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
8855         * dwarfout.c (dwarf_debug_hooks): Update.
8856         * emit-rtl.c: Include debug.h.
8857         (remove_unnecessary_notes): Use debug hook.
8858         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
8859         (final_scan_insn): Use debug hook.
8860         * integrate.c (output_inline_function): Use debug hook.
8861         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
8862         (sdb_debug_hooks): Update.
8863         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
8864         * toplev.c: Don't include xcoffout.h.
8865         (note_outlining_of_inline_function, debug_ignore_block): Remove.
8866         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
8867         Remove.
8868         * tree.h (dwarf2out_do_frame): Remove.
8869
8870 2001-07-19  Catherine Moore  <clm@cygnus.com>
8871
8872         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
8873
8874 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
8875
8876         * reload1.c (eliminate_regs_in_insn): When updating a set
8877         to the frame pointer to the hardware frame pointer, perform
8878         the update always not just when REPLACE is set.
8879
8880         * reload1.c (choose_reload_regs): Don't inherit a reload
8881         that crosses multiple registers if registers past the first
8882         don't fit in the desired class.
8883
8884         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
8885         when negating constants.
8886
8887 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
8888
8889         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
8890         * doc/tree.texi: Ditto.
8891
8892 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
8893             Jakub Jelinek  <jakub@redhat.com>
8894
8895         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
8896         (extract_cie_info): Handle "eh" augmentation properly,
8897         remember eh_ptr.
8898         (struct frame_state, __frame_state_for): New.
8899
8900 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8901
8902         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
8903         HANDLE_SYSV_PRAGMA): Define.
8904         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
8905         previous args.
8906         (copy_object): Caller changed.
8907
8908 2001-07-19  Andreas Schwab  <schwab@suse.de>
8909
8910         * configure.in (assembler dwarf2 debug_line support): Define nop
8911         insn for m68k.
8912         * configure: Regenerated.
8913
8914 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8915
8916         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
8917         dwarfout.h.
8918         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
8919         to conditionally compiled block.
8920         (dbx_debug_hooks, xcoff_debug_hooks): Update.
8921         * dbxout.h (dbxout_function): Remove.
8922         * debug.c (do_nothing_debug_hooks): Update.
8923         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
8924         global_decl, deferred_inline_function.
8925         * dwarf2out.c (dwarf2_debug_hooks): Update.
8926         (dwarf2out_global_decl): New.
8927         * dwarfout.c: Don't include dwarfout.h.
8928         (dwarfout_global_decl, dwarfout_function_decl,
8929         dwarfout_deferred_inline_function): New.
8930         (dwarf_debug_hooks): Update.
8931         * dwarfout.h: Remove.
8932         * final.c: Don't include dwarfout.h.
8933         * sdbout.c (sdbout_global_decl): New.
8934         (sdbout_debug_hooks): Update.
8935         * toplev.c: Don't include dwarfout.h.
8936         (check_global_declarations, rest_of_compilation): Use new debug hooks.
8937         (note_deferral_of_defined_inline_function): Remove.
8938         * toplev.h (note_deferral_of_defined_inline_function): Remove.
8939         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
8940         * ch/lex.c: Don't include dwarfout.h.
8941         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
8942         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
8943         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
8944         * cp/optimize.c: Include debug.h.
8945         (maybe_clone_body): Use debug hook.
8946         * cp/semantics.c: Include debug.h.
8947         (expand_body): Use debug hook.
8948         * po/POTFILES.in: Remove dwarfout.h.
8949
8950 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8951
8952         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
8953         * c-parse.in (yyerror, _yylex): Similarly.
8954         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
8955         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
8956         Update comments.
8957         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
8958         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
8959
8960 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
8961
8962         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
8963         in-class declaration at -g1.  Fixes c++/2814.
8964
8965 2001-07-18  Richard Henderson  <rth@redhat.com>
8966
8967         * doc/md.texi (reload_in/out): Document restrictions in predicates
8968         and constraints for these patterns.  Document empty string matching
8969         ALL_REGS.
8970
8971 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8972
8973         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
8974
8975 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
8976
8977         * cse.c: Undo my previous patch.
8978
8979 2001-07-18  Tom Tromey  <tromey@redhat.com>
8980
8981         For PR java/2812:
8982         * configure: Rebuilt.
8983         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
8984         instead.
8985         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
8986
8987 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
8988                                Jan Hubicka  <jh@suse.cz>
8989
8990         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
8991         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
8992         * jump.c (mark_jump_label): Do not forward branches.
8993
8994 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
8995
8996         * cse.c (delete_trivially_dead_insns): Delete the libcall block
8997         when return value is unused.
8998
8999 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9000
9001         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
9002
9003 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
9004
9005         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
9006         on error.  We can't blindly return the result of
9007         pthread_mutex_trylock because it returns a positive number on
9008         error, while we must return -1 on error.
9009         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
9010         fixes.
9011         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
9012
9013 2001-07-18  Andreas Jaeger  <aj@suse.de>
9014
9015         * integrate.c (output_inline_function): Correct type of debug_hooks.
9016
9017 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
9018
9019         * combine.c (combine_simplify_rtx): DIV can be treated
9020         associatively for floats if unsafe math optimisations are enabled.
9021
9022 2001-07-17  Richard Henderson  <rth@redhat.com>
9023
9024         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
9025
9026 2001-07-17  Richard Henderson  <rth@redhat.com>
9027
9028         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
9029         don't force the function address into a register.
9030         (expand_call, emit_library_call_value_1): Update callers.
9031         * builtins.c (expand_builtin_apply): Likewise.
9032         * expr.h (prepare_call_address): Update decl.
9033
9034 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
9035
9036         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
9037         config directory.
9038         * config/i386/chorus.h: Move up.
9039         * config/sparc/chorus.h: Likewise.
9040         * config/rs6000/chorus.h: Likewise.
9041         * config/chorus.h: Moved here.
9042
9043 2001-07-17  Andreas Schwab  <schwab@suse.de>
9044
9045        * configure.in  (assembler eh_frame optimization): Handle big
9046        endian.
9047        * configure: Regenerated.
9048
9049 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
9050
9051         * expr.c (epxand_expr): Convert divisions into multiplications by
9052         reciprocals if -ffast-math.
9053
9054 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9055
9056         * dbxout.c (dbxout_really_begin_function): Rename to
9057         dbxout_begin_function.
9058         (dbx_debug_hooks, xcoff_debug_hooks): Update.
9059         (dbxout_begin_function): Remove.
9060         (dbxout_function): Update.
9061         (dbxout_source_line): Update prototype.
9062         * dbxout.h (dbxout_begin_function): Remove.
9063         * debug.c (do_nothing_debug_hooks): Update.
9064         (debug_nothing_tree): Update.
9065         (debug_nothing_charstar_rtx): Remove.
9066         * debug.h (union tree_node): Declare.
9067         (struct rtx_def): Remove.
9068         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
9069         begin_function.  Change source_line prototype.
9070         (debug_nothing_tree): New.
9071         (debug_nothing_charstar_rtx): Delete.
9072         (dwarf2out_begin_prologue): Moved from ...
9073         * tree.h: ... here.
9074         * dwarf2out.c (dwarf2_debug_hooks): Update.
9075         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
9076         debug info, call dwarf2out_source_line.
9077         (dwarf2out_souce_line): Update prototype.
9078         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
9079         Change prototype, make static.
9080         (dwarfout_source_line): Update prototype.
9081         (dwarf_debug_hooks): Update.
9082         * dwarfout.h (dwarfout_begin_function): Remove.
9083         * final.c (final_start_function, final_scan_insn): Use appropriate
9084         debug hooks, update to use notice_source_line.
9085         (output_source_line): Rename notice_source_line.  Don't call the
9086         source_line debug hook.
9087         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
9088         make static, update prototype.
9089         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
9090         prototype.
9091         (sdbout_end_prologue): New.
9092         (sdbout_source_line): Update prototype.
9093         (sdbout_debug_hooks): Update.
9094         (sdbout_symbol): Remove unused var.
9095         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
9096         Delete.
9097         * varasm.c: Include debug.h.
9098         (assemble_start_function): Use begin_function debug_hook.
9099         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
9100         update with prototype.
9101         (xcoffout_source_line): Update prototype.
9102         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
9103         update prototype.
9104         (xcoffout_source_line): Update prototype.
9105
9106 2001-07-17  Richard Henderson  <rth@redhat.com>
9107
9108         * c-typeck.c (build_binary_op): Do not shorten unsigned
9109         right shift after sign extension.
9110
9111 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
9112
9113         * combine.c (combine_simplify_rtx): Attempt to simplify
9114         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
9115
9116         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
9117         (simplify_binary_operation, simplify_unary_operation,
9118          simplify_relational_operation): Use it.
9119
9120         * combine.c (combine_simplify_rtx): Don't do associative law
9121         on divisions; allow associative law on floats.
9122
9123 2001-07-17  H.J. Lu <hjl@gnu.org>
9124             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9125
9126         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
9127         ASM_OUTPUT_WEAK_ALIAS are defined.
9128         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
9129         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
9130         Moved ...
9131         * config/mips/iris5.h: ... here.
9132         (HANDLE_SYSV_PRAGMA): Defined as 1.
9133         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
9134         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
9135         symbol.
9136
9137 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
9138
9139         * c-parse.in (all_prefix_attributes): New variable.
9140         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
9141         (maybe_resetattrs): New production.
9142         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
9143         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
9144         notype_initdcl, nested_function, notype_nested_function,
9145         component_decl, components, components_notype,
9146         component_declarator, component_notype_declarator,
9147         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
9148         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
9149         after a comma being applied to more than one declarator.
9150         * doc/extend.texi (Attribute Syntax): Update.  Remove
9151         documentation of bugs that are no longer present.
9152
9153 2001-07-13  Eric Christopher  <echristo@redhat.com>
9154
9155         * config/mips/mips.h: Change TUNE_MIPS* options to use
9156         mips_tune.
9157         (EXTRA_SPECS): Add cc1_cpu_spec.
9158         * config/mips/mips.md (muldf3): Fix typo.
9159
9160 2001-07-16  Richard Henderson  <rth@redhat.com>
9161
9162         * config/m68k/m68k.c: Include expr.h and reload.h.
9163         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
9164         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
9165
9166 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
9167             Richard Henderson  <rth@redhat.com>
9168
9169         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
9170         (insn_live_p): Fix fall off end of function.
9171         (dead_libcall_p): Remove COUNTS argument; update callers.
9172         (delete_trivially_dead_insns): Remove unused variables.
9173
9174 2001-07-17  Andreas Jaeger  <aj@suse.de>
9175
9176         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
9177         x86-64 pic support.
9178
9179         * lcm.c (optimize_mode_switching): Avoid warning for unused
9180         variable if !NORMAL_MODE.
9181
9182         * flow.c (try_crossjump_to_edge): Remove unused variable.
9183
9184 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9185
9186         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
9187         atexit declaration in stdlib.h.
9188
9189 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
9190
9191         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
9192
9193 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
9194
9195         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
9196         * except.c (finish_eh_generation): Update call of cleanup_cfg;
9197         do rebuild_jump_labels instead of jump_optimize
9198         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
9199         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
9200         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
9201
9202         * flow.c: Include timevar.h
9203         (find_basic_block): Push/pop timevar;
9204         (cleanup_cfg): Likewise.
9205         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
9206         * Makefile: Add dependencies on timevar.h
9207
9208         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
9209         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
9210
9211         * rtl.h (delete_trivially_dead_insns): Add new parameter.
9212         * toplev.c (rest_of_compilation): Update calls.
9213         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
9214         (delete_trivially_dead_insns): ... here; accept new argument
9215         preserve_basic_blocks; preserve basic blocks if set.
9216
9217         * reg-stack.c (stack_regs_mentioned): Return 0 if
9218         stack_regs_mentioned_data is not initialized.
9219         (reg_to_stack): Make stack_regs_mentioned survive after the
9220         reg-stack is completted; do not call cleanup_cfg.
9221         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
9222         make cleanup_cfg after bb-reorder to output to debug file.
9223
9224 2001-07-16  Richard Henderson  <rth@redhat.com>
9225
9226         * regclass.c (init_reg_sets): Use only 32 bits per initializer
9227         from int_reg_class_contents.
9228
9229 2001-07-16  Richard Henderson  <rth@redhat.com>
9230
9231         * hard-reg-set.h (regs_invalidated_by_call): Declare.
9232         * regclass.c (regs_invalidated_by_call): Move from cse.c.
9233         (init_reg_sets_1): Move initialization from cse_main.
9234         * cse.c (regs_invalidated_by_call): Move to regclass.c.
9235         (cse_main): Move its initialization also.
9236         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
9237         * flow.c (propagate_one_insn): Likewise.
9238         * gcse.c (compute_hash_table): Likewise.
9239         (compute_kill_rd, compute_store_table): Likewise.
9240         * sched-deps.c (sched_analyze_1): Likewise.
9241
9242 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
9243
9244         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
9245         gen_rtx_SET.
9246
9247 2001-07-16  Steve Ellcey <sje@cup.hp.com>
9248
9249         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
9250         in if statement so we don't access undefined memory.
9251
9252 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
9253
9254         * gcse.c: Update comment at top.
9255         Update comment on mem handling.
9256         mem_last_set, mem_first_set, mem_set_in_block: gone.
9257         Declaration of reg_set_info: gone.
9258         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
9259         pointless with load_killed_in_block_p (they are *more*
9260         conservative then it, not less, and less accurate).
9261         (oprs_not_set_p): Ditto.
9262         (alloc_gcse_mem): Don't allocate mem_set_in_block
9263         (free_gcse_mem): Don't free it, either.
9264         (record_last_mem_set_info): Update comment in front, remove
9265         mem_*set_* stuff. Note the reason we don't handle stores directly
9266         here.
9267         (compute_hash_table): Update comments to reflect reality. Remove
9268         mem_*set_* references.
9269         (reset_opr_set_tables): Remove mem_*set_* references.
9270         (mark_call): Ditto.
9271         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
9272         (mark_clobber): Ditto (on both parts, we double set here too).
9273         (expr_killed_p): Remove mem_set_in_block test.
9274         (compute_transp): Remove mem_set_in_block test.
9275
9276         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
9277         of edge, and removal of phi alternative to dump file.
9278         (ssa_ccp_substitute_constants): Add note about register now being
9279         constant, and which uses were replaced in what insns to dump file.
9280
9281 2001-07-16  Andreas Jaeger  <aj@suse.de>
9282
9283         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
9284         variables of type HOST_WIDEST_INT.
9285
9286         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
9287         (__bb_exit_func): Correct type of count_max to avoid overflow.
9288         (num_digits): Handle long long argument.
9289
9290         * combine.c (gen_lowpart_for_combine): Remove unused variable.
9291
9292 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9293
9294         * output.h (sdb_begin_function_line): Restore as an extern
9295         variable.
9296         * sdbout.c (sdb_begin_function_line): Make extern.
9297
9298 2001-07-15  Richard Henderson  <rth@redhat.com>
9299
9300         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
9301         * genrecog.c (maybe_both_true_mode): New.
9302         (maybe_both_true_2): Use it.
9303         (write_switch): Don't put Pmode in a switch.
9304         * rtl.c (mode arrays): Don't explicitly size them.
9305
9306 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9307
9308         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
9309         handling; move unconditional splitting before mode switching.
9310
9311         * i386.md (type): Add fistp type.
9312         (i387, length_attr, scheduling definitions): Handle this type.
9313         (fix_trunc?f?i2): Revamp to use mode switching.
9314         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
9315         * i386.h (fp_cw_mode): New enum
9316         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
9317         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
9318
9319 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9320
9321         * Makefile.in (integrate.o): Add debug.h.
9322         * integrate.c (debug.h): Add.
9323         (output_inline_function): Save, reset, and restore debug_hooks.
9324
9325 2001-07-15  Richard Henderson  <rth@redhat.com>
9326
9327         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
9328         instead of COMPARE for the EQUIV expression.
9329
9330 2001-07-15  Richard Henderson  <rth@redhat.com>
9331
9332         * flow.c (redirect_edge_and_branch_force): Initialize
9333         global_live_at_start and global_live_at_end.
9334         (allocate_bb_life_data): Export.
9335         * basic-block.h (allocate_bb_life_data): Declare.
9336         * toplev.c (rest_of_compilation): Call it.
9337
9338 2001-07-15  Richard Henderson  <rth@redhat.com>
9339
9340         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
9341         (alpha_tablejump_best_label): New.
9342         * config/alpha/alpha-protos.h: Declare them.
9343         * config/alpha/alpha.md: Use braced strings for code blocks.
9344         (tablejump_osf): Break out add with r29.
9345         (tablejump_osf_internal): Remove.
9346         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
9347         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
9348
9349 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9350
9351         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
9352         of the movable.
9353
9354         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
9355
9356         * i386-protos.h (ix86_split_fp_branch): Update prototype.
9357         (ix86_fp_jump_nontrivial_p): New.
9358         * i386.md (fp_jcc_?): Update call of split_fp_branch;
9359         use ix86_fp_jump_nontrivial_p.
9360         * i386.c (ix86_fp_jump_nontrivial_p): New.
9361         (ix86_split_fp_branch): Accept code instead of rtx.
9362         (ix86_expand_compare): Expand comparison early in case
9363         doing so is resonably cheap.
9364
9365 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
9366
9367         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
9368         not 'machine'.
9369         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
9370         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
9371
9372 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9373
9374         * dbxout.c (dbxout_source_line): Make static, update prototype.
9375         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
9376         (dbxout_init, dbxout_finish, dbxout_source_line,
9377         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
9378         * dbxout.h (dbxout_source_line): Delete.
9379         * debug.c (debug_nothing_file, debug_nothing_file_int,
9380         debug_nothing_file_charstar_rtx): New.
9381         (do_nothing_debug_hooks): Update.
9382         (debug_nothing_void, debug_nothing_charstar_rtx,
9383         dwarf2out_end_epilogue): New.
9384         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
9385         * debug.h (struct rtx_def): Declare.
9386         (gcc_debug_hooks): New hooks source_line, end_epilogue
9387         and end_function.
9388         (debug_nothing_void, debug_nothing_charstar_rtx,
9389         dwarf2out_end_epilogue): New.
9390         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
9391         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
9392         (dwarf2_debug_hooks): Update.
9393         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
9394         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
9395         * dwarf2out.h (dwarf2out_source_line): Remove.
9396         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
9397         Make static, update prototype.
9398         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
9399         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
9400         (dwarf_debug_hooks): Update.
9401         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
9402         dwarfout_end_function): Remove.
9403         * final.c (profile_function): Use debug hooks for ending functions
9404         and epilogues.
9405         (output_source_line, final_end_function): Update prototype,
9406         use debug hooks.
9407         (final_start_function, final_scan_insn): Update.
9408         * output.h (sdb_begin_function_line): Remove.
9409         (final_end_function): Update prototype.
9410         * sdbout.c (sdb_begin_function_line): Make static.
9411         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
9412         (sdbout_source_line): New.
9413         (sdbout_end_epilogue, sdbout_end_function): Make static, update
9414         prototypes.
9415         (sdb_debug_hooks): Update.
9416         (sdbout_init, sdbout_source_line,
9417         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
9418         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
9419         * toplev.c (compile_file, rest_of_compilation): Update.
9420         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
9421         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
9422         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
9423         Update for prototype changes.
9424         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
9425         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
9426
9427 2001-07-15  Richard Henderson  <rth@redhat.com>
9428
9429         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
9430         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
9431         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
9432         * config/alpha/alpha.c: Likewise.
9433         * config/alpha/alpha.md: Likewise.
9434         * config/alpha/alpha32.h: Likewise.
9435         * config/alpha/vms.h: Likewise.
9436         (OPEN_VMS): Remove.
9437
9438 2001-07-14  Richard Henderson  <rth@redhat.com>
9439
9440         * config/alpha/alpha.md: Use define_constants for unspec values.
9441         Substitute throughout.
9442
9443 2001-07-14  Tim Josling  <tej@melbpc.org.au>
9444
9445         * tree.def (EXPON_EXPR) remove. Never supported anyway.
9446
9447 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9448
9449         * pa.md: Remove unused constraints from define_split's.
9450
9451 2001-04-14  Richard Henderson  <rth@redhat.com>
9452
9453         * ifcvt.c (find_cond_trap): Test for exit block.
9454
9455 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
9456
9457         Re-install recently reverted patch.
9458         * emit-rtl.c (try_split): Update mark_jump_label call.
9459         * flow.c (find_sub_basic_blocks): Likewise.
9460         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
9461         jump_back_p): Kill.
9462         (mark_all_labels): Kill second parameter.
9463         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
9464         (rebuild_jump_labels, jump_optimize_minimal): Update call
9465         of jump_optimize_1.
9466         (jump_optimize_1): Kill crossjumping code.
9467         (mark_jump_label): Kill cross_jump parameter.
9468         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
9469         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
9470         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
9471          splitting.
9472         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
9473         DFI_bpro.
9474         (dump_file_info): Likewise.
9475         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
9476         reorganize passes to do reg-stack first, bb-reorder second.
9477         * invoke.texi (-d letters doc): Remove the jump2 pass.
9478
9479 2001-07-14  Richard Henderson  <rth@redhat.com>
9480
9481         * ifcvt.c (find_cond_trap): New.
9482         (find_if_header): Call it.
9483         (merge_if_block): Relax existing jump sanity check.
9484         * jump.c (jump_optimize_1): Remove conditional trap handling.
9485
9486 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
9487
9488         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
9489         millicode.
9490         (insn_refs_are_delayed): Correct comment.
9491         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
9492         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
9493         instead of r31.  Make associated insn !TARGET_64BIT, and
9494         provide an additional 64-bit insn that clobbers r2.
9495         (divsi3): Likewise.
9496         (udivsi3): Likewise.
9497         (modsi3): Likewise.
9498         (umodsi3): Likewise.
9499
9500 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
9501
9502         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
9503
9504         * flow.c (redirect_edge_and_branch_force, split_edge,
9505         try_crossjump_to_edge): Use set_block_for_new_insns.
9506         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
9507
9508 2001-07-13  H.J. Lu  (hjl@gnu.org)
9509
9510         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
9511         the correct patch.
9512
9513 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
9514
9515         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
9516
9517 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
9518
9519         * c-common.c (decl_attributes): Take a pointer to the node to
9520         which attributes are to be attached, and a flags argument.
9521         * c-common.h (enum attribute_flags): New.
9522         (decl_attributes): Update prototype.
9523         * c-decl.c (start_decl, push_parm_decl, finish_struct,
9524         finish_enum, start_function): Update calls to decl_attributes.
9525         * c-parse.in (component_declarator, component_notype_declarator,
9526         label): Update calls to decl_attributes.
9527
9528 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
9529
9530         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
9531         * config/avr/avr.c (legitimate_address_p): Return value changed
9532         from letter to register classes. For better debugging.
9533
9534 2001-07-13  Kazu Hirata  <kazu@hxi.com>
9535
9536         * jump.c (reversed_comparison_code_parts): Fix comment typos.
9537
9538 2001-07-13  H.J. Lu  (hjl@gnu.org)
9539
9540         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
9541
9542 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
9543
9544         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
9545         correctly for shared configurations.
9546         * config/t-libgcc-pic:  New.
9547         * config/{i386,m68k,sparc}/t-openbsd:  New.
9548         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
9549         Support -shared.  Support debugging libraries with -g.
9550         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
9551         frame information does not emit pointer diffs.
9552         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
9553         emit pointer diffs.
9554
9555 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
9556
9557         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
9558
9559 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
9560
9561         * combine.c (try_combine): Ensure const_int pow2 is positive.
9562
9563 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
9564
9565         * config.gcc: Add configuration for s/390.
9566         * config/s390/s390.c: New. Subroutines for code generation.
9567         * config/s390/s390.h: New. Definitions for s/390.
9568         * config/s390/s390-protos.h: New. Prototypes.
9569         * config/s390/linux.h: New. Definitions for linux for s/390.
9570         * config/s390/linux64.h: New. Definitions for linux for zSeries.
9571         * config/s390/t-linux: New. Makefile fragment.
9572         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
9573         * config/s390/fixdfdi.h: New. Fix L_fix*di.
9574
9575 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
9576
9577         * emit-rtl.c (try_split): Update mark_jump_label call.
9578         * flow.c (find_sub_basic_blocks): Likewise.
9579         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
9580         jump_back_p): Kill.
9581         (mark_all_labels): Kill second parameter.
9582         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
9583         (rebuild_jump_labels, jump_optimize_minimal): Update call
9584         of jump_optimize_1.
9585         (jump_optimize_1): Kill crossjumping code.
9586         (mark_jump_label): Kill cross_jump parameter.
9587         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
9588         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
9589         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
9590          splitting.
9591         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
9592         DFI_bpro.
9593         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
9594         reorganize passes to do reg-stack first, bb-reorder second.
9595         * invoke.texi (-d letters doc): Remove the jump2 pass.
9596
9597 2001-07-12  Steve Ellcey <sje@cup.hp.com>
9598
9599         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
9600
9601 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9602
9603         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
9604         basic blocks.
9605         (verify_flow_info): Make diagnostics prettier.
9606
9607 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9608
9609         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
9610
9611         * flow.c (outgoing_edges_match): Return early if condition reversal
9612         failed.
9613
9614 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
9615
9616         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
9617         (mips_move_2words): When splitting a move into two instructions,
9618         prefix the second address operand with '%D'.
9619
9620 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
9621
9622         * Makefile.in (final.o): Depend on debug.h.
9623         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
9624         (dbx_debug_hooks): Add new hooks.
9625         (xcoff_debug_hooks): New.
9626         * debug.c (debug_nothing_file_int_int): New.
9627         (do_nothing_debug_hooks): Update.
9628         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
9629         (debug_nothing_file_int_int): New.
9630         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
9631         static, update prototype.
9632         (dwarf2_debug_hooks): Update.
9633         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
9634         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
9635         static, update prototype.
9636         (dwarf_debug_hooks): Update.
9637         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
9638         * final.c: Include debug.h.
9639         (final_scan_insn): Use debug hooks when beginning and ending blocks.
9640         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
9641         static, update prototype.
9642         (sdb_debug_hooks): Update.
9643         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
9644         * toplev.c: Distinguish between xcoff and dbx.
9645
9646         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
9647         Call all debug hooks, not just dwarf ones.
9648
9649 2001-07-11  Timothy Wall  <twall@redhat.com>
9650
9651         * config.gcc: Add configuration for AIX5/IA64.
9652         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
9653         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
9654         support prefix/suffix code.
9655         * config/ia64/t-aix: New.  Makefile fragment.
9656         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
9657
9658 2001-07-11  Kazu Hirata  <kazu@hxi.com>
9659
9660         * recog.c (validate_change): Fix a comment typo.
9661
9662 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9663
9664         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
9665         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
9666         hooks directly.
9667         * dbxout.c (dbx_debug_hooks): Add new hooks.
9668         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
9669         make static.
9670         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
9671         make static.
9672         * dbxout.h (dbxout_start_new_source_file,
9673         dbxout_resume_previous_source_file): Delete.
9674         * debug.c (do_nothing_debug_hooks): Add new hooks.
9675         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
9676         (debug_nothing_int_charstar, debug_nothing_int): New.
9677         * debug.h (gcc_debug_hooks): New hooks define, undef,
9678         start_source_file and end_source_file.
9679         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
9680         (debug_nothing_int_charstar, debug_nothing_int): New.
9681         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
9682         the conditionally compiled section.
9683         (dwarf2out_start_source_file, dwarf2out_end_source_file,
9684         dwarf2out_define, dwarf2out_undef): Make static.
9685         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
9686         dwarf2out_define, dwarf2out_undef): Remove.
9687         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
9688         (dwarfout_start_source_file, dwarfout_end_source_file,
9689         dwarfout_define, dwarfout_undef): Make static.
9690         (dwarfout_start_source_file_check,
9691         dwarfout_end_source_file_check): New.
9692         (dwarfout_define, dwarfout_finish): Update.
9693         * dwarfout.h (dwarfout_start_new_source_file,
9694         dwarfout_resume_previous_source_file, dwarfout_define,
9695         dwarfout_undef): Remove.
9696         * sdbout.c (sdb_debug_hooks): Add new hooks.
9697         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
9698         make static.
9699         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
9700         make static, take an arg.
9701         * sdbout.h (sdbout_start_new_source_file,
9702         sdbout_resume_previous_source_file): Delete.
9703         * toplev.c (debug_start_source_file, debug_end_source_file,
9704         debug_define, debug_undef): Delete.
9705         * toplev.h (debug_start_source_file, debug_end_source_file,
9706         debug_define, debug_undef): Delete.
9707
9708         * java/jcf-parse.c: Include debug.h.
9709         (parse_class_file): Update to use debug hooks directly.
9710         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
9711
9712 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9713
9714         * alias.c (set_mem_alias_set): New function.
9715         * rtl.h (set_mem_alias_set): Declare it.
9716         * builtins.c (expand_builtin_return_addr): Call it instead of
9717         using MEM_ALIAS_SET accessor.
9718         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
9719         (get_memory_rtx, expand_builtin_va_arg): Likewise.
9720         (expand_builtin_va_copy):Likewise.
9721         * caller-save.c (setup_save_areas): Likewise.
9722         * calls.c (compute_argument_addresses): Likewise.
9723         * explow.c (set_mem_attributes): Likewise.
9724         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
9725         (expand_assignment, store_constructor_field, store_field): Likewise.
9726         (expand_expr_unaligned): Likewise.
9727         * function.c (assign_stack_temp_for_type): Likewise.
9728         (put_reg_into_stack, gen_mem_addressof): Likewise.
9729         * ifcvt.c (noce_try_cmove_arith): Likewise.
9730         * reload1.c (reload, alter_reg): Likewise.
9731         * config/alpha/alpha.c (get_aligned_mem): Likewise.
9732         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
9733         (alpha_expand_unaligned_store): Likewise
9734         (alpha_expand_unaligned_load_words): Likewise.
9735         (alpha_expand_unaligned_store_words): Likewise.
9736         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
9737         (alpha_expand_epilogue): Likewise.
9738         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
9739         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
9740         * config/i386/i386.c (legitimize_pic_address): Likewise.
9741         * config/i960/i960.c (setup_incoming_varargs): Likewise.
9742         * config/ia64/ia64.c (spill_restore_mem): Likewise.
9743         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
9744         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
9745         * config/mips/mips.c (mips_va_arg): Likewise.
9746         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
9747         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
9748         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
9749         (setup_incoming_varargs, rs6000_va_arg): Likewise.
9750         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
9751         (rs6000_emit_epilogue): Likewise.
9752         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
9753         * config/sparc/sparc.c (sparc_va_arg): Likewise.
9754         * config/v850/v850.c (v850_va_arg): Likewise.
9755
9756 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
9757
9758         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
9759         when fallthru edge is present.
9760         (mege_blocks): Handle case where creation of jump insn
9761         is required.
9762
9763         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
9764         CLEANUP_POST_REGSTACK): New constants.
9765         * except.c (finish_eh_generation): Update call of cleanup_cfg,
9766         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
9767         * output.h (cleanup_cfg): Update prototype.
9768         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
9769         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
9770         cleanup_cfg call; kill missleading comment.
9771         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
9772         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
9773         parameter; control optimizations performed using it.
9774         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
9775         try_crossjump_bb): New functions.
9776
9777 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9778
9779         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
9780         extern.
9781         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
9782         pa_output_function_prologue.
9783         * pa-protos.h (pa_output_function_prologue): New prototype.
9784
9785 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9786
9787         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
9788         and low to get correct sign extension in low+high test.
9789
9790 2001-07-11  Janis Johnson <janis@us.ibm.com>
9791
9792         * gcov.c (arcdata): Use gcov_type to fix branch percentage
9793         for large hit count.
9794
9795         * profile.c (branch_prob): Fix .bbg info for computed gotos
9796         and C++ EH code.
9797
9798 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
9799
9800         * stmt.c (parse_output_constraint): New function, split out
9801         from ...
9802         (expand_asm_operands): ... here.  Use parse_output_constraint.
9803         * tree.h (parse_output_constraint): Declare it.
9804
9805 2001-07-11  Richard Henderson  <rth@redhat.com>
9806
9807         * bitmap.c: Comment some functions; fiddle whitespace.
9808         (bitmap_free): Don't export.
9809         (bitmap_element_allocate): Use memset.
9810         * bitmap.h (bitmap_free): Don't declare.
9811
9812 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
9813
9814         * gcse.c, lcm.c, sched-deps.c:
9815         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
9816
9817         * flow.c (flow_loops_find): Free dom if we found no loops, since
9818         we aren't going to save it.
9819
9820         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
9821         done.
9822
9823 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
9824
9825         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
9826
9827 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9828
9829         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
9830         #ifndef DWARF2_DEBUGGING_INFO.
9831
9832 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
9833
9834         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
9835
9836 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
9837
9838         * config/mips/mips.c (gen_int_relational): Tell the caller not to
9839         reverse a branch if a NE comparison is implemented with GTU.
9840
9841 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
9842             H.J. Lu  <hjl@gnu.org>
9843
9844         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
9845         constant addresses.
9846         (call_internal2): Likewise.
9847         (call_value_internal1): Likewise.
9848         (call_value_internal2): Likewise.
9849         (call_value_multiple_internal1): Likewise.
9850         (call_value_multiple_internal2): Likewise.
9851
9852 2001-07-10  Kazu Hirata  <kazu@hxi.com>
9853
9854         * calls.c (emit_library_call_value_1): Fix a comment typo.
9855         * dwarf2out.c (mem_loc_descriptor): Likewise.
9856         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
9857
9858 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
9859
9860         * simplify-rtx.c (simplify_subreg): Fix typo in comment
9861
9862 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9863
9864         * recog.c (offsettable_address_p): Handle LO_SUM case.
9865         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
9866         instead of plus_constant.
9867
9868 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9869
9870         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
9871         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
9872
9873 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9874
9875         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
9876         adjust_address_nv instead of plus_constant.
9877
9878 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9879
9880         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
9881         dwarf2out.o): Depend on debug.h, wrap long lines.
9882         * dbxout.c: Include debug.h.
9883         (dbx_debug_hooks): New.
9884         (dbxout_init): Make static, take just 2 args.
9885         (dbxout_finish): Make static.
9886         * dbxout.h (dbxout_init, dbxout_finish): Delete.
9887         * debug.c: New file.
9888         * debug.h: New file.
9889         * dwarf2out.c: Include debug.h.
9890         (dwarf2_debug_hooks): New.
9891         (dwarf2out_init): Make static.
9892         (dwarf2out_finish): Make static, take 2 args.
9893         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
9894         * dwarfout.c: Include debug.h.
9895         (dwarf_debug_hooks): New.
9896         (dwarfout_init): Make static.
9897         (dwarfout_finish): Make static, take 2 args.
9898         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
9899         * sdbout.c: Include debug.h.
9900         (sdb_debug_hooks): New.
9901         (sdbout_init): Make static, take 2 args.
9902         * sdbout.h (sdbout_init): Delete.
9903         * toplev.c: Include debug.h.
9904         (debug_hooks): New.
9905         (compile_file): Set deubg_hooks based on command line options.
9906         Use the hooks unconditionally rather than conditional compilation.
9907
9908 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
9909
9910         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
9911         first_insn_after_basic_block_note instead.
9912
9913         * df.c (df_bb_refs_unlink): #if 0 out for now.
9914
9915 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
9916
9917         * ssa.h: Add prototype for ssa_const_prop
9918         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
9919         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
9920         (ssa_fast_dce): Remove unused variable
9921
9922 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
9923
9924         * diagnostic.c (finish_diagnostic): Rename to
9925         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
9926         calls thourghout.
9927
9928 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
9929
9930         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
9931         .loc support.
9932
9933         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
9934         (dump_file): Only pad the demangled name with spaces if the
9935         mangled name was padded with spaces.
9936
9937 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
9938
9939         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
9940         edge detection.
9941
9942 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9943
9944         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
9945         extraction if no direct load if either EXPAND_CONST_ADDRESS or
9946         EXPAND_INITIALIZER.
9947
9948         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
9949         whether can put offset inside LO_SUM to check mode alignment, not size.
9950
9951 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
9952
9953         * doc/tm.texi (Misc): Fix thinko.
9954
9955 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
9956
9957         * regmove.c (replace_in_call_usage): Fix warnings.
9958         * sched-deps.c (add_dependence): Fix warnings.
9959         * simplify-rtx.c (simplify_subreg): Likewise.
9960         Return NULL_RTX instead of NULL.
9961
9962         * reg-stack.c (emit_swap_insn): Eliminate warnings.
9963         (subst_asm_stack_regs): Likewise.
9964
9965         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
9966         warnings.
9967
9968         * dwarf2out.c (output_call_frame_info): Declare i as int.
9969         (build_abbrev_table): Declare n_alloc as int.
9970         (dwarf2out_finish): Initialize die.
9971         * except.c: Declare sjlj_funcdef_number as unsigned.
9972         (connect_post_landing_pads): Declare j as unsigned.
9973         (convert_to_eh_region_ranges): Initialize call_site.
9974         (output_function_exception_table): Initialize tt_format_size.
9975         * expr.c (move_by_pieces_1): Initialize to1.
9976         (store_constructor): Initialize minelt and maxelt.
9977         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
9978         * function.c (instantiate_decls): Avoid signed/unsigned warning.
9979
9980         * c-decl.c (combine_parm_decls): Unused, remove.
9981         * c-tree.h: Remove prototype for combine_parm_decls.
9982
9983         * reload.c (push_reload): Fix warning.
9984         (regno_clobbered_p): Likewise.
9985         * reload1.c (replace_pseudos_in_call_usage): Likewise.
9986         (reload_combine): Likewise.
9987
9988         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
9989         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
9990         warnings.
9991         * bitmap.c (bitmap_operation): Change user.
9992         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
9993
9994 2001-07-10  Eric Christopher  <echristo@redhat.com>
9995
9996         * config/mips/mips.c (override_options): Fix typo.
9997
9998 2001-07-09  Stan Shebs  <shebs@apple.com>
9999
10000         * target.h (struct gcc_target): New fields init_builtins and
10001         expand_builtin.
10002         * target-def.h (TARGET_INIT_BUILTINS): New macro.
10003         (TARGET_EXPAND_BUILTIN): New macro.
10004         (TARGET_INITIALIZER): Add them.
10005         * builtins.c: Include target.h.
10006         (expand_builtin): Use targetm.expand_builtin.
10007         (default_init_builtins): New function.
10008         (default_expand_builtin): New function.
10009         * expr.h (default_init_builtins): Declare.
10010         (default_expand_builtin): Declare.
10011         * c-common.c (c_common_nodes_and_builtins): Use
10012         targetm.init_builtins.
10013         * defaults.h (MD_INIT_BUILTINS): Remove.
10014         * Makefile.in (builtins.o): Depend on target.h.
10015
10016         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
10017         (TARGET_EXPAND_BUILTIN): Define.
10018         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
10019         (MD_EXPAND_BUILTIN): Remove.
10020
10021         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
10022         (TARGET_EXPAND_BUILTIN): Define.
10023         (c4x_init_builtins): Make endlink arg a local.
10024         (c4x_print_operand): Fix typos in adjust_address usages.
10025         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
10026         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
10027         (MD_EXPAND_BUILTIN): Remove.
10028
10029         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
10030         (TARGET_EXPAND_BUILTIN): Define.
10031         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
10032         (ix86_init_builtins): Call new function only if TARGET_MMX.
10033         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
10034         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
10035         (MD_EXPAND_BUILTIN): Remove.
10036
10037         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
10038         (TARGET_EXPAND_BUILTIN): Define.
10039         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
10040         (MD_EXPAND_BUILTIN): Remove.
10041
10042         * doc/tm.texi: Document these changes.
10043
10044 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
10045
10046         * basic-block.h (tree_node): Forward declare if needed.
10047         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
10048         (BLOCK_HEAD_TREE): Define.
10049         (BLOCK_END_TREE): Define.
10050         (struct loops): Rename field 'tree' to 'tree_root'.
10051         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
10052         'end_tree'.
10053         (flow_loops_tree_build): Rename reference to field 'tree' to
10054         'tree_root'.
10055         (flow_loops_level_compute): Ditto.
10056         * predict.c (estimate_bb_frequencies): Ditto.
10057         * tree.h (struct tree_common): Add field 'aux'.
10058
10059 2001-07-09  Stan Shebs  <shebs@apple.com>
10060
10061         * config/darwin.c (darwin_encode_section_info): Don't mark any
10062         DECL_EXTERNAL node as defined.
10063
10064 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10065
10066         * pa.c (pa_init_machine_status, pa_mark_machine_status,
10067         pa_free_machine_status, hppa_init_pic_save): Delete.
10068         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
10069         (hppa_profile_hook): Use hppa_pic_save_rtx.
10070         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
10071         hppa_init_pic_save): Delete.
10072         (hppa_pic_save_rtx): Declare.
10073         * pa.md (call, call_value, sibcall, sibcall_value,
10074         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
10075
10076 2001-07-09  Kazu Hirata  <kazu@hxi.com>
10077
10078         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
10079         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
10080
10081 2001-07-09  Andreas Jaeger  <aj@suse.de>
10082
10083         * output.h: Add declaration of final_forward_branch_p.
10084
10085         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
10086
10087         * varray.c: Include errors.h for internal_error and trim_filename
10088         declarations.
10089
10090         * Makefile.in (varray.o): Add errors.h.
10091
10092 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
10093
10094         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
10095         * optabs.c (have_add2_insn): Check whether the add insn chosen
10096         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
10097         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
10098
10099 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
10100
10101         * Makefile.in (OBJS): Add ssa-ccp.o
10102         (ssa-ccp.o): Add dependencies.
10103         * toplev.c (DFI_ssa_ccp): New dump file enum.
10104         (dump_file): Add entry for dumping after SSA CCP.
10105         (flag_ssa_ccp): New flag variable.
10106         (f_options): Add -fssa-ccp.
10107         (rest_of_compilation): Run SSA CCP if requested.
10108         * timevar.def (TV_SSA_CCP): New timevar.
10109         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
10110         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
10111         Fix minor typo in SSA DCE documentation.
10112         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
10113         Add documentation for new dump option.  Renumber dump files
10114         appropriately.
10115
10116 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10117
10118         * emit-rtl.c (gen_highpart_mode): New.
10119         * rtl.h (gen_highpart_mode): Declare.
10120         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
10121         operand can be VOIDmode constant.
10122
10123 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
10124
10125         * flow.c (redirect_edge_and_branch_force): New.
10126         (can_fallthru): Ensure that basic blocks are succeeding.
10127         (try_optimize_cfg): Do not delete basic block if it is the last one.
10128
10129         * flow.c (try_redirect_by_replacing_jump): Do not remove
10130         jumps with side effects, unlink chain on fallthru edge;
10131         set block for new jump instruction; avoid basic block to
10132         over by line number note.
10133
10134         * flow.c (try_simplify_condjump): Verify that the condjump
10135         is not always falling trought.
10136
10137         Re-install patch:
10138         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
10139
10140         * flow.c (forwarder_block_p): Fix for fallthru blocks.
10141         (try_redirect_by_replacing_jump): Update properly the count
10142         and frequency information.
10143
10144 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10145
10146         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
10147         address that is a LO_SUM specially.
10148         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
10149
10150         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
10151
10152         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
10153         (operand_subword): Use them.
10154         (change_address_1): Renamed from change_address; new arg VALIDATE.
10155         * expr.h: Reflect above changes; change_address now macro.
10156         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
10157         making MEM.
10158         * cselib.c (add_mem_for_addr): Likewise.
10159         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
10160         * regmove.c (try_apply_stack_adjustment): Likewise.
10161         * reload.c (push_reload, make_memloc): Likewise.
10162         * reload1.c (eliminate_regs): Likewise.
10163         * simplify-rtx.c (simplify_replace_rtx): Likewise.
10164         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
10165         adjust_addess.
10166         * combine.c (make_extraction, simplify_shift_const): Likewise.
10167         (gen_lowpart_for_combine): Likewise.
10168         * cse.c (gen_lowpart_if_possible): Likewise.
10169         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
10170         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
10171         * optabs.c (gen_move_insn): Likewise.
10172         * reload1.c (alter_reg): Likewise.
10173         * simplify-rtx.c (simplify_subreg): Likewise.
10174         * stmt.c (expand_anon_union_decl): Likewise.
10175         * recog.c (validate_replace_rtx_1): Likewise.
10176         (expr.h): Include.
10177         * Makefile.in (recog.o): Add $(EXPR_H).
10178         * explow.c (stabilize): Call replace_equiv_address.
10179         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
10180         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
10181
10182 2001-07-03  Andrew Haley  <aph@redhat.com>
10183
10184         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
10185         the mode of the memory location.
10186
10187 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
10188
10189         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
10190
10191 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10192
10193         * final.c (output_addr_const): Use target opening and
10194         closing parentheses.
10195         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
10196         defaults, add to TARGET_ASM_OUT.
10197         * target.h (struct gcc_target): Add open_paren and close_paren.
10198         * doc/md.texi: Update.
10199         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
10200         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
10201         TARGET_ASM_CLOSE_PAREN.
10202         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
10203         Override.
10204         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
10205         Override.
10206         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
10207         * config/a29k/a29k.h: Similarly.
10208         * config/alpha/alpha.h: Similarly.
10209         * config/arc/arc.h: Similarly.
10210         * config/arm/aof.h: Similarly.
10211         * config/arm/aout.h: Similarly.
10212         * config/avr/avr.h: Similarly.
10213         * config/c4x/c4x.h: Similarly.
10214         * config/clipper/clipper.h: Similarly.
10215         * config/convex/convex.h: Similarly.
10216         * config/d30v/d30v.h: Similarly.
10217         * config/dsp16xx/dsp16xx.h: Similarly.
10218         * config/elxsi/elxsi.h: Similarly.
10219         * config/fr30/fr30.h: Similarly.
10220         * config/h8300/h8300.h: Similarly.
10221         * config/i370/i370.h: Similarly.
10222         * config/i386/i386.h: Similarly.
10223         * config/i860/i860.h: Similarly.
10224         * config/i960/i960.h: Similarly.
10225         * config/ia64/ia64.h: Similarly.
10226         * config/m32r/m32r.h: Similarly.
10227         * config/m68hc11/m68hc11.h: Similarly.
10228         * config/m68k/m68k.h: Similarly.
10229         * config/m88k/m88k.h: Similarly.
10230         * config/mcore/mcore.h: Similarly.
10231         * config/mips/mips.h: Similarly.
10232         * config/mn10200/mn10200.h: Similarly.
10233         * config/mn10300/mn10300.h: Similarly.
10234         * config/ns32k/ns32k.h: Similarly.
10235         * config/pa/pa.h: Similarly.
10236         * config/pdp11/pdp11.h: Similarly.
10237         * config/pj/pj.h: Similarly.
10238         * config/romp/romp.h: Similarly.
10239         * config/rs6000/rs6000.h: Similarly.
10240         * config/sh/sh.h: Similarly.
10241         * config/sparc/sparc.h: Similarly.
10242         * config/v850/v850.h: Similarly.
10243         * config/vax/vax.h: Similarly.
10244         * config/we32k/we32k.h: Similarly.
10245
10246 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
10247
10248         * doc/c-tree.texi: Document representation of attributes.
10249
10250 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
10251
10252         * doc/tm.texi: Update some places for the rename of target to
10253         targetm.  Fix typo.
10254
10255 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
10256
10257         * target.h (struct gcc_target): Add insert_attributes.
10258         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
10259         (TARGET_INITIALIZER): Update.
10260         * tree.c, tree.h (default_insert_attributes): New function.
10261         Update comments on other default functions to refer to targetm,
10262         not target.
10263         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
10264         TARGET_INSERT_ATTRIBUTES.
10265         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
10266         * c-common.c (decl_attributes): Use targetm.insert_attributes.
10267         Don't use PRAGMA_INSERT_ATTRIBUTES.
10268         * Makefile.in (c-common.o): Depend on $(TARGET_H).
10269         * c-decl.c (start_decl, start_function): Don't call
10270         SET_DEFAULT_DECL_ATTRIBUTES.
10271         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
10272         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
10273         declare.
10274         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
10275         (c4x_check_attribute): Avoid modifying attribute list itself.
10276         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
10277         Make static.
10278         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
10279         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
10280         declare.
10281         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
10282         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
10283         Make static.
10284         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
10285         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
10286         declare.
10287         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
10288         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
10289         Adjust parameters.  Make static.
10290
10291 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
10292
10293         * c-common.c (decl_attributes): Only take a single attributes
10294         parameter.
10295         * c-common.h (decl_attributes): Update prototype.
10296         * c-decl.c (start_decl, start_function): Only take a single
10297         attributes parameter.  Update calls to decl_attributes.
10298         (finish_struct, finish_enum): Update calls to decl_attributes.
10299         (push_parm_decl): Expect unified list of attributes.  Update call
10300         to decl_attributes.
10301         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
10302         notype_nested_function, component_declarator,
10303         component_notype_declarator, label): Update calls to
10304         decl_attributes.
10305         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
10306         lists that are passed to push_parm_decl.
10307         * c-tree.h (start_function, start_decl): Update prototypes.
10308         * config/sh/sh-protos.h, config/sh/sh.c
10309         (sh_pragma_insert_attributes): Only take a single attributes
10310         parameter.
10311         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
10312         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
10313         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
10314         build_module_descriptor, generate_static_references,
10315         generate_strings, build_selector_translation_table,
10316         generate_descriptor_table, generate_protocols,
10317         generate_ivars_list, generate_dispatch_table,
10318         generate_protocol_list, generate_category,
10319         generate_shared_structures, really_start_method, add_objc_decls,
10320         generate_classref_translation_entry): Update calls to start_decl
10321         and start_function.
10322         (build_tmp_function_decl, start_method_def): Unify attribute lists
10323         that are passed to push_parm_decl.
10324
10325 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
10326
10327         * final.c (no_asm_to_stream): New.
10328         (final_scan_insn): Use target structures for prologue ends
10329         and epilogue starts.
10330         * output.h (no_asm_to_stream): New.
10331         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
10332         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
10333         (TARGET_ASM_OUT): Update.
10334         * target.h (struct gcc_target): New members function_end_prologue
10335         and function_begin_epilogue.
10336         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
10337         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
10338         * config/alpha/alpha.c (output_end_prologue): Rename to
10339         alpha_output_function_end_prologue.  Use in target struct
10340         and make static.
10341         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
10342         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
10343         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
10344         ia64_output_function_end_prologue.  Use in target struct
10345         and make static.
10346         (ia64_function_prologue, ia64_funciton_epilogue): Rename
10347         mistyped prototypes.
10348         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
10349         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
10350         Delete.
10351         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
10352         an use in target struct, make static.
10353         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
10354         Delete.
10355
10356 2001-07-08  Richard Henderson  <rth@redhat.com>
10357
10358         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
10359
10360 2001-07-08  Richard Henderson  <rth@redhat.com>
10361
10362         * config/i386/i386.md: Remove constraints strings from define_split
10363         and define_peephole2 patterns.
10364         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
10365         (eh_return): Use them.
10366
10367 2001-07-08  Richard Henderson  <rth@redhat.com>
10368
10369         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
10370         Document MD_FALLBACK_FRAME_STATE_FOR.
10371
10372 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10373
10374         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
10375         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
10376         elimination.
10377         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
10378
10379 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
10380
10381         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
10382         of the label inside NAME as opposed to just the end of NAME.
10383
10384 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10385
10386         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
10387         * config/alpha/alpha.c (alpha_init_machine_status,
10388         alpha_mark_machine_status, alpha_free_machine_status): Delete.
10389         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
10390         (vms_valid_decl_attribute_p): Make static, conditionally compile.
10391         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
10392
10393 2001-07-06  Stan Shebs  <shebs@apple.com>
10394
10395         * target.h (targetm): Rename global from "target", so as not to
10396         conflict with local variables.
10397         * c-decl.c: Ditto.
10398         * c-typeck.c: Ditto.
10399         * final.c: Ditto.
10400         * tree.c: Ditto.
10401         * cp/decl.c: Ditto.
10402         * cp/decl2.c: Ditto.
10403         * cp/typeck.c: Ditto.
10404         * 1750a/1750a.c: Ditto.
10405         * a29k/a29k.c: Ditto.
10406         * arc/arc.c: Ditto.
10407         * arm/arm.c: Ditto.
10408         * avr/avr.c: Ditto.
10409         * clipper/clipper.c: Ditto.
10410         * convex/convex.c: Ditto.
10411         * d30v/d30v.c: Ditto.
10412         * dsp16xx/dsp16xx.c: Ditto.
10413         * elxsi/elxsi.c: Ditto.
10414         * fr30/fr30.c: Ditto.
10415         * h8300/h8300.c: Ditto.
10416         * i370/i370.c: Ditto.
10417         * i386/i386.c: Ditto.
10418         * i860/i860.c: Ditto.
10419         * i960/i960.c: Ditto.
10420         * ia64/ia64.c: Ditto.
10421         * m32r/m32r.c: Ditto.
10422         * m68hc11/m68hc11.c: Ditto.
10423         * m68k/m68k.c: Ditto.
10424         * m88k/m88k.c: Ditto.
10425         * mips/mips.c: Ditto.
10426         * ns32k/ns32k.c: Ditto.
10427         * pa/pa.c: Ditto.
10428         * pdp11/pdp11.c: Ditto.
10429         * romp/romp.c: Ditto.
10430         * rs6000/rs6000.c: Ditto.
10431         * sh/sh.c: Ditto.
10432         * sparc/sparc.c: Ditto.
10433         * vax/vax.c: Ditto.
10434         * we32k/we32k.c: Ditto.
10435         * doc/tm.texi: Update the manual to match.
10436
10437 2001-07-06  Richard Henderson  <rth@redhat.com>
10438
10439         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
10440         DWARF2_UNWIND_INFO not just whether it is defined.
10441
10442 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
10443
10444         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
10445         call to simplify_binary_operation returns a new pattern.
10446
10447 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10448
10449         * glimits.h (__SHRT_MAX__): New.
10450         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
10451         (SHRT_MAX): Define in terms of __SHRT_MAX__.
10452
10453 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
10454
10455         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
10456         avoid warnings.
10457
10458 2001-07-06  Richard Henderson  <rth@redhat.com>
10459
10460         * bitmap.c (bitmap_release_memory): Move adjacent to the
10461         allocation functions.
10462         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
10463         the implementation.  Binary search for the set bit.
10464         (bitmap_union_of_diff): Allocate the temporary on the stack
10465         instead of using xmalloc.
10466
10467 2001-07-06  Richard Henderson  <rth@redhat.com>
10468
10469         * genrecog.c (validate_pattern): Warn for constraints in
10470         define_{expand,split,peephole2}.  Remove strict_low_part
10471         before looking up match_dup.
10472
10473 2001-07-06  DJ Delorie  <dj@redhat.com>
10474
10475         * doc/gcc.texi (Makefile): Rename to be a more general purpose
10476         chapter about various build hints and history.  Add section
10477         talking about the various types of native and cross builds.
10478
10479 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10480
10481         * Makefile.in (final.o): Depend on target.h.
10482         * final.c: Include target.h.
10483         (default_function_pro_epilogue): New.
10484         (final_start_function): Use target structure for function prologues.
10485         (final_end_function): Use target structure for function epilogues.
10486         * fold-const.c (real_hex_to_f): Constify s and p.
10487         * output.h (default_function_pro_epilogue): New.
10488         * real.h (real_hex_to_f): Update prototype.
10489         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
10490         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
10491         (TARGET_INITIALIZER): Update.
10492         * target.h (gcc_target): Add struct asm_out.
10493         * doc/tm.texi: Update.
10494
10495 config:
10496         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
10497         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
10498         in cpu/cpu.c, or rename old functions consistently.  Take
10499         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
10500         redundant macros and prototypes.  Make new functions static.
10501
10502         * 1750a/1750a.c: Similarly.
10503         * 1750a/1750a.h: Similarly.
10504         * a29k/a29k-protos.h: Similarly.
10505         * a29k/a29k.c: Similarly.
10506         * a29k/a29k.h: Similarly.
10507         * arc/arc-protos.h: Similarly.
10508         * arc/arc.c: Similarly.
10509         * arc/arc.h: Similarly.
10510         * arm/arm-protos.h: Similarly.
10511         * arm/arm.c: Similarly.
10512         * arm/arm.h: Similarly.
10513         * avr/avr-protos.h: Similarly.
10514         * avr/avr.c: Similarly.
10515         * avr/avr.h: Similarly.
10516         * clipper/clipper-protos.h: Similarly.
10517         * clipper/clipper.c: Similarly.
10518         * clipper/clipper.h: Similarly.
10519         * convex/convex.c: Similarly.
10520         * convex/convex.h: Similarly.
10521         * d30v/d30v-protos.h: Similarly.
10522         * d30v/d30v.c: Similarly.
10523         * d30v/d30v.h: Similarly.
10524         * d30v/d30v.md: Similarly.
10525         * dsp16xx/dsp16xx-protos.h: Similarly.
10526         * dsp16xx/dsp16xx.c: Similarly.
10527         * dsp16xx/dsp16xx.h: Similarly.
10528         * elxsi/elxsi.c: Similarly.
10529         * elxsi/elxsi.h: Similarly.
10530         * fr30/fr30.c: Similarly.
10531         * fr30/fr30.md: Similarly.
10532         * h8300/h8300-protos.h: Similarly.
10533         * h8300/h8300.c: Similarly.
10534         * h8300/h8300.h: Similarly.
10535         * i370/i370-protos.h: Similarly.
10536         * i370/i370.c: Similarly.
10537         * i370/i370.h: Similarly.
10538         * i386/i386.c: Similarly.
10539         * i386/osf1elf.h: Similarly.
10540         * i386/osfrose.h: Similarly.
10541         * i860/i860-protos.h: Similarly.
10542         * i860/i860.c: Similarly.
10543         * i860/i860.h: Similarly.
10544         * i960/i960-protos.h: Similarly.
10545         * i960/i960.c: Similarly.
10546         * i960/i960.h: Similarly.
10547         * ia64/ia64-protos.h: Similarly.
10548         * ia64/ia64.c: Similarly.
10549         * ia64/ia64.h: Similarly.
10550         * m32r/m32r-protos.h: Similarly.
10551         * m32r/m32r.c: Similarly.
10552         * m32r/m32r.h: Similarly.
10553         * m68hc11/m68hc11-protos.h: Similarly.
10554         * m68hc11/m68hc11.c: Similarly.
10555         * m68hc11/m68hc11.h: Similarly.
10556         * m68k/crds.h: Similarly.
10557         * m68k/dpx2.h: Similarly.
10558         * m68k/m68k-protos.h: Similarly.
10559         * m68k/m68k.c: Similarly.
10560         * m68k/m68k.h: Similarly.
10561         * m68k/news.h: Similarly.
10562         * m88k/m88k-protos.h: Similarly.
10563         * m88k/m88k.c: Similarly.
10564         * m88k/m88k.h: Similarly.
10565         * mips/mips-protos.h: Similarly.
10566         * mips/mips.c: Similarly.
10567         * mips/mips.h: Similarly.
10568         * ns32k/merlin.h: Similarly.
10569         * ns32k/ns32k.c: Similarly.
10570         * ns32k/ns32k.h: Similarly.
10571         * ns32k/tek6000.h: Similarly.
10572         * pa/pa-protos.h: Similarly.
10573         * pa/pa.c: Similarly.
10574         * pa/pa.h: Similarly.
10575         * pdp11/2bsd.h: Similarly.
10576         * pdp11/pdp11-protos.h: Similarly.
10577         * pdp11/pdp11.c: Similarly.
10578         * pdp11/pdp11.h: Similarly.
10579         * romp/romp-protos.h: Similarly.
10580         * romp/romp.c: Similarly.
10581         * romp/romp.h: Similarly.
10582         * rs6000/rs6000-protos.h: Similarly.
10583         * rs6000/rs6000.c: Similarly.
10584         * rs6000/rs6000.h: Similarly.
10585         * rs6000/sysv4.h: Similarly.
10586         * sh/sh-protos.h: Similarly.
10587         * sh/sh.c: Similarly.
10588         * sh/sh.h: Similarly.
10589         * sparc/sparc-protos.h: Similarly.
10590         * sparc/sparc.c: Similarly.
10591         * sparc/sparc.h: Similarly.
10592         * vax/vax.c: Similarly.
10593         * vax/vax.h: Similarly.
10594         * vax/vms.h: Similarly.
10595         * we32k/we32k.c: Similarly.
10596         * we32k/we32k.h: Similarly.
10597
10598 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
10599
10600         * basic-block.h (first_insn_after_basic_block_note): Declare.
10601         * flow.c (first_insn_after_basic_block_note): Define.  Moved
10602         from...
10603         * ssa.c (first_insn_after_basic_block_note): Remove.
10604         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
10605         necessary.
10606         (ssa_eliminate_dead_code): Properly update the CFG and PHI
10607         nodes when we find a dead conditional branch.  Insert BARRIERs
10608         after any blocks with no successors, but which do not have
10609         any BARRIERs.
10610
10611 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
10612
10613         * varray.c (varray_check_failed): Use internal_error.
10614
10615 2001-07-05  Andrew Haley  <aph@redhat.com>
10616
10617         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
10618         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
10619         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
10620
10621 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
10622
10623         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
10624         reference if the target constant is also a SYMBOL_REF.
10625
10626 2001-07-05  Eric Christopher  <echristo@redhat.com>
10627
10628         * config/mips/mips.h (MASK_MIPS3900): Remove.
10629         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
10630         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
10631         (TARGET_MIPS3900): Change to use mips_arch.
10632         (TARGET_MIPS4000): New.
10633         (TARGET_MIPS4100): New.
10634         (TARGET_MIPS4300): New.
10635         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
10636         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
10637         for -mipsX.
10638         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
10639         (ISA_HAS_BRANCHLIKELY): To here.
10640         (CC1_CPU_SPEC):  New.
10641         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
10642         (mips_arch_string): Declare.
10643         (mips_arch): Declare.
10644         (TARGET_OPTIONS): Add -march and -mtune.
10645
10646         * config/mips/mips.c (mips_arch_string): New.
10647         (mips_arch): New.
10648         (override_options): Handle -march for codegen and -mtune
10649         for scheduling. Use mips_arch. Move tx39 target default here.
10650         (mips_parse_cpu): Move error message to override_options.
10651
10652         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
10653
10654         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
10655
10656         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
10657         (MIPS Options): Ditto.  Change mcpu entry to historical text.
10658
10659 2001-07-05  H.J. Lu  (hjl@gnu.org)
10660
10661         * config/mips/mips.c (mips_parse_cpu): New function to parse
10662         -march=*/-mcpu=*.
10663
10664 2001-07-05  Jim Wilson  <wilson@redhat.com>
10665
10666         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
10667         * config/ia64/t-ia64: Likewise.
10668         (LIB1ASMFUNCS): Update comment.
10669
10670 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
10671
10672         * doc/install.texi (Install GCC: Binaries): Fix typo.
10673
10674 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10675
10676         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
10677         reference using the stack pointer, adjust it since we push Y
10678         temporarily.
10679         ("*ashrsi3"): Likewise.
10680         ("*lshrsi3"): Likewise.
10681
10682 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10683
10684         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
10685         when -fomit-frame-pointer is used.
10686
10687 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
10688
10689         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
10690         (try_redirect_by_replacing_jump): Reverse updating properly the
10691         count and frequency information.  Reverse removing cc0 setter.
10692         (forwarder_block_p): Reverse fixing for fallthru blocks.
10693
10694 2001-07-05  DJ Delorie  <dj@redhat.com>
10695
10696         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
10697         (translate_options): If the above is defined, use it to map
10698         given options to new options.
10699         * doc/tm.texi: Document it.
10700
10701 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
10702             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10703
10704         * doc/invoke.texi (Optimize Options): Document that -fgcse may
10705         cause programs using computed gotos to run more slowly.
10706
10707 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10708
10709         * doc/install.texi (Specific): Markup, spelling and typo fixes.
10710         Fixed sorting.
10711         Consistently require binutils 2.11.2, not prereleases.
10712         (Specific, decstation-*): Canonicalize as mips-dec-*.
10713         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
10714         always necessary.
10715         (Specific, m68k-altos): Removed reference to README.altos, deleted.
10716         (Specific, mips-*): Reword MIPS C compiler requirements.
10717         (Specific, powerpc*-*-*): New, mention --with-cpu once.
10718         (Specific, sunv5): Removed, obsolete.
10719
10720 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
10721
10722         * dwarf2out.c (output_loc_list): Use an all ones mask for
10723         .text asm output and don't rely on long long
10724         literals. Reformat some long lines.
10725
10726 2001-07-05  Andreas Jaeger  <aj@suse.de>
10727
10728         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
10729         section.
10730
10731 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
10732
10733         * dwarf2out.c (dwarf2out_define): Update comment.
10734         (dwarf2out_undef): Ditto.
10735         (dwarf2out_start_source_file): Ditto.
10736         (dwarf2out_end_source_file): Ditto.
10737         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
10738         since we never call the start/end debug hook for the primary file.
10739
10740 2001-07-04  Kazu Hirata  <kazu@hxi.com>
10741
10742         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
10743         from shll.
10744
10745 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
10746
10747         * cppinit.c (remove_dup_dirs): Inform if a system include
10748         directory is being reordered.
10749         * doc/invoke.texi (Directory Options): GCC warns if you hide a
10750         system include.
10751         * doc/cpp.texi (Search Paths): Likewise.
10752         * doc/gcc.texi (Interoperation): Remove information about
10753         -I/usr/include.
10754
10755 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
10756
10757         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
10758         (VARRAY_TOP_CHAR_PTR): Likewise.
10759
10760 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10761
10762         * gcc.c (process_command): Don't assign elements of a const char*.
10763
10764 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10765
10766         * emit-rtl.c (change_address): Don't abort if invalid address while
10767         reload is in progress.
10768
10769 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
10770
10771         * c-lex.c (cb_file_change): Pass line number to
10772         debug_start_source_file.
10773         (cb_undefine): Pass correct line number to debug_undef.
10774
10775         * toplev.c (debug_start_source_file): Add line number to
10776         parameters. Pass it along to dwarf2out_start_source_file.
10777         (decode_g_option): Stop resetting debug level back to normal when
10778         we change debug formats, unless the current level is
10779         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
10780         3).
10781
10782         * toplev.h (debug_start_source_file): Add line number to
10783         parameters.
10784
10785         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
10786         parameters.
10787
10788         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
10789         parameters.
10790         Output debug_macinfo data for starting file if requested.
10791         (dwarf2out_end_source_file): Output debug_macinfo data for ending
10792         file if requested.
10793         (dwarf2out_define): Output debug_macinfo data for defining a macro
10794         if requested.
10795         (dwarf2out_undef): Output debug_macinfo data for undefining a
10796         macro if requested.
10797         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
10798         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
10799         (macinfo_section_label): New. DWARF2 macro info section label.
10800         (dwarf2out_init): If we want macro info, output the start label
10801         for the section.
10802         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
10803         attribute to the compilation unit die pointing to the macro info.
10804
10805 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
10806
10807         * dwarf2out.c (new_loc_list): Move to inside #ifdef
10808         DWARF2_DEBUGGING_INFO.
10809         (add_loc_descr_to_loc_list): Ditto.
10810         (output_loc_list): Ditto.
10811         Also, fix thinko in curr not being initialized.
10812         (gen_internal_sym): Ditto.
10813
10814 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10815
10816         * emit-rtl.c (replace_equiv_address): New function.
10817         * expr.h (replace_equiv_address): New declaration.
10818         * explow.c (validize_mem): Call it instead of change_address and
10819         also call if -fforce-addr and address is constant.
10820         * expr.c: Replace more calls to change_address with adjust_address
10821         and/or replace_equiv_address or to validize_mem.
10822         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
10823         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
10824         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
10825         * config/i370/i370.md, config/i860/i860.md: Likewise.
10826         * config/i960/i960.md, config/mips/mips.c: Likewise.
10827         * config/mips/mips.md, config/pa/pa.md: Likewise.
10828         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
10829         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
10830
10831 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10832
10833         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
10834
10835         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
10836         function.
10837
10838 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10839
10840         * doc/include: New directory.
10841         * doc/fdl.texi: Move to doc/include/fdl.texi.
10842         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
10843         * doc/include/funding.texi, doc/include/gpl.texi: New files.
10844         * doc/gcc.texi: Use funding.texi and gpl.texi.
10845         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
10846         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
10847         Update dependencies and use -I $(docdir)/include.
10848
10849 2001-07-04  Anthony Green  <green@redhat.com>
10850
10851         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
10852
10853 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10854
10855         * doc/install.texi (sparc64-*-*): Remove garbage.
10856
10857 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
10858
10859         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
10860         Fix typo in last change to use adjust_address.
10861
10862 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10863
10864         * doc/install.texi (Specific): Update information for *-*-solaris*.
10865
10866 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10867
10868         * explow.c (plus_constant_wide): Reinitialize Y for restart.
10869
10870 2001-07-03  Stan Shebs  <shebs@apple.com>
10871
10872         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
10873         case for flag_no_mach_text_sections.
10874         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
10875         * config/darwin.c (flag_no_mach_text_sections): Remove.
10876         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
10877
10878 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10879
10880         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
10881         and avoid checking for constant as first operand.
10882         * recog.c (find_constant_term_loc): No longer static.
10883         (adj_offettable_operand): Delete.
10884         * rtl.h (adj_offsettable_operand): Delete declaration.
10885         (find_constant_term): Add declaration.
10886         * caller-save.c: Replace calls to adj_offsettable_operand with calls
10887         to adjust_address.
10888         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
10889         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
10890         * config/i386/i386.c, config/i386/i386.md: Likewise.
10891         * config/i860/i860.c, config/i960/i960.c: Likewise.
10892         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
10893         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
10894         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
10895         * config/mips/mips.c, config/mips/mips.md: Likewise.
10896         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
10897         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
10898         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
10899         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
10900         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
10901         * config/ns32k/ns32k.md: Likewise.
10902
10903 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
10904
10905         * rtl.c (copy_rtx): Handle 'T' format letter.
10906         * gensupport.c (collect_insn_data): Likewise.
10907         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
10908
10909 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
10910
10911         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
10912         -B option.  Use 'dir' not 'foo' as example directory name.
10913
10914 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10915
10916         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10917         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
10918
10919 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
10920
10921         * doc/cppinternals.texi: Improve formatting and logical markup.
10922
10923 2001-07-03  Andreas Jaeger  <aj@suse.de>
10924
10925         * Makefile.in (insn-recog.o): Add dependency on reload.h.
10926
10927         * genrecog.c (write_header): Include reload.h for prototypes in
10928         insn-recog.c.
10929
10930 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
10931
10932 config:
10933         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
10934         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
10935         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
10936         i386_pe_valid_type_attribute_p): Add.
10937         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
10938         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
10939
10940 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10941
10942         * explow.c (plus_constant_wide, case LO_SUM): New case.
10943         (plus_constant_for_output_wide): Delete.
10944         * rtl.h (plus_constant_for_output): Delete.
10945         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
10946         instead of plus_constant_for_output.
10947         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
10948         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
10949         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
10950         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
10951         * config/sparc/sparc.md: Likewise.
10952         Convert some change_address calls to adjust_address.
10953
10954 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
10955
10956         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
10957         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
10958         documentation of -std and -Wwrite-strings.
10959
10960 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
10961
10962         * cse.c (canon_hash): Don't register registers in very small
10963         register classes, as extending their lifetime might cause
10964         reload to fail.
10965
10966 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10967
10968         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
10969
10970         * flow.c (forwarder_block_p): Fix for fallthru blocks.
10971         (try_redirect_by_replacing_jump): Update properly the count
10972         and frequency information.
10973
10974 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
10975
10976         * toplev.c (dump_file_index): Move SSA dumps just after first
10977         jump dump.
10978         (dump_file): Corresponding changes.
10979         (rest_of_compilation): Move SSA path to just after the first
10980         jump pass.
10981         * doc/gcc.texi (Passes): Update due to movement of SSA path.
10982         * doc/invoke.texi: Update dump file #s as they were completely
10983         out of date with reality.
10984
10985 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
10986
10987         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
10988
10989         * expr.c (emit_move_insn_1): Deal with non-default
10990         STACK_PUSH_CODE.
10991
10992         * expr.c (emit_single_push_insn): Fix warning.
10993
10994 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10995
10996         * expr.c (emit_move_insn_1): Avoid modifying
10997         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
10998
10999 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11000
11001         * emit-rtl.c (adjust_address): New function.
11002         * expr.h (adjust_address): Add declaration.
11003         * builtins.c: Replace some calls to change_address with calls to it
11004         or to validize_mem.
11005         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
11006         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
11007         * config/arm/arm.c, config/convex/convex.c: Likewise.
11008         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
11009         * config/i386/i386.c, config/i386/i386.md: Likewise.
11010         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
11011         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
11012         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
11013         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
11014         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
11015
11016 2001-07-02  Jim Wilson  <wilson@redhat.com>
11017
11018         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
11019
11020 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
11021
11022         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
11023         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
11024
11025 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
11026
11027         * cppinit.c (lang_defaults): New table.
11028         (set_lang): Just read from lang_defaults into the live options
11029         structure.
11030
11031 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
11032
11033         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
11034         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
11035         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
11036
11037 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11038
11039         * doc/install.texi: Various spelling and markup fixes.
11040         (Installing GCC): Component specific installation instructions are
11041         gone.
11042         Fix reference.
11043         Warn about removing old install dir in the presence of shared libs.
11044         (Configuration): Invoke with options target to match configure
11045         --help.
11046         Consistently refer to gas, gld pathnames.
11047         Invert --enable-multilib documentation.
11048         Remove references to old compiler versions.
11049
11050 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11051
11052         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
11053
11054 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11055
11056         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
11057         section.
11058         (Specific, mips*-sgi-irix5): Note IDO download.
11059         Reworded MIPS C hints.
11060         Use GNU as instead of GAS.
11061         Markup fixes.
11062         Removed SGI Freeware reference, IRIX 6 only.
11063         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
11064         Note N64 library requirement/workaround.
11065         Update O32 hints.
11066         Complete list of structure passing bug victims.
11067
11068 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11069
11070         * doc/install.texi: Remove CVS Id.
11071
11072 2001-07-02  Andreas Jaeger  <aj@suse.de>
11073
11074         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
11075         (find_inherently_necessary): Remove unused variable.
11076
11077 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
11078
11079         * c-common.h (TDI_inlined): New ast dump phase.
11080         (dump_flag_name): New function.
11081         * c-dump.c (dump_files): Add inlined phase.
11082         (dump_flag_name): Define.
11083         * doc/invoke.texi (-fdump-ast-inlined): Document.
11084
11085 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11086
11087         * stor-layout.c (layout_decl): Revert change to handling of alignment
11088         in packed types.
11089
11090 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11091
11092         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
11093         for FIELD_DECL.
11094
11095 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
11096
11097         * doc/tm.texi (FUNCTION_ARG): Document that the last call
11098         is special.
11099
11100 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
11101
11102         * tlink.c (recompile_files): Remove COMPILER_PATH and
11103         LIBRARY_PATH from the environment.
11104
11105 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
11106
11107         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
11108         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
11109         enumerators.
11110         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
11111
11112         * c-parse.in (OBJC_STRING): Kill.
11113         (objc_string): Decompose to [objc_string] '@' STRING.
11114         (reswords): Take the leading '@' off all the Objective C keywords.
11115         (objc_rid_sans_at): Kill.
11116         (init_reswords): Don't initialize it.
11117         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
11118         (_yylex): Kill reconsider label.  Look ahead one token after
11119         an '@'; if we get an identifier, check whether it's an
11120         Objective C @-keyword.  If so, return the keyword.  Otherwise,
11121         put back the token and return the '@' as a terminal.
11122
11123         * cpplib.c (lex_macro_node): Remove unnecessary check for
11124         leading '@' on identifier.  Clarify control flow and commentary.
11125
11126 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11127
11128         * cse.c (new_label_ref): Variable deleted.
11129         (insert): Remove set of new_label_ref.
11130         (check_for_label_ref): New function.
11131         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
11132
11133 See ChangeLog.5 for earlier changes.